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