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
_______________________________________________
xdoclet-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel