[CONTAINER-99] コンポーネントが規約に沿っているかのチェック時にミドルパッケージ名をすべて小文字に変換してチェックするようにしました. Created: 2007-10-20  Updated: 2007-10-20  Resolved: 2007-10-20

Status: Resolved
Project: S2Container
Component/s: S2Container
Affects Version/s: 2.4.14, 2.4.15, 2.4.16, 2.4.17, 2.4.18-rc1
Fix Version/s: 2.4.18-rc1

Type: Improvement Priority: Major
Reporter: jfut Assignee: koichik
Resolution: Fixed Votes: 0
Labels: None


 Description   

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
                     + ".")) {


 Comments   
Comment by jfut [ 2007-10-20 ]

修正ありがとうございます。

確かにsuffix良くないですね。
ちょっと考えてNaoかDiaoあたりに変えようと思います。
たぶんユーザも数えるほどしかきっといないと思うので。

Comment by koichik [ 2007-10-20 ]

対応しました.
http://svn.seasar.org/browse/?view=rev&root=s2container&revision=2957

Comment by Anonymous [ 2007-10-20 ]

この対応自体は取り込んで構わないと思いますが...
とっても今更ですが,やっぱり suffix が DirectoryDao なのがイマイチかも.
以下の空きを使う方向で考えた方がよさげかも.
http://www.seasar.org/wiki/index.php?AccessObject

Naming and directory Access Object 略して Nao とかいいかも.
DIrectory Access Object 略して Diao という手もあるかも.
LDAP Access Object 略して Lao は微妙かも.
X500 Access Object 略して Xao は変かも.
Yellowpage Access Object 略して Yao は無理があるかも.
ともあれ (JW),今更無理かも?

Generated at Sat Apr 27 04:30:04 JST 2024 using Jira 9.15.0#9150000-sha1:9ead8528714127d8cfabf2446010d7e62c0a195c.