From: andy g. <and...@us...> - 2003-06-30 13:11:59
|
User: andygodwin Date: 03/06/30 06:11:57 Modified: src/resources/xdoclet/modules/jboss/aop/resources jboss-aop.xdt Log: Changes to ensure that Interceptor definitions always appear first in the generated jboss-aop.xml, plus Interceptor classes are no longer marked as being advisable. Revision Changes Path 1.3 +76 -27 jboss-aop/src/resources/xdoclet/modules/jboss/aop/resources/jboss-aop.xdt Index: jboss-aop.xdt =================================================================== RCS file: /cvsroot/jboss/jboss-aop/src/resources/xdoclet/modules/jboss/aop/resources/jboss-aop.xdt,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- jboss-aop.xdt 30 Jun 2003 09:33:34 -0000 1.2 +++ jboss-aop.xdt 30 Jun 2003 13:11:57 -0000 1.3 @@ -10,15 +10,20 @@ --> </XDtMerge:merge> - <XDtJBossCollection:create name="classes" type="set"/> + <XDtJBossCollection:create name="interceptors" type="set"/> <XDtClass:forAllClasses> - <XDtClass:ifHasClassTag tagName="jboss-aop.advisable"> - <XDtJBossCollection:ifDoesntContain name="classes" value="<XDtClass:fullClassName/>"> - <XDtJBossCollection:put name="classes" value="<XDtClass:fullClassName/>"/> + <XDtClass:ifHasClassTag tagName="jboss-aop.interceptor"> + <XDtJBossCollection:ifDoesntContain name="interceptors" value="<XDtClass:fullClassName/>"> + <XDtJBossCollection:put name="interceptors" value="<XDtClass:fullClassName/>"/> </XDtJBossCollection:ifDoesntContain> </XDtClass:ifHasClassTag> - <XDtClass:ifHasClassTag tagName="jboss-aop.interceptor"> + </XDtClass:forAllClasses> + + <XDtJBossCollection:create name="classes" type="set"/> + + <XDtClass:forAllClasses> + <XDtClass:ifHasClassTag tagName="jboss-aop.advisable"> <XDtJBossCollection:ifDoesntContain name="classes" value="<XDtClass:fullClassName/>"> <XDtJBossCollection:put name="classes" value="<XDtClass:fullClassName/>"/> </XDtJBossCollection:ifDoesntContain> @@ -61,10 +66,16 @@ </XDtClass:forAllClasses> <XDtClass:forAllClasses> + + <XDtMerge:merge file="{0}-aop.xml"> + <!-- Merge point for <XDtClass:fullClassName/> --> + </XDtMerge:merge> + + </XDtClass:forAllClasses> + + <XDtClass:forAllClasses> <XDtJBossCollection:ifContains name="classes" value="<XDtClass:fullClassName/>"> - <!-- <XDtClass:fullClassName/> --> - <XDtComment:comment> ============= Advisable ============= </XDtComment:comment> <advisable class="<XDtClass:fullClassName/>" @@ -79,49 +90,50 @@ </XDtClass:ifHasClassTag> /> - <XDtMerge:merge file="{0}-aop.xml"> - <!-- - To add additional aop deployment elements that you want to apply to - <XDtClass:fullClassName/>, write a file called <XDtClass:className/>-aop.xml - and put it in a subdirectory of your XDoclet merge directory, maintaining - the same package directory structure as the java source file. - --> - </XDtMerge:merge> + </XDtJBossCollection:ifContains> + </XDtClass:forAllClasses> + + <XDtClass:forAllClasses> + <XDtJBossCollection:ifContains name="interceptors" value="<XDtClass:fullClassName/>"> <XDtComment:comment> =========== Interceptors ============ </XDtComment:comment> <XDtClass:forAllClassTags tagName="jboss-aop.interceptor"> - <interceptor name="<XDtClass:classTagValue tagName='jboss-aop.interceptor' paramName='name'/>" - <XDtClass:ifHasClassTag tagName="jboss-aop.interceptor" paramName="factory"> - factory="<XDtClass:classTagValue tagName='jboss-aop.interceptor' paramName='factory'/>"> - </XDtClass:ifHasClassTag> - <XDtClass:ifDoesntHaveClassTag tagName="jboss-aop.interceptor" paramName="factory"> - class="<XDtClass:classTagValue tagName='jboss-aop.interceptor' paramName='class'/>" + <XDtClass:ifClassTagValueEquals tagName="jboss-aop.interceptor" paramName="factory" value="true"> + factory="<XDtClass:fullClassName/>"> + </XDtClass:ifClassTagValueEquals> + <XDtClass:ifClassTagValueNotEquals tagName="jboss-aop.interceptor" paramName="factory" value="true"> + class="<XDtClass:fullClassName/>" <XDtClass:ifHasClassTag tagName="jboss-aop.interceptor" paramName="singleton"> singleton="<XDtClass:classTagValue tagName='jboss-aop.interceptor' paramName='singleton'/>" </XDtClass:ifHasClassTag> > - </XDtClass:ifDoesntHaveClassTag> + </XDtClass:ifClassTagValueNotEquals> <XDtClass:ifHasClassTag tagName="jboss-aop.interceptor" paramName="xml"> <XDtClass:classTagValue tagName="jboss-aop.interceptor" paramName="xml"/> </XDtClass:ifHasClassTag> <XDtClass:ifDoesntHaveClassTag tagName="jboss-aop.interceptor" paramName="xml"> - <XDtClass:ifHasClassTag tagName="jboss-aop.interceptor" paramName="factory"> + <XDtClass:ifClassTagValueEquals tagName="jboss-aop.interceptor" paramName="factory" value="true"> <XDtJBossAttribute:forAllClassTagAttributes ignore="name,factory,class"> <<XDtJBossAttribute:attributeName/>><XDtJBossAttribute:attributeValue/></<XDtJBossAttribute:attributeName/>> </XDtJBossAttribute:forAllClassTagAttributes> - </XDtClass:ifHasClassTag> - <XDtClass:ifDoesntHaveClassTag tagName="jboss-aop.interceptor" paramName="factory"> + </XDtClass:ifClassTagValueEquals> + <XDtClass:ifClassTagValueNotEquals tagName="jboss-aop.interceptor" paramName="factory" value="true"> <XDtJBossAttribute:forAllClassTagAttributes ignore="name,factory,class,singleton"> <<XDtJBossAttribute:attributeName/>><XDtJBossAttribute:attributeValue/></<XDtJBossAttribute:attributeName/>> </XDtJBossAttribute:forAllClassTagAttributes> - </XDtClass:ifDoesntHaveClassTag> + </XDtClass:ifClassTagValueNotEquals> </XDtClass:ifDoesntHaveClassTag> </interceptor> - </XDtClass:forAllClassTags> + </XDtJBossCollection:ifContains> + </XDtClass:forAllClasses> + + <XDtClass:forAllClasses> + <XDtJBossCollection:ifContains name="classes" value="<XDtClass:fullClassName/>"> + <XDtComment:comment> ============== Stacks =============== </XDtComment:comment> <XDtClass:ifHasClassTag tagName="jboss-aop.stack" paramName="name"> @@ -175,6 +187,12 @@ </stack> </XDtClass:ifHasClassTag> + </XDtJBossCollection:ifContains> + </XDtClass:forAllClasses> + + <XDtClass:forAllClasses> + <XDtJBossCollection:ifContains name="classes" value="<XDtClass:fullClassName/>"> + <XDtComment:comment> ======= Interceptor Pointcuts ======= </XDtComment:comment> <XDtClass:ifHasClassTag tagName="jboss-aop.interceptor-pointcut"> @@ -240,6 +258,12 @@ </XDtClass:ifHasClassTag> + </XDtJBossCollection:ifContains> + </XDtClass:forAllClasses> + + <XDtClass:forAllClasses> + <XDtJBossCollection:ifContains name="classes" value="<XDtClass:fullClassName/>"> + <XDtComment:comment> ======= Introduction Pointcuts ====== </XDtComment:comment> <XDtClass:forAllClassTags tagName="jboss-aop.introduction"> @@ -265,6 +289,12 @@ </XDtClass:forAllClassTags> + </XDtJBossCollection:ifContains> + </XDtClass:forAllClasses> + + <XDtClass:forAllClasses> + <XDtJBossCollection:ifContains name="classes" value="<XDtClass:fullClassName/>"> + <XDtComment:comment> ======== ClassMetaDataLoaders ======= </XDtComment:comment> <XDtClass:ifHasClassTag tagName="jboss-aop.metadata-loader"> @@ -272,6 +302,12 @@ class="<XDtClass:fullClassName/>"/> </XDtClass:ifHasClassTag> + </XDtJBossCollection:ifContains> + </XDtClass:forAllClasses> + + <XDtClass:forAllClasses> + <XDtJBossCollection:ifContains name="classes" value="<XDtClass:fullClassName/>"> + <XDtComment:comment> ========= Security MetaData ========= </XDtComment:comment> <XDtClass:ifHasClassTag tagName="jboss-aop.security"> @@ -525,6 +561,12 @@ </XDtClass:ifHasClassTag> + </XDtJBossCollection:ifContains> + </XDtClass:forAllClasses> + + <XDtClass:forAllClasses> + <XDtJBossCollection:ifContains name="classes" value="<XDtClass:fullClassName/>"> + <XDtComment:comment> ======= Transaction MetaData ======== </XDtComment:comment> <XDtClass:ifHasClassTag tagName="jboss-aop.transaction"> @@ -581,6 +623,12 @@ </XDtClass:ifHasClassTag> + </XDtJBossCollection:ifContains> + </XDtClass:forAllClasses> + + <XDtClass:forAllClasses> + <XDtJBossCollection:ifContains name="classes" value="<XDtClass:fullClassName/>"> + <XDtComment:comment> ======= Other Class MetaData ======== </XDtComment:comment> <XDtJBossCollection:create name="groups" type="set"/> @@ -723,6 +771,7 @@ </XDtClass:forAllClasses> <XDtJBossCollection:destroy name="classes"/> + <XDtJBossCollection:destroy name="interceptors"/> </aop> |