Patches item #515019, was opened at 2002-02-08 14:11
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=402706&aid=515019&group_id=31602

Category: ejbdoclet
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Tim Taylor (ttaylor)
Assigned to: Nobody/Anonymous (nobody)
Summary: Incorrect <ejb-ref> elements generated

Initial Comment:
The following EJBDoclet tags generated incorrect <ejb-ref> ... </ejb-ref> elements in 
the 
deployment descriptor:
/**
 * @ejb:bean type="BMP" name="MyBMPEntity" display-name="My Bean"
 *           transaction-type="Container" reentrant="False"
 *           jndi-name="ejb/my/Entity" view-type="remote"
 * @ejb:home remote-pattern="MyEntityHome"
 * @ejb:interface remote-pattern="MyEntity"
 * @ejb:pk class="java.lang.String"
 * @ejb:ejb-ref ejb-name="MyOtherEntity"
 *              view-type="remote"
 *              ref-name="ejb/my/OtherEntity"
 * @ejb:ejb-external-ref ref-name="ejb/catalog/Catalog"
 *                       type="Session"
 *                       home="my.company.catalog.interfaces.CatalogHome"
 *                       remote="my.company.catalog.interfaces.Catalog"
 */

After building the deployment descriptor with these ant tasks:
    <xdoclet sourcepath="${catalog.src}"
             destdir="${catalog.gen-src}"
             classpath="${xdoclet.task.classpath}"
             ejbspec="1.1"
             excludedtags="@version,@author">
      <fileset dir="${catalog.src}">
        <include name="**/*EJB.java"/>
      </fileset>
      <packageSubstitution packages="ejb" substituteWith="interfaces"/>
      <remoteinterface/>
      <homeinterface/>
      <deploymentdescriptor xmlencoding="UTF-8"
                destdir="${catalog.build.meta}"/>
    </xdoclet>


The deployment descriptor (just the relevant entity element) looks like this:
      <entity id="MyBMPEntity">
         <description><![CDATA[My description]]></description>
         <display-name>My Bean</display-name>

         <ejb-name>MyBMPEntity</ejb-name>

         <home>my.company.interfaces.MyEntityHome</home>
         <remote>my.company.interfaces.MyEntity</remote>
         <ejb-class>my.company.ejb.MyEntityEJB</ejb-class>
         <persistence-type>Bean</persistence-type>
         <prim-key-class>java.lang.String</prim-key-class>
         <reentrant>False</reentrant>

         <ejb-ref>
            <ejb-ref-name>ejb/catalog/Catalog</ejb-ref-name>
            <ejb-ref-type>Session</ejb-ref-type>
            <home>my.company.catalog.interfaces.CatalogHome</home>
            <remote>my.company.catalog.interfaces.Catalog</remote>
         </ejb-ref>
         <ejb-ref>
            <ejb-ref-name>ejb/my/OtherEntity</ejb-ref-name>
            <ejb-ref-type>Entity</ejb-ref-type>
            <home>my.company.interfaces.MyEntityHome</home>
            <remote>my.company.interfaces.MyEntity</remote>
            <ejb-link>MyOtherEntity</ejb-link>
         </ejb-ref>

         <ejb-ref>
            <ejb-ref-name>ejb/my/OtherEntity</ejb-ref-name>
            <ejb-ref-type>Entity</ejb-ref-type>
            <home>my.company.interfaces.OtherEntityHome</home>
            <remote>my.company.interfaces.OtherEntity</remote>
            <ejb-link>MyOtherEntity</ejb-link>
         </ejb-ref>

      </entity>

Notice that there are TWO <ejb-ref> elements that were created for the ONE tag:
@ejb:ejb-ref ejb-name="MyOtherEntity" view-type="remote" ref-name="ejb/my/OtherEntity"


I believe that this only happens if you have at least one @ejb:ejb-external-ref.  If 
this is the case, 
than you will get two <ejb-ref> elements generated for every @ejb:ejb-ref that the 
class also has. 
One will be correct, and one will be incorrect.

The attached patch fixes this problem and also corrects a typo which results in a 
comment in the 
generated deployment descriptor that says to merge additional entity beans into the 
deployment 
descriptor create a file in the merge directory named session-beans.xml.  Should be 
entity-beans.xml

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=402706&aid=515019&group_id=31602

_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to