-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major
-
Affects Version/s: 2.4.14, 2.4.15, 2.4.16, 2.4.17, 2.4.18-rc1
-
Component/s: S2Container
-
None
CONTAINER-40で強化されたNamingConventionImpl.isTargetClassName()でコンポーネントが規約に沿っているかチェックする際に使うミドルパッケージ名の求め方をStringUtil.decapitalize(suffix)からsuffix.toLowerCase();に変更するなどして、ミドルパッケージ部分がすべて小文字になるようにして欲しいです。
理由はS2DirectoryでSMART Deployしようとする際に規約としているパッケージ名がdirectorydao、クラス名の接尾辞がDirectoryDaoなため、S2Container 2.4.14以降、org.example.directoryDao.HogeDirectoryDaoのようにちょっとかっこ悪いパッケージ名にしないとSMART deployが出来なくなってしまっているためです。
ご検討よろしくお願いします。
seasar2/s2-framework/src/main/java/org/seasar/framework/convention/impl/NamingConventionImpl.java
@@ -786,7 +786,7 @@ + "." + shortClassName)) { return false; } - final String middlePkgName = StringUtil.decapitalize(suffix); + final String middlePkgName = suffix.toLowerCase(); for (int i = 0; i < rootPackageNames.length; ++i) { if (className.startsWith(rootPackageNames[i] + "." + middlePkgName + ".")) {