Hi,

Now I have the actual files from cvs. I've build the xdoclet.jar with
D:\Programme\java\xdoclet-1.0.1\cvs\xdoclet\core\script\Build.bat

> This is the trick:
> 
> <deploymentdescriptor destinationFile="{0}-ejb-jar.xml"
> templateFile="full-path-to-your-modified-template-file.j"/>
I've copied the file ejb-jar_xml.j to ejb-jar_xml_my.j. Then I've removed
all Lines with the String "forAllClasses" (see at the bottom of the mail).

I made the following changes in the samples build.xml in the target
ejbdoclet:
  
<deploymentdescriptor 
   destinationFile="{0}-ejb-jar.xml"
  
templateFile="D:\Programme\java\xdoclet-1.0.1\cvs\xdoclet\core\resources\xdoclet\ejb\ejb-jar_xml_my.j"
   destdir="${ejb.dd.dir}" validatexml="true" />

If I run the target ejbdoclet the following error occurs:

[ejbdoclet] Running <entitycmp/>
[ejbdoclet]   Generating CMP class for 'test.ejb.AccountBean'.
[ejbdoclet]   Generating CMP class for 'test.ejb.cmr.CityBean'.
[ejbdoclet]   Generating CMP class for 'test.ejb.cmr.CountryBean'.
[ejbdoclet]   Generating CMP class for 'test.ejb.cmr.LanguageBean'.
[ejbdoclet]   Generating CMP class for 'test.ejb.cmr.LanguageCodeBean'.
[ejbdoclet]   Generating CMP class for 'test.ejb.CustomerBean'.
[ejbdoclet] Running <deploymentdescriptor/>
[ejbdoclet]   Generating EJB deployment descriptor.
[ejbdoclet] (TemplateEngine.invokeMethod         792 ) Invoking method
failed: ifIsAConcreteEJBean , line=33 of template
 file:
D:\Programme\java\xdoclet-1.0.1\cvs\xdoclet\core\resources\xdoclet\ejb\ejb-jar_xml_my.j
[ejbdoclet] java.lang.IllegalArgumentException: doc argument passed to
TemplateDoclet.getText is not of type ClassDoc or
 MethodDoc. doc=null
[ejbdoclet] javadoc: In doclet class xdoclet.DocletTask$DocletMain,  method
start has thrown an exception java.lang.refl
ect.InvocationTargetException
[ejbdoclet]     at xdoclet.util.DocletUtil.getText(DocletUtil.java:43)
[ejbdoclet]     at xdoclet.util.DocletUtil.getText(DocletUtil.java:26)
[ejbdoclet]     at
xdoclet.ejb.tags.EjbTagsHandler.isSpecificallySpecifiedToBeAConcreteEJBean(EjbTagsHandler.java:260)
[ejbdoclet]     at
xdoclet.ejb.tags.EjbTagsHandler.isAConcreteEJBean(EjbTagsHandler.java:34)
[ejbdoclet]     at
xdoclet.ejb.tags.EjbTagsHandler.ifIsAConcreteEJBean(EjbTagsHandler.java:421)
[ejbdoclet]     at java.lang.reflect.Method.invoke(Native Method)
[ejbdoclet]     at
xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:771)
[ejbdoclet]     at
xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:834)
[ejbdoclet]     at
xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:695)
[ejbdoclet]     at
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:431)
[ejbdoclet]     at
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:313)
[ejbdoclet]     at
xdoclet.template.TemplateEngine.start(TemplateEngine.java:376)
[ejbdoclet]     at
xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:432)
[ejbdoclet]     at
xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:276)
[ejbdoclet]     at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:84)
[ejbdoclet]     at
xdoclet.ejb.EjbDotXmlSubTask.execute(EjbDotXmlSubTask.java:128)
[ejbdoclet]     at xdoclet.DocletTask$DocletMain.start(DocletTask.java:403)
[ejbdoclet]     at java.lang.reflect.Method.invoke(Native Method)
[ejbdoclet]     at
com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:193)
[ejbdoclet]     at
com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:95)
[ejbdoclet]     at com.sun.tools.javadoc.Main.main(Main.java:233)
[ejbdoclet] Running XDoclet failed:
[ejbdoclet] Running XDoclet failed.
[ejbdoclet] 1 error
[ejbdoclet] 24 warnings

BUILD
FAILED

D:\Programme\java\xdoclet-1.0.1\cvs\xdoclet\core\samples\script\build.xml:105: Javadoc 
returned 1


I hope, you can say me, what I'am doing wrong.

Cheers
Ellen


ejb-jar_xml_my.j:

<?xml version="1.0" encoding="<XDtConfig:configParameterValue
paramName='Xmlencoding'/>"?>
 <XDtConfig:ifConfigParamEquals paramName="EjbSpec" value="2.0">
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd";>
 </XDtConfig:ifConfigParamEquals>
 <XDtConfig:ifConfigParamEquals paramName="EjbSpec" value="1.1">
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise
JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
 </XDtConfig:ifConfigParamEquals>

<ejb-jar>

  <XDtConfig:ifConfigParamNotEquals paramName="Description" value="">
   <description><XDtConfig:configParameterValue
paramName="Description"/></description>
  </XDtConfig:ifConfigParamNotEquals>
  <XDtConfig:ifConfigParamNotEquals paramName="Displayname" value="">
   <display-name><XDtConfig:configParameterValue
paramName="Displayname"/></display-name>
  </XDtConfig:ifConfigParamNotEquals>
  <XDtConfig:ifConfigParamNotEquals paramName="Smallicon" value="">
   <small-icon><XDtConfig:configParameterValue
paramName="Smallicon"/></small-icon>
  </XDtConfig:ifConfigParamNotEquals>
  <XDtConfig:ifConfigParamNotEquals paramName="Largeicon" value="">
   <large-icon><XDtConfig:configParameterValue
paramName="Largeicon"/></large-icon>
  </XDtConfig:ifConfigParamNotEquals>

   <enterprise-beans>

      <!-- Session Beans -->
    <XDtEjb:ifIsAConcreteEJBean>
      <session id="<XDtEjb:id/>">
        <XDtMerge:merge file="xdoclet/ejb/ejb-body.j">
        </XDtMerge:merge>
      </session>

    </XDtEjb:ifIsAConcreteEJBean>

   <XDtMerge:merge file="session-beans.xml">
     <!--
       To add session beans that you have deployment descriptor info for,
add
       a file to your merge directory called session-beans.xml that contains
       the <session></session> markup for those beans.
     -->
   </XDtMerge:merge>

      <!-- Entity Beans -->
    <XDtEjb:ifIsAConcreteEJBean>
      <entity id="<XDtEjb:id/>">
        <XDtMerge:merge file="xdoclet/ejb/ejb-body.j">
        </XDtMerge:merge>
      </entity>

    </XDtEjb:ifIsAConcreteEJBean>

   <XDtMerge:merge file="entity-beans.xml">
     <!--
       To add entity beans that you have deployment descriptor info for, add
       a file to your merge directory called session-beans.xml that contains
       the <entity></entity> markup for those beans.
     -->
   </XDtMerge:merge>

  <XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0">
      <!-- Message Driven Beans -->
    <XDtEjb:ifIsAConcreteEJBean>
      <message-driven id="<XDtEjb:id/>">
        <XDtMerge:merge file="xdoclet/ejb/ejb-body.j">
        </XDtMerge:merge>
      </message-driven>

    </XDtEjb:ifIsAConcreteEJBean>
   <XDtMerge:merge file="message-driven-beans.xml">
     <!--
       To add message driven beans that you have deployment descriptor info
for, add
       a file to your merge directory called message-driven-beans.xml that
contains
       the <message-driven></message-driven> markup for those beans.
     -->
   </XDtMerge:merge>

  </XDtConfig:ifConfigParamGreaterOrEquals>

   </enterprise-beans>

  <XDtConfig:ifConfigParamGreaterOrEquals paramName="EjbSpec" value="2.0">
   <!-- Relationships -->
   <XDtMerge:merge file="xdoclet/ejb/relationships.j">
   </XDtMerge:merge>
  </XDtConfig:ifConfigParamGreaterOrEquals>

   <!-- Assembly Descriptor -->
   <XDtMerge:merge file="xdoclet/ejb/asm-descriptor.j">
   </XDtMerge:merge>

  <XDtConfig:ifConfigParamNotEquals paramName="Clientjar" value="false">
   <ejb-client-jar><XDtConfig:configParameterValue
paramName="Clientjar"/></ejb-client-jar>
  </XDtConfig:ifConfigParamNotEquals>

</ejb-jar>

-- 
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net


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

Reply via email to