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