[Seasar-user:21454] Re: アスペクト適用の完全クラス名一致での指定方法について

Hiroshi Yamamoto [E-MAIL ADDRESS DELETED]
2012年 9月 5日 (水) 15:57:07 JST


小林 (koichik) さん

返信ありがとうございます。
ご教授いただいた方法、もしくはこちらの実装を変更することで対応したいと思います。

以上、よろしくお願いいたします。


2012年9月4日 23:26 Koichi Kobayashi <koichik @ improvement.jp>:
> 小林 (koichik) です.
>
> 完全一致で指定する方法は提供していないので,
> ClassPattern を拡張したクラスを作成して,
> isAppliedPackageName(String) メソッドを
> オーバーライドしてください.
>
>
> On Sun, 2 Sep 2012 23:11:40 +0900, Hiroshi Yamamoto <hiroshi360 @ gmail.com> wrote:
>
>> 山元と申します。
>> いつもお世話になっております。
>>
>> アスペクトの適用対象外のクラスを指定したのですが、
>> 意図したとおりにならなかったため、ご教授いただきたく願います。
>>
>> <initMethod name="addIgnoreClassPattern">
>>       <arg>"hoge.action"</arg>
>>       <arg>"IndexAction"</arg>
>> </initMethod>
>>
>> 上記がdiconファイルでの指定を抜粋したものですが、
>> この指定で、意図しないクラスまで対象外となる場合がありました。
>>
>> 調べたところ、パッケージ名違いで、同じ名前のクラスの場合に発生するようでした。
>>
>> hoge.action.IndexAction
>> hoge.action.fuga.IndexAction
>>
>> どういった比較になっているのかseasarのソースを確認させていただいたところ
>>
>> org.seasar.framework.container.autoregister.ClassPattern#isAppliedPackageName
>>
>> において、パッケージ名の比較が startsWith で行われているため、
>> こういった動作になるということが分かったのですが、
>> 完全クラス名一致での指定の方法が分かりませんでした。
>>
>> こういった場合はどのように指定を行えばいいでしょうか。
>>
>> 以上、よろしくおねがいいたします。
>> _______________________________________________
>> Seasar-user mailing list
>> Seasar-user @ ml.seasar.org
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
> --
> {
>   name: "Koichi Kobayashi",
>   mail: "koichik @ improvement.jp",
>   blog: "http://d.hatena.ne.jp/koichik/",
>   twitter: "@koichik"
> }
>
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user


Seasar-user メーリングリストの案内