anyframe-sample-service의 iajc 관련 개선 요청
현재 배포되는 anyframe-sample-service를 build 해보면
아래와 같은 경고가 나옵니다.
------------------------------------------------------------------------
compile:
[iajc] warning at public class DBAuthenticationService implements AuthenticationService,
[iajc] ^^^^^^^^^^^^^^^^^^^^^^
[iajc] C:\workspace\anyframe-sample-services\src\main\java\com\sds\emp\security\services\impl\DBAuthenticationService.java:26:0::0 "impl 패키지에 속한 모든 클래스의 이름은 Impl 또는 DAO로 끝나야 합니다."
[iajc] see also: C:\workspace\anyframe-sample-services\src\main\java\com\sds\emp\common\aspect\DevStandard.java:1::0
[iajc] warning at private static Log logger =
[iajc] ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[iajc] C:\workspace\anyframe-sample-services\src\main\java\com\sds\emp\security\services\impl\DBAuthenticationService.java:35:0::0 "impl 패키지에 속한 모든 클래스의 이름은 Impl 또는 DAO로 끝나야 합니다."
[iajc] see also: C:\workspace\anyframe-sample-services\src\main\java\com\sds\emp\common\aspect\DevStandard.java:1::0
[iajc] warning at LogFactory.getLog(DBAuthenticationService.class);
[iajc] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[iajc] C:\workspace\anyframe-sample-services\src\main\java\com\sds\emp\security\services\impl\DBAuthenticationService.java:36:0::0 "impl 패키지에 속한 모든 클래스의 이름은 Impl 또는 DAO로 끝나야 합니다."
[iajc] see also: C:\workspace\anyframe-sample-services\src\main\java\com\sds\emp\common\aspect\DevStandard.java:1::0
[iajc] warning at C:\workspace\anyframe-sample-services\src\main\java\com\sds\emp\common\aspect\LoggingAspect.java:17::0 advice defined in com.sds.emp.common.aspect.LoggingAspect has not been applied [Xlint:adviceDidNotMatch]
------------------------------------------------------------------------
빌드에 직접적인 영향을 주진 않으나
개발자들이 패닉에 빠지기엔 충분합니다.
해당 validation이 정확하게 되도록 룰을 수정하거나
아니면 아예 제거되는 것이 맞을 것 같습니다.
아울러 iajc를 사용하는 경우라면
이에 대한 설명도 Tip에서 언급이 되어줘야
해당 샘플을 확장해서 사용하는 프로젝트에서
명명 룰에 맞지 않는 파일로 인한 시행착오를 줄일 수 있을 것입니다.


Re] anyframe-sample-service의 iajc 관련 개선 요청
1) Anyframe에서는 샘플 어플리케이션을 다양한 기능을 경험하실 수 있기를 바라는 마음에서, 다양한 기능들을 추가하였습니다. 그 중, Aspect을 Design Level Assertion에도 활용할 수 있음을 보여 드리기 위해서 위와 같은 Warning 메시지를 남겨 두었던 것입니다. 그 부분을 모두 고쳐 놓는다면 Design Level Assertion을 이해하고 무언가 변경 작업을 시행해야 하기 때문에 번거로움이 발생할 것 같습니다. 일반적으로 해당 어플리케이션을 위한 표준에 맞지 않은 경우 Error 처리를 수행하고 있으나 이러한 경우 샘플 자체가 동작하지 않을 수 있어 Warning Level로 표현한 것도 그러한 이유입니다.
2) 또한 샘플 어플리케이션에서는 Anyframe Core/Web에서 다루는 기능에 대한 샘플 코드를 제시하는 것을 목표로 하고 있기에 따로 가이드 문서가 제공되고 있지 않으므로 해당하는 내용은 매뉴얼을 참고하시면 좋을 듯 합니다. iajc에 대한 내용은 Anyframe Core 매뉴얼에 기재되어 있으니 이를 참고하시고 불충분한 내용에 대해 의견 주시면 반영토록 하겠습니다. iajc에 대해서는 다음을 참고하세요. (http://dev.anyframejava.org/anyframe/doc/core/3.1.0/corefw/guide/aop-sam...)
소중한 개선 의견 감사합니다.