• Type: Improvement
    • Resolution: Fixed
    • Priority: Major
    • 2.4.18-rc1
    • 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
                           + ".")) {
      

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

          jfut added a comment -

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

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

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

          koichik added a comment -

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

          Anonymous added a comment -

          この対応自体は取り込んで構わないと思いますが...
          とっても今更ですが,やっぱり 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),今更無理かも?

          Anonymous added a comment - この対応自体は取り込んで構わないと思いますが... とっても今更ですが,やっぱり 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),今更無理かも?

            Assignee:
            koichik
            Reporter:
            jfut
            Votes:
            0 Vote for this issue
            Watchers:
            Start watching this issue

              Created:
              Updated:
              Resolved: