CVS: xdoclet/modules/ejb/src/xdoclet/modules/ejb/dd/resources ejb-body2.xdt, NONE, 1.1 ejb-jar_xml.xdt, 1.8, 1.9
Marco Schulze <[email protected]> Wed, 28 Nov 2007 05:53:15 -0800
| Newsgroups | gmane.comp.java.xdoclet.devel |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/dd/resources
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv4548/modules/ejb/src/xdoclet/modules/ejb/dd/resources
Modified Files:
ejb-jar_xml.xdt
Added Files:
ejb-body2.xdt
Log Message:
Extended ejb-task and jboss-task to support deploying every session bean twice (once with a prefix). This way, the jboss deployment can now use two different invoker-proxies for the same bean.
--- NEW FILE: ejb-body2.xdt ---
<XDtClass:ifHasClassTag tagName="ejb:bean" paramName="description">
<description><![CDATA[<XDtClass:classTagValue tagName="ejb:bean" paramName="description"/>]]></description>
</XDtClass:ifHasClassTag>
<XDtClass:ifDoesntHaveClassTag tagName="ejb:bean" paramName="description">
<description><![CDATA[<XDtClass:firstSentenceDescription/>]]></description>
</XDtClass:ifDoesntHaveClassTag>
<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><XDtConfig:configParameterValue paramName="secondDeploymentNamePrefix"/><XDtEjb:ejbName/></ejb-name>
<XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0">
<XDtType:ifIsOfType type="javax.ejb.EntityBean">
<XDtEjb:ifRemoteEjb>
<home><XDtEjbHome:homeInterface type="remote"/></home>
<remote><XDtEjbIntf:componentInterface type="remote"/></remote>
</XDtEjb:ifRemoteEjb>
<XDtEjb:ifLocalEjb>
<local-home><XDtEjbHome:homeInterface type="local"/></local-home>
<local><XDtEjbIntf:componentInterface type="local"/></local>
</XDtEjb:ifLocalEjb>
</XDtType:ifIsOfType>
<XDtType:ifIsOfType type="javax.ejb.SessionBean">
<XDtEjb:ifRemoteEjb>
<home><XDtEjbHome:homeInterface type="remote"/></home>
<remote><XDtEjbIntf:componentInterface type="remote"/></remote>
</XDtEjb:ifRemoteEjb>
<XDtEjb:ifLocalEjb>
<local-home><XDtEjbHome:homeInterface type="local"/></local-home>
<local><XDtEjbIntf:componentInterface type="local"/></local>
</XDtEjb:ifLocalEjb>
<XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.1">
<XDtEjb:ifServiceEndpointEjb>
<service-endpoint><XDtEjbIntf:componentInterface type="service-endpoint"/></service-endpoint>
</XDtEjb:ifServiceEndpointEjb>
</XDtConfig:ifConfigParamGreaterOrEquals>
</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>
<XDtEjbBmp:ifUseSoftLocking>
<cmp-field <XDtId:prefixedId prefix="CMPAttribute"/>>
<description><![CDATA[<XDtI18n:getString bundle="xdoclet.modules.ejb.XDocletModulesEjbMessages" resource="SOFT_LOCK_VERSION"/>]]></description>
<field-name>version</field-name>
</cmp-field>
</XDtEjbBmp:ifUseSoftLocking>
</XDtEjbCmp:ifEntityIsCmp>
</XDtConfig:ifConfigParamGreaterOrEquals>
<XDtEjbCmp:forAllCmpFields>
<cmp-field <XDtId:prefixedId prefix="CMPAttribute"/>>
<description><![CDATA[<XDtMethod:firstSentenceDescriptionOfCurrentMethod/>]]></description>
<field-name><XDtEjbCmp:fieldName/></field-name>
</cmp-field>
</XDtEjbCmp:forAllCmpFields>
<XDtEjbCmp:ifEntityIsCmp>
<XDtEjbPk:ifHasPrimkeyField>
<primkey-field><XDtEjbPk:primkeyField/></primkey-field>
</XDtEjbPk:ifHasPrimkeyField>
</XDtEjbCmp:ifEntityIsCmp>
</XDtType:ifIsOfType>
<XDtType:ifIsOfType type="javax.ejb.MessageDrivenBean">
<XDtConfig:ifConfigParamEquals paramName="EjbSpec" value="2.0">
<transaction-type><XDtClass:classTagValue tagName="ejb:bean" paramName="transaction-type" values="Container,Bean" default="Container"/></transaction-type>
<XDtClass:ifHasClassTag tagName="ejb:bean" paramName="message-selector">
<message-selector><![CDATA[<XDtClass:classTagValue tagName="ejb.bean" paramName="message-selector"/>]]></message-selector>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="ejb:bean" paramName="acknowledge-mode">
<acknowledge-mode><XDtClass:classTagValue tagName="ejb:bean" paramName="acknowledge-mode" values="Auto-acknowledge,Dups-ok-acknowledge" default="Auto-acknowledge"/></acknowledge-mode>
</XDtClass:ifHasClassTag>
<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:ifConfigParamEquals>
</XDtType:ifIsOfType>
<XDtType:ifIsOfType type="javax.ejb.MessageDrivenBean">
<XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.1">
<messaging-type><XDtClass:classTagValue tagName="ejb:bean" paramName="messaging-type" default="javax.jms.MessageListener"/></messaging-type>
<transaction-type><XDtClass:classTagValue tagName="ejb:bean" paramName="transaction-type" values="Container,Bean" default="Container"/></transaction-type>
<XDtClass:ifHasClassTag tagName="ejb:bean" paramName="destination-type">
<message-destination-type><XDtClass:classTagValue tagName="ejb:bean" paramName="destination-type" values="javax.jms.Queue,javax.jms.Topic"/></message-destination-type>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="ejb:message-destination">
<message-destination-link><XDtClass:classTagValue tagName="ejb:message-destination" paramName="name" mandatory="true"/></message-destination-link>
</XDtClass:ifHasClassTag>
<XDtClass:ifDoesntHaveClassTag tagName="ejb:message-destination">
<XDtClass:ifHasClassTag tagName="ejb:bean" paramName="destination-link">
<message-destination-link><XDtClass:classTagValue tagName="ejb:bean" paramName="destination-link"/></message-destination-link>
</XDtClass:ifHasClassTag>
</XDtClass:ifDoesntHaveClassTag >
<XDtEjbMdb:ifHasActivationConfig>
<XDtComment:comment>
| activation-config must have at least one child
</XDtComment:comment>
<activation-config>
<XDtClass:ifHasClassTag tagName="ejb:bean" paramName="destination-type">
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value><XDtClass:classTagValue tagName="ejb:bean" paramName="destination-type" values="javax.jms.Queue,javax.jms.Topic"/></activation-config-property-value>
</activation-config-property>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="ejb:bean" paramName="acknowledge-mode">
<activation-config-property>
<activation-config-property-name>acknowledgeMode</activation-config-property-name>
<activation-config-property-value><XDtClass:classTagValue tagName="ejb:bean" paramName="acknowledge-mode" values="Auto-acknowledge,Dups-ok-acknowledge" default="Auto-acknowledge"/></activation-config-property-value>
</activation-config-property>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="ejb:bean" paramName="subscription-durability">
<activation-config-property>
<activation-config-property-name>subscriptionDurability</activation-config-property-name>
<activation-config-property-value><XDtClass:classTagValue tagName="ejb:bean" paramName="subscription-durability" values="Durable,NonDurable"/></activation-config-property-value>
</activation-config-property>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="ejb:bean" paramName="message-selector">
<activation-config-property>
<activation-config-property-name>messageSelector</activation-config-property-name>
<activation-config-property-value><![CDATA[<XDtClass:classTagValue tagName="ejb:bean" paramName="message-selector"/>]]></activation-config-property-value>
</activation-config-property>
</XDtClass:ifHasClassTag>
<XDtClass:forAllClassTags tagName="ejb:activation-config-property">
<activation-config-property>
<activation-config-property-name><XDtClass:classTagValue tagName="ejb:activation-config-property" paramName="name"/></activation-config-property-name>
<activation-config-property-value><![CDATA[<XDtClass:classTagValue tagName="ejb:activation-config-property" paramName="value"/>]]></activation-config-property-value>
</activation-config-property>
</XDtClass:forAllClassTags>
</activation-config>
</XDtEjbMdb:ifHasActivationConfig>
</XDtConfig:ifConfigParamGreaterOrEquals>
</XDtType:ifIsOfType>
<XDtMerge:merge file="ejb-env-entries-{0}.xml">
<XDtEjbEnv:forAllTags tagName="ejb:env-entry">
<env-entry>
<XDtEjbEnv:ifHasParam paramName="description">
<description><![CDATA[<XDtEjbEnv:paramValue paramName="description"/>]]></description>
</XDtEjbEnv:ifHasParam>
<env-entry-name><XDtEjbEnv:name paramName="name"/></env-entry-name>
<env-entry-type><XDtEjbEnv:type paramName="type" values="java.lang.Boolean,java.lang.String,java.lang.Character,java.lang.Integer,java.lang.Double,java.lang.Byte,java.lang.Short,java.lang.Long,java.lang.Float" default="java.lang.String"/></env-entry-type>
<XDtEjbEnv:ifHasParam paramName="value">
<env-entry-value><![CDATA[<XDtEjbEnv:paramValue paramName="value"/>]]></env-entry-value>
</XDtEjbEnv:ifHasParam>
</env-entry>
</XDtEjbEnv:forAllTags>
</XDtMerge:merge>
<XDtMerge:merge file="ejb-ejbrefs-{0}.xml">
</XDtMerge:merge>
<XDtMerge:merge file="xdoclet/modules/ejb/dd/resources/ejb-ref.xdt">
</XDtMerge:merge>
<XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.1">
<XDtMerge:merge file="xdoclet/modules/ejb/dd/resources/res-ref.xdt">
</XDtMerge:merge>
<XDtMerge:merge file="ejb-destinationrefs-{0}.xml">
<XDtEjbEnv:forAllTags tagName="ejb:destination-ref">
<message-destination-ref>
<XDtEjbEnv:ifHasParam paramName="description">
<description><![CDATA[<XDtEjbEnv:paramValue paramName="description"/>]]></description>
</XDtEjbEnv:ifHasParam>
<message-destination-ref-name><XDtEjbEnv:name paramName="name"/></message-destination-ref-name>
<message-destination-type><XDtEjbEnv:type paramName="type"/></message-destination-type>
<message-destination-usage><XDtEjbEnv:paramValue paramName="usage" values="Consumes,Produces,ConsumesProduces" default="Produces"/></message-destination-usage>
<XDtEjbEnv:ifHasParam paramName="link">
<message-destination-link><XDtEjbEnv:paramValue paramName="link"/></message-destination-link>
</XDtEjbEnv:ifHasParam>
</message-destination-ref>
</XDtEjbEnv:forAllTags>
</XDtMerge:merge>
</XDtConfig:ifConfigParamGreaterOrEquals>
<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>
<XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0">
<XDtClass:forAllClassTags tagName="ejb:security-identity">
<security-identity>
<XDtClass:ifHasClassTag tagName="ejb:security-identity" paramName="description">
<description><![CDATA[<XDtClass:classTagValue tagName="ejb:security-identity" paramName="description"/>]]></description>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="ejb:security-identity" paramName="use-caller-identity">
<use-caller-identity <XDtId:prefixedId prefix="UseCallerIdentity"/>/>
</XDtClass:ifHasClassTag>
<XDtClass:ifHasClassTag tagName="ejb:security-identity" paramName="run-as">
<run-as>
<XDtClass:ifHasClassTag tagName="ejb:security-identity" paramName="description">
<description><![CDATA[<XDtClass:classTagValue tagName="ejb:security-identity" paramName="description"/>]]></description>
</XDtClass:ifHasClassTag>
<role-name><XDtClass:classTagValue tagName="ejb:security-identity" paramName="run-as"/></role-name>
</run-as>
</XDtClass:ifHasClassTag>
</security-identity>
</XDtClass:forAllClassTags>
</XDtConfig:ifConfigParamGreaterOrEquals>
<XDtConfig:ifConfigParamNotGreaterOrEquals paramName="EjbSpec" value="2.1">
<XDtMerge:merge file="xdoclet/modules/ejb/dd/resources/res-ref.xdt">
</XDtMerge:merge>
</XDtConfig:ifConfigParamNotGreaterOrEquals>
<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="signature">
<query>
<XDtClass:ifHasClassTag tagName="ejb:finder" paramName="description">
<description><![CDATA[<XDtClass:classTagValue tagName="ejb:finder" paramName="description"/>]]></description>
</XDtClass:ifHasClassTag>
<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>
<XDtClass:ifHasClassTag tagName="ejb:finder" paramName="query">
<ejb-ql><![CDATA[<XDtClass:classTagValue tagName="ejb:finder" paramName="query"/>]]></ejb-ql>
</XDtClass:ifHasClassTag>
<XDtClass:ifDoesntHaveClassTag tagName="ejb:finder" paramName="query">
<ejb-ql/>
</XDtClass:ifDoesntHaveClassTag>
</query>
</XDtClass:ifHasClassTag>
</XDtClass:forAllClassTags>
<XDtEjbEntity:forAllEjbSelectMethods>
<query>
<description><![CDATA[<XDtMethod:methodComment no-comment-signs="true"/>]]></description>
<query-method>
<method-name><XDtMethod:methodName/></method-name>
<method-params>
<XDtParameter:forAllMethodParams>
<method-param><XDtParameter:methodParamType/></method-param>
</XDtParameter:forAllMethodParams>
</method-params>
</query-method>
<XDtMethod:ifHasMethodTag tagName="ejb:select" paramName ="result-type-mapping">
<result-type-mapping><XDtMethod:methodTagValue tagName ="ejb:select" paramName="result-type-mapping" values ="Local,Remote"/></result-type-mapping>
</XDtMethod:ifHasMethodTag>
<ejb-ql><![CDATA[<XDtMethod:methodTagValue tagName="ejb:select" paramName="query"/>]]></ejb-ql>
</query>
</XDtEjbEntity:forAllEjbSelectMethods>
<XDtMerge:merge file="ejb-finders-{0}.xml">
<!-- Write a file named ejb-finders-<XDtClass:className/>.xml if you want to define extra finders. -->
</XDtMerge:merge>
</XDtEjbCmp:ifEntityIsCmp>
</XDtType:ifIsOfType>
</XDtConfig:ifConfigParamGreaterOrEquals>
Index: ejb-jar_xml.xdt
===================================================================
RCS file: /cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/dd/resources/ejb-jar_xml.xdt,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** ejb-jar_xml.xdt 8 Oct 2004 21:50:22 -0000 1.8
--- ejb-jar_xml.xdt 28 Nov 2007 13:53:12 -0000 1.9
***************
*** 29,33 ****
</XDtMerge:merge>
</session>
!
</XDtEjb:ifIsAConcreteEJBean>
</XDtEjbSession:forAllSessionBeans>
--- 29,42 ----
</XDtMerge:merge>
</session>
! <XDtComment:comment>
! There are situations in which you want to deploy the same bean twice but with another name-prefix.
! The ejb-body2.xdt is a copy of ejb-body.xdt with only adding the prefix to the ejb-name.
! </XDtComment:comment>
! <XDtConfig:ifConfigParamNotEquals paramName="secondDeploymentNamePrefix" value="">
! <session>
! <XDtMerge:merge file="xdoclet/modules/ejb/dd/resources/ejb-body2.xdt">
! </XDtMerge:merge>
! </session>
! </XDtConfig:ifConfigParamNotEquals>
</XDtEjb:ifIsAConcreteEJBean>
</XDtEjbSession:forAllSessionBeans>
-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell. From the desktop to the data center, Linux is going
mainstream. Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4