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
xdoclet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to