Hi, I posted on the xdoclet-user groups that I had some modified xdoclet 1.1 templates which provide support for the non standard resin deployment descriptor. These are included below. Cut and paste them into the appropriate files under the directory com/cataloga/xdoclet/ejb. You'll also need to modify the ejb-doclet part of the ant build file as follows: <deploymentdescriptor templatefile="<path>/com/cataloga/xdoclet/ejb/ejb-jar_xml" /> The modified templates support the following tags: resin:cmp --------- Is a bean level tag that can be used on CMP beans. It allows you to specify the sql-table-name and lock-factory elements for the resin cmp bean. eg: @resin:cmp sql-table-name="users" lock-factory="com.caucho.ejb.SharedLockFactory" Resin does not require the lock-factory element so this tag parameter can be omited in which case Resin defaults to locking reads. resin:cmp-field --------------- Is a method level tag that should be used on the abstract getter methods for CMP beans. It allows you to specify the sql-name element in the deployment descriptor which determines which column in the table the field maps to. eg: @resin:cmp-field sql-name="userid" resin:cmr-field --------------- Is a method level tag used on CMR relationship methods. It allows you to specify the sql-name element in the deployment descriptor which determines the column which contains the foreign key for the relationship (I haven't had to use composite keys so far, so this isn't supported). eg: @resin:cmr-field sql-name="foreignkeyid" That's all. I'm sure it's not perfect but hopefully someone will find it useful. I'll try and maintain these in the future, but I'll need some help from the core xdoclet guys - the current xdoclet 1.1.2 version can't be made to work at the moment. (see http://sourceforge.net/mailarchive/forum.php?thread_id=570628&forum_id=1106 ) Cheers Mark com/cataloga/xdoclet/ejb/relationships.j ---------------------------------------- <XDtEjbRel:ifHasRelationships> <relationships> <XDtEjbRel:forAllRelationships> <ejb-relation> <ejb-relation-name><XDtMethod:methodTagValue tagName="ejb:relation" paramName="name"/></ejb-relation-name> <XDtEjbRel:forAllRelationshipRoles> <XDtMethod:ifHasMethodTag tagName="ejb:relation" paramName="target-ejb"> <!-- unidirectional --> <ejb-relationship-role> <XDtMethod:ifHasMethodTag tagName="ejb:relation" paramName="role-name"> <ejb-relationship-role-name><XDtMethod:methodTagValue tagName="ejb:relation" paramName="role-name"/></ejb-relationship-role-name> </XDtMethod:ifHasMethodTag> <XDtMethod:ifMethodTagValueEquals tagName="ejb:relation" paramName="target-multiple" value="yes"> <multiplicity>Many</multiplicity> </XDtMethod:ifMethodTagValueEquals> <XDtMethod:ifMethodTagValueNotEquals tagName="ejb:relation" paramName="target-multiple" value="yes"> <multiplicity>One</multiplicity> </XDtMethod:ifMethodTagValueNotEquals> <XDtMethod:ifHasMethodTag tagName="ejb:relation" paramName="cascade-delete"> <cascade-delete/> </XDtMethod:ifHasMethodTag> <relationship-role-source> <ejb-name><XDtEjb:ejbName/></ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name><XDtMethod:propertyName/></cmr-field-name> <XDtMethod:ifHasMethodTag tagName='@resin:cmr-field' paramName='sql-name'> <sql-name><XDtMethod:methodTagValue tagName='@resin:cmr-field' paramName='sql-name'/></sql-name> </XDtMethod:ifHasMethodTag> <XDtEjbRel:ifIsACollection> <cmr-field-type><XDtMethod:methodType/></cmr-field-type> </XDtEjbRel:ifIsACollection> </cmr-field> </ejb-relationship-role> <ejb-relationship-role> <XDtMethod:ifHasMethodTag tagName="ejb:relation" paramName="target-role-name"> <ejb-relationship-role-name><XDtMethod:methodTagValue tagName="ejb:relation" paramName="target-role-name"/></ejb-relationship-role-name> </XDtMethod:ifHasMethodTag> <XDtEjbRel:ifIsACollection> <multiplicity>Many</multiplicity> </XDtEjbRel:ifIsACollection> <XDtEjbRel:ifIsNotACollection> <multiplicity>One</multiplicity> </XDtEjbRel:ifIsNotACollection> <XDtMethod:ifHasMethodTag tagName="ejb:relation" paramName="target-cascade-delete"> <cascade-delete/> </XDtMethod:ifHasMethodTag> <relationship-role-source> <ejb-name><XDtMethod:methodTagValue tagName="ejb:relation" paramName="target-ejb"/></ejb-name> </relationship-role-source> </ejb-relationship-role> </XDtMethod:ifHasMethodTag> <XDtMethod:ifDoesntHaveMethodTag tagName="ejb:relation" paramName="target-ejb"> <ejb-relationship-role> <XDtMethod:ifHasMethodTag tagName="ejb:relation" paramName="role-name"> <XDtEjbRel:swapRelation/> <ejb-relationship-role-name><XDtMethod:methodTagValue tagName="ejb:relation" paramName="role-name"/></ejb-relationship-role-name> <XDtEjbRel:unswapRelation/> </XDtMethod:ifHasMethodTag> <XDtEjbRel:ifIsACollection> <multiplicity>Many</multiplicity> </XDtEjbRel:ifIsACollection> <XDtEjbRel:ifIsNotACollection> <multiplicity>One</multiplicity> </XDtEjbRel:ifIsNotACollection> <XDtMethod:ifHasMethodTag tagName="ejb:relation" paramName="cascade-delete"> <cascade-delete/> </XDtMethod:ifHasMethodTag> <XDtEjbRel:swapRelation/> <relationship-role-source> <ejb-name><XDtEjb:ejbName/></ejb-name> </relationship-role-source> <cmr-field> <cmr-field-name><XDtMethod:propertyName/></cmr-field-name> <XDtMethod:ifHasMethodTag tagName='@resin:cmr-field' paramName='sql-name'> <sql-name><XDtMethod:methodTagValue tagName='@resin:cmr-field' paramName='sql-name'/></sql-name> </XDtMethod:ifHasMethodTag> <XDtEjbRel:ifIsACollection> <cmr-field-type><XDtMethod:methodType/></cmr-field-type> </XDtEjbRel:ifIsACollection> </cmr-field> <XDtEjbRel:unswapRelation/> </ejb-relationship-role> </XDtMethod:ifDoesntHaveMethodTag> </XDtEjbRel:forAllRelationshipRoles> </ejb-relation> </XDtEjbRel:forAllRelationships> </relationships> </XDtEjbRel:ifHasRelationships> com/cataloga/xdoclet/ejb/ejb-jar_xml.j -------------------------------------- <?xml version="1.0" encoding="<XDtConfig:configParameterValue paramName='Xmlencoding'/>"?> <!DOCTYPE ejb-jar PUBLIC "<XDtXml:publicId/>" "<XDtXml:systemId/>"> <ejb-jar> <XDtConfig:ifConfigParamNotEquals paramName="Description" value=""> <description><XDtConfig:configParameterValue paramName="Description"/></description> </XDtConfig:ifConfigParamNotEquals> <XDtConfig:ifConfigParamNotEquals paramName="Displayname" value=""> <display-name><XDtConfig:configParameterValue paramName="Displayname"/></display-name> </XDtConfig:ifConfigParamNotEquals> <XDtConfig:ifConfigParamNotEquals paramName="Smallicon" value=""> <small-icon><XDtConfig:configParameterValue paramName="Smallicon"/></small-icon> </XDtConfig:ifConfigParamNotEquals> <XDtConfig:ifConfigParamNotEquals paramName="Largeicon" value=""> <large-icon><XDtConfig:configParameterValue paramName="Largeicon"/></large-icon> </XDtConfig:ifConfigParamNotEquals> <enterprise-beans> <!-- Session Beans --> <XDtClass:forAllClasses type="javax.ejb.SessionBean"> <XDtEjb:ifIsAConcreteEJBean> <session id="<XDtEjb:id/>"> <XDtMerge:merge file="xdoclet/ejb/ejb-body.j"> </XDtMerge:merge> </session> </XDtEjb:ifIsAConcreteEJBean> </XDtClass:forAllClasses> <XDtMerge:merge file="session-beans.xml"> <!-- To add session beans that you have deployment descriptor info for, add a file to your merge directory called session-beans.xml that contains the <session></session> markup for those beans. --> </XDtMerge:merge> <!-- Entity Beans --> <XDtClass:forAllClasses type="javax.ejb.EntityBean"> <XDtEjb:ifIsAConcreteEJBean> <entity id="<XDtEjb:id/>"> <XDtMerge:merge file="com/cataloga/xdoclet/ejb/ejb-body.j"> </XDtMerge:merge> </entity> </XDtEjb:ifIsAConcreteEJBean> </XDtClass:forAllClasses> <XDtMerge:merge file="entity-beans.xml"> <!-- To add entity beans that you have deployment descriptor info for, add a file to your merge directory called session-beans.xml that contains the <entity></entity> markup for those beans. --> </XDtMerge:merge> <XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0"> <!-- Message Driven Beans --> <XDtClass:forAllClasses type="javax.ejb.MessageDrivenBean"> <XDtEjb:ifIsAConcreteEJBean> <message-driven id="<XDtEjb:id/>"> <XDtMerge:merge file="xdoclet/ejb/ejb-body.j"> </XDtMerge:merge> </message-driven> </XDtEjb:ifIsAConcreteEJBean> </XDtClass:forAllClasses> <XDtMerge:merge file="message-driven-beans.xml"> <!-- To add message driven beans that you have deployment descriptor info for, add a file to your merge directory called message-driven-beans.xml that contains the <message-driven></message-driven> markup for those beans. --> </XDtMerge:merge> </XDtConfig:ifConfigParamGreaterOrEquals> </enterprise-beans> <XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0"> <!-- Relationships --> <XDtMerge:merge file="com/cataloga/xdoclet/ejb/relationships.j"> </XDtMerge:merge> </XDtConfig:ifConfigParamGreaterOrEquals> <!-- Assembly Descriptor --> <XDtMerge:merge file="xdoclet/ejb/asm-descriptor.j"> </XDtMerge:merge> <XDtConfig:ifConfigParamNotEquals paramName="Clientjar" value="false"> <ejb-client-jar><XDtConfig:configParameterValue paramName="Clientjar"/></ejb-client-jar> </XDtConfig:ifConfigParamNotEquals> </ejb-jar> com/cataloga/xdoclet/ejb/ejb-body.j ----------------------------------- <description><![CDATA[<XDtClass:firstSentenceDescription/>]]></description> <XDtClass:ifHasClassTag tagName="ejb:bean" paramName="display-name"> <display-name><XDtClass:classTagValue tagName="ejb:bean" paramName="display-name"/></display-name> </XDtClass:ifHasClassTag> <XDtClass:ifHasClassTag tagName="ejb:bean" paramName="small-icon"> <small-icon><XDtClass:classTagValue tagName="ejb:bean" paramName="small-icon"/></small-icon> </XDtClass:ifHasClassTag> <XDtClass:ifHasClassTag tagName="ejb:bean" paramName="large-icon"> <large-icon><XDtClass:classTagValue tagName="ejb:bean" paramName="large-icon"/></large-icon> </XDtClass:ifHasClassTag> <ejb-name><XDtEjb:ejbName/></ejb-name> <XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0"> <XDtType:ifIsOfType type="javax.ejb.EntityBean"> <XDtClass:ifHasClassTag tagName="ejb:bean" paramName="view-type"> <XDtClass:ifClassTagValueEquals tagName="ejb:bean" paramName="view-type" value="local"> <local-home><XDtEjbHome:homeInterface type="local"/></local-home> <local><XDtEjbIntf:componentInterface type="local"/></local> </XDtClass:ifClassTagValueEquals> <XDtClass:ifClassTagValueEquals tagName="ejb:bean" paramName="view-type" value="both"> <home><XDtEjbHome:homeInterface type="remote"/></home> <remote><XDtEjbIntf:componentInterface type="remote"/></remote> <local-home><XDtEjbHome:homeInterface type="local"/></local-home> <local><XDtEjbIntf:componentInterface type="local"/></local> </XDtClass:ifClassTagValueEquals> <XDtClass:ifClassTagValueEquals tagName="ejb:bean" paramName="view-type" value="remote"> <home><XDtEjbHome:homeInterface type="remote"/></home> <remote><XDtEjbIntf:componentInterface type="remote"/></remote> </XDtClass:ifClassTagValueEquals> </XDtClass:ifHasClassTag> <XDtClass:ifDoesntHaveClassTag tagName="ejb:bean" paramName="view-type"> <home><XDtEjbHome:homeInterface type="remote"/></home> <remote><XDtEjbIntf:componentInterface type="remote"/></remote> </XDtClass:ifDoesntHaveClassTag> </XDtType:ifIsOfType> <XDtType:ifIsOfType type="javax.ejb.SessionBean"> <XDtClass:ifHasClassTag tagName="ejb:bean" paramName="view-type"> <XDtClass:ifClassTagValueEquals tagName="ejb:bean" paramName="view-type" value="local"> <local-home><XDtEjbHome:homeInterface type="local"/></local-home> <local><XDtEjbIntf:componentInterface type="local"/></local> </XDtClass:ifClassTagValueEquals> <XDtClass:ifClassTagValueEquals tagName="ejb:bean" paramName="view-type" value="both"> <home><XDtEjbHome:homeInterface type="remote"/></home> <remote><XDtEjbIntf:componentInterface type="remote"/></remote> <local-home><XDtEjbHome:homeInterface type="local"/></local-home> <local><XDtEjbIntf:componentInterface type="local"/></local> </XDtClass:ifClassTagValueEquals> <XDtClass:ifClassTagValueEquals tagName="ejb:bean" paramName="view-type" value="remote"> <home><XDtEjbHome:homeInterface type="remote"/></home> <remote><XDtEjbIntf:componentInterface type="remote"/></remote> </XDtClass:ifClassTagValueEquals> </XDtClass:ifHasClassTag> <XDtClass:ifDoesntHaveClassTag tagName="ejb:bean" paramName="view-type"> <home><XDtEjbHome:homeInterface type="remote"/></home> <remote><XDtEjbIntf:componentInterface type="remote"/></remote> </XDtClass:ifDoesntHaveClassTag> </XDtType:ifIsOfType> </XDtConfig:ifConfigParamGreaterOrEquals> <XDtConfig:ifConfigParamNotGreaterOrEquals paramName="EjbSpec" value="2.0"> <home><XDtEjbHome:homeInterface type="remote"/></home> <remote><XDtEjbIntf:componentInterface type="remote"/></remote> </XDtConfig:ifConfigParamNotGreaterOrEquals> <ejb-class><XDtEjb:concreteFullClassName/></ejb-class> <XDtType:ifIsOfType type="javax.ejb.SessionBean"> <session-type><XDtClass:classTagValue tagName="ejb:bean" paramName="type" values="Stateful,Stateless" default="Stateless"/></session-type> <transaction-type><XDtClass:classTagValue tagName="ejb:bean" paramName="transaction-type" values="Container,Bean" default="Container"/></transaction-type> </XDtType:ifIsOfType> <XDtType:ifIsOfType type="javax.ejb.EntityBean"> <XDtClass:ifHasClassTag tagName="ejb:bean" paramName="type"> <XDtEjbCmp:ifEntityIsCmp> <persistence-type>Container</persistence-type> </XDtEjbCmp:ifEntityIsCmp> <XDtEjbBmp:ifEntityIsBmp> <persistence-type>Bean</persistence-type> </XDtEjbBmp:ifEntityIsBmp> </XDtClass:ifHasClassTag> <XDtClass:ifDoesntHaveClassTag tagName="ejb:bean" paramName="type"> <persistence-type>Container</persistence-type> </XDtClass:ifDoesntHaveClassTag> <prim-key-class><XDtEjbPk:pkClass/></prim-key-class> <reentrant><XDtEjbEntity:reentrant/></reentrant> <XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0"> <XDtEjbCmp:ifEntityIsCmp> <cmp-version><XDtClass:classTagValue tagName="ejb:bean" paramName="cmp-version" values="1.x,2.x" default="2.x" /></cmp-version> <abstract-schema-name><XDtClass:classTagValue tagName="ejb:bean" paramName="schema" default="<XDtEjb:ejbName/>"/></abstract-schema-name> <XDtClass:ifHasClassTag tagName='@resin:cmp' paramName='sql-table-name'> <sql-table-name><XDtClass:classTagValue tagName='@resin:cmp' paramName='sql-table-name'/></sql-table-name> </XDtClass:ifHasClassTag> <XDtClass:ifHasClassTag tagName='@resin:cmp' paramName='lock-factory'> <lock-factory><class-name><XDtClass:classTagValue tagName='@resin:cmp' paramName='lock-factory'/></class-name></lock-factory> </XDtClass:ifHasClassTag> <XDtEjbBmp:ifUseSoftLocking> <cmp-field> <description>Version number for soft locking</description> <field-name>version</field-name> </cmp-field> </XDtEjbBmp:ifUseSoftLocking> </XDtEjbCmp:ifEntityIsCmp> </XDtConfig:ifConfigParamGreaterOrEquals> <XDtEjbCmp:forAllCmpFields> <cmp-field> <description><![CDATA[<XDtMethod:firstSentenceDescriptionOfCurrentMethod/>]] ></description> <field-name><XDtMethod:propertyName/></field-name> <XDtMethod:ifHasMethodTag tagName='@resin:cmp-field' paramName='sql-name'> <sql-name><XDtMethod:methodTagValue tagName='@resin:cmp-field' paramName='sql-name'/></sql-name> </XDtMethod:ifHasMethodTag> </cmp-field> </XDtEjbCmp:forAllCmpFields> <XDtClass:ifHasClassTag tagName="ejb:bean" paramName="primkey-field"> <primkey-field><XDtClass:classTagValue tagName="ejb:bean" paramName="primkey-field"/></primkey-field> </XDtClass:ifHasClassTag> </XDtType:ifIsOfType> <XDtType:ifIsOfType type="javax.ejb.MessageDrivenBean"> <XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0"> <XDtClass:ifHasClassTag tagName="ejb:bean" paramName="message-selector"> <message-selector><XDtClass:classTagValue tagName="ejb:bean" paramName="message-selector"/></message-selector> </XDtClass:ifHasClassTag> <transaction-type><XDtClass:classTagValue tagName="ejb:bean" paramName="transaction-type" values="Container,Bean" default="Container"/></transaction-type> <acknowledge-mode><XDtClass:ifHasClassTag tagName="ejb:bean" paramName="acknowledge-mode"><XDtClass:classTagValue tagName="ejb:bean" paramName="acknowledge-mode" values="Auto-acknowledge,Dups-ok-acknowledge" default="Auto-acknowledge"/></XDtClass:ifHasClassTag></acknowledge-mode> <XDtClass:ifHasClassTag tagName="ejb:bean" paramName="destination-type"> <message-driven-destination> <destination-type><XDtClass:classTagValue tagName="ejb:bean" paramName="destination-type" values="javax.jms.Queue,javax.jms.Topic"/></destination-type> <XDtClass:ifHasClassTag tagName="ejb:bean" paramName="subscription-durability"> <subscription-durability><XDtClass:classTagValue tagName="ejb:bean" paramName="subscription-durability" values="Durable,NonDurable"/></subscription-durability> </XDtClass:ifHasClassTag> </message-driven-destination> </XDtClass:ifHasClassTag> </XDtConfig:ifConfigParamGreaterOrEquals> </XDtType:ifIsOfType> <XDtMerge:merge file="ejb-env-entries-{0}.xml"> <XDtClass:forAllClassTags tagName="ejb:env-entry"> <env-entry> <env-entry-name><XDtClass:classTagValue tagName="ejb:env-entry" paramName="name"/></env-entry-name> <XDtClass:ifHasClassTag tagName="ejb:env-entry" paramName="type"> <env-entry-type><XDtClass:classTagValue tagName="ejb:env-entry" paramName="type" values="java.lang.Boolean,java.lang.String,java.lang.Integer,java.lang.Doubl e,java.lang.Byte,java.lang.Short,java.lang.Long,and java.lang.Float"/></env-entry-type> </XDtClass:ifHasClassTag> <XDtClass:ifDoesntHaveClassTag tagName="ejb:env-entry" paramName="type"> <env-entry-type>java.lang.String</env-entry-type> </XDtClass:ifDoesntHaveClassTag> <env-entry-value><XDtClass:classTagValue tagName="ejb:env-entry" paramName="value"/></env-entry-value> </env-entry> </XDtClass:forAllClassTags> </XDtMerge:merge> <XDtMerge:merge file="ejb-ejbrefs-{0}.xml"> <XDtEjbRef:forAllEjbRefs> <XDtClass:ifDoesntHaveClassTag tagName="ejb:ejb-ref" paramName="view-type"> <ejb-ref> <ejb-ref-name><XDtEjb:ejbRefName/></ejb-ref-name> <ejb-ref-type><XDtEjb:beanType/></ejb-ref-type> <home><XDtEjbHome:homeInterface type="remote"/></home> <remote><XDtEjbIntf:componentInterface type="remote"/></remote> <ejb-link><XDtClass:classTagValue tagName="ejb:ejb-ref" paramName="ejb-name"/></ejb-link> </ejb-ref> </XDtClass:ifDoesntHaveClassTag> </XDtEjbRef:forAllEjbRefs> <XDtClass:forAllClassTags tagName="ejb:ejb-external-ref"> <XDtClass:ifDoesntHaveClassTag tagName="ejb:ejb-external-ref" paramName="view-type"> <ejb-ref> <ejb-ref-name><XDtEjb:ejbExternalRefName/></ejb-ref-name> <ejb-ref-type><XDtClass:classTagValue tagName="ejb:ejb-external-ref" paramName="type" values="Entity,Session"/></ejb-ref-type> <home><XDtClass:classTagValue tagName="ejb:ejb-external-ref" paramName="home"/></home> <remote><XDtClass:classTagValue tagName="ejb:ejb-external-ref" paramName="remote"/></remote> </ejb-ref> </XDtClass:ifDoesntHaveClassTag> <XDtClass:ifHasClassTag tagName="ejb:ejb-ref" paramName="view-type"> <XDtClass:ifClassTagValueEquals tagName="ejb:ejb-ref" paramName="view-type" value="remote"> <ejb-ref> <ejb-ref-name><XDtEjb:ejbRefName/></ejb-ref-name> <ejb-ref-type><XDtEjb:beanType/></ejb-ref-type> <home><XDtEjbHome:homeInterface type="remote"/></home> <remote><XDtEjbIntf:componentInterface type="remote"/></remote> <ejb-link><XDtClass:classTagValue tagName="ejb:ejb-ref" paramName="ejb-name"/></ejb-link> </ejb-ref> </XDtClass:ifClassTagValueEquals> </XDtClass:ifHasClassTag> <XDtClass:ifHasClassTag tagName="ejb:ejb-external-ref" paramName="view-type"> <XDtClass:ifClassTagValueEquals tagName="ejb:ejb-external-ref" paramName="view-type" value="remote"> <ejb-ref> <ejb-ref-name><XDtEjb:ejbExternalRefName/></ejb-ref-name> <ejb-ref-type><XDtClass:classTagValue tagName="ejb:ejb-external-ref" paramName="type" values="Entity,Session"/></ejb-ref-type> <home><XDtClass:classTagValue tagName="ejb:ejb-external-ref" paramName="home"/></home> <remote><XDtClass:classTagValue tagName="ejb:ejb-external-ref" paramName="remote"/></remote> </ejb-ref> </XDtClass:ifClassTagValueEquals> <XDtClass:ifClassTagValueEquals tagName="ejb:ejb-external-ref" paramName="view-type" value="local"> <ejb-local-ref> <ejb-ref-name><XDtEjb:ejbExternalRefName/></ejb-ref-name> <ejb-ref-type><XDtClass:classTagValue tagName="ejb:ejb-external-ref" paramName="type" values="Entity,Session"/></ejb-ref-type> <local-home><XDtClass:classTagValue tagName="ejb:ejb-external-ref" paramName="home"/></local-home> <local><XDtClass:classTagValue tagName="ejb:ejb-external-ref" paramName="remote"/></local> <XDtClass:ifHasClassTag tagName="ejb:ejb-external-ref" paramName="link"> <ejb-link><XDtClass:classTagValue tagName="ejb:ejb-external-ref" paramName="link"/></ejb-link> </XDtClass:ifHasClassTag> </ejb-local-ref> </XDtClass:ifClassTagValueEquals> </XDtClass:ifHasClassTag> </XDtClass:forAllClassTags> <XDtEjbRef:forAllEjbRefs> <XDtClass:ifHasClassTag tagName="ejb:ejb-ref" paramName="view-type"> <XDtClass:ifClassTagValueEquals tagName="ejb:ejb-ref" paramName="view-type" value="local"> <ejb-local-ref> <ejb-ref-name><XDtEjb:ejbRefName/></ejb-ref-name> <ejb-ref-type><XDtEjb:beanType/></ejb-ref-type> <local-home><XDtEjbHome:homeInterface type="local"/></local-home> <local><XDtEjbIntf:componentInterface type="local"/></local> <ejb-link><XDtClass:classTagValue tagName="ejb:ejb-ref" paramName="ejb-name"/></ejb-link> </ejb-local-ref> </XDtClass:ifClassTagValueEquals> <XDtClass:ifClassTagValueEquals tagName="ejb:ejb-ref" paramName="view-type" value="remote"> <ejb-ref> <ejb-ref-name><XDtEjb:ejbRefName/></ejb-ref-name> <ejb-ref-type><XDtEjb:beanType/></ejb-ref-type> <home><XDtEjbHome:homeInterface type="remote"/></home> <remote><XDtEjbIntf:componentInterface type="remote"/></remote> <ejb-link><XDtClass:classTagValue tagName="ejb:ejb-ref" paramName="ejb-name"/></ejb-link> </ejb-ref> </XDtClass:ifClassTagValueEquals> </XDtClass:ifHasClassTag> </XDtEjbRef:forAllEjbRefs> </XDtMerge:merge> <XDtMerge:merge file="ejb-sec-rolerefs-{0}.xml"> <XDtClass:forAllClassTags tagName="ejb:security-role-ref"> <security-role-ref> <role-name><XDtClass:classTagValue tagName="ejb:security-role-ref" paramName="role-name"/></role-name> <role-link><XDtClass:classTagValue tagName="ejb:security-role-ref" paramName="role-link"/></role-link> </security-role-ref> </XDtClass:forAllClassTags> </XDtMerge:merge> <XDtClass:forAllClassTags tagName="ejb:security-identity"> <security-identity> <XDtClass:ifHasClassTag tagName="ejb:security-identity" paramName="description"> <description><XDtClass:classTagValue tagName="ejb:security-identity" paramName="description"/></description> </XDtClass:ifHasClassTag> <XDtClass:ifHasClassTag tagName="ejb:security-identity" paramName="use-caller-identity"> <use-caller-identity><XDtClass:classTagValue tagName="ejb:security-identity" paramName="use-caller-identity"/></use-caller-identity> </XDtClass:ifHasClassTag> <XDtClass:ifHasClassTag tagName="ejb:security-identity" paramName="run-as"> <run-as> <role-name><XDtClass:classTagValue tagName="ejb:security-identity" paramName="run-as"/></role-name> <XDtClass:ifHasClassTag tagName="ejb:security-identity" paramName="description"> <description><XDtClass:classTagValue tagName="ejb:security-identity" paramName="description"/></description> </XDtClass:ifHasClassTag> </run-as> </XDtClass:ifHasClassTag> </security-identity> </XDtClass:forAllClassTags> <XDtMerge:merge file="ejb-resourcerefs-{0}.xml"> <XDtClass:forAllClassTags tagName="ejb:resource-ref"> <resource-ref> <res-ref-name><XDtClass:classTagValue tagName="ejb:resource-ref" paramName="res-name"/></res-ref-name> <res-type><XDtClass:classTagValue tagName="ejb:resource-ref" paramName="res-type"/></res-type> <res-auth><XDtClass:classTagValue tagName="ejb:resource-ref" paramName="res-auth"/></res-auth> </resource-ref> </XDtClass:forAllClassTags> </XDtMerge:merge> <XDtMerge:merge file="ejb-resource-env-refs-{0}.xml"> <XDtClass:forAllClassTags tagName="ejb:resource-env-ref"> <resource-env-ref> <XDtClass:ifHasClassTag tagName="ejb:resource-env-ref" paramName="description"> <description><XDtClass:classTagValue tagName="ejb:resource-env-ref" paramName="description"/></description> </XDtClass:ifHasClassTag> <resource-env-ref-name><XDtClass:classTagValue tagName="ejb:resource-env-ref" paramName="name"/></resource-env-ref-name> <resource-env-ref-type><XDtClass:classTagValue tagName="ejb:resource-env-ref" paramName="type"/></resource-env-ref-type> </resource-env-ref> </XDtClass:forAllClassTags> </XDtMerge:merge> <XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0"> <XDtType:ifIsOfType type="javax.ejb.EntityBean"> <XDtEjbCmp:ifEntityIsCmp> <XDtClass:forAllClassTags tagName="ejb:finder"> <XDtClass:ifHasClassTag tagName="ejb:finder" paramName="query"> <query> <query-method> <method-name><XDtClass:classTagValue tagName="ejb:finder" paramName="signature" delimiter=" (" tokenNumber="1"/></method-name> <method-params> <XDtParameter:forAllParameterTypes paramName="signature"> <method-param><XDtParameter:currentToken/></method-param> </XDtParameter:forAllParameterTypes> </method-params> </query-method> <XDtClass:ifHasClassTag tagName="ejb:finder" paramName ="result-type-mapping"> <result-type-mapping><XDtClass:classTagValue tagName ="ejb:finder" paramName="result-type-mapping" values ="Local,Remote"/></result-type-mapping> </XDtClass:ifHasClassTag> <ejb-ql><XDtClass:classTagValue tagName="ejb:finder" paramName="query"/></ejb-ql> </query> </XDtClass:ifHasClassTag> </XDtClass:forAllClassTags> <XDtClass:forAllClassTags tagName="ejb:select"> <XDtClass:ifHasClassTag tagName="ejb:select" paramName="query"> <query> <query-method> <method-name><XDtClass:classTagValue tagName="ejb:select" paramName="signature" delimiter=" (" tokenNumber="1"/></method-name> <method-params> <XDtParameter:forAllParameterTypes paramName="signature"> <method-param><XDtParameter:currentToken/></method-param> </XDtParameter:forAllParameterTypes> </method-params> </query-method> <XDtClass:ifHasClassTag tagName="ejb:select" paramName ="result-type-mapping"> <result-type-mapping><XDtClass:classTagValue tagName ="ejb:select" paramName="result-type-mapping" values ="Local,Remote"/></result-type-mapping> </XDtClass:ifHasClassTag> <ejb-ql><XDtClass:classTagValue tagName="ejb:select" paramName="query"/></ejb-ql> </query> </XDtClass:ifHasClassTag> </XDtClass:forAllClassTags> </XDtEjbCmp:ifEntityIsCmp> </XDtType:ifIsOfType> </XDtConfig:ifConfigParamGreaterOrEquals> _______________________________________________________ DATA SECURITY - PLEASE READ This communication may contain information which is CATALOGA confidential and may also be privileged. It is for exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any form of distribution, copying or use of this communication or information in it, is strictly prohibited and may be unlawful. If you have received this communication in error please forward it to [EMAIL PROTECTED], then delete the email and destroy any copies of it. Thank you for your cooperation. _______________________________________________________ _______________________________________________ Xdoclet-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/xdoclet-devel
