A wise old hermit known only as Jason Carreira <[EMAIL PROTECTED]> 
once said:

> I'm having a problem with Entity CMP generation. I'm creating a simple 
> CMP
> Entity bean named DocumentBean that uses only local interfaces, and I 
> don't
> want to have a data object created. Unfortunately, when I leave the
> <dataobject/> tag out of the ejbdoclet task, I get this error during the
> build:
> 
> Generating CMP class for 'com.notiva.ejb.DocumentBean'.
> (TemplateEngine.invokeMethod         751 ) Invoking method failed:
> dataObjectClass , line=2 of template file: \xdoclet\ejb\entitycmp.j
> java.lang.NullPointerException
>       at
> 
xdoclet.ejb.tags.DataObjectTagsHandler.getDataObjectClassPattern(DataObjec
tTagsHandler.java:228)

This looks the same as that problem someone was having on the web forums 
with the EntityCmp task - if a particular subtask hasn't been included in 
the <ejbdoclet>, then when the DD template calls getXXXClassPattern() the 
getSubTaskBy() call returns null and we get a NPE...

I guess the various getXXXClassPattern()s could be modified to check for 
the null first (and use the default pattern if it is?).  Alternatively, 
maybe it could use static equivalents of getXXXClassPattern() which do 
likewise (i.e. check if the subtask is in use, return the specified 
pattern if so, return the default if not)?


Andrew

>       at
> xdoclet.ejb.tags.DataObjectTagsHandler.getDataObjectClassFor(DataObjectT
> agsHandler.java:104)
>       at
> xdoclet.ejb.tags.DataObjectTagsHandler.dataObjectClass(DataObjectTagsHan
> dler
> .java:288)
>       at java.lang.reflect.Method.invoke(Native Method)
>       at 
> xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:743)
>       at
> xdoclet.template.TemplateEngine.invokeContentMethod(TemplateEngine.java:
> 868)
>       at 
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:433)
>       at 
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:313)
>       at xdoclet.XDocletTagSupport.generate(XDocletTagSupport.java:378)
>       at
> xdoclet.ejb.tags.DataObjectTagsHandler.ifIsWithDataContainer(DataObjectT
> agsH
> andler.java:347)
>       at java.lang.reflect.Method.invoke(Native Method)
>       at 
> xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:743)
>       at
> xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:83
> 4)
>       at 
> xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:695)
>       at 
xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:431)
>       at 
xdoclet.template.TemplateEngine.generate(TemplateEngine.java:313)
>       at xdoclet.template.TemplateEngine.start(TemplateEngine.java:376)
>       at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:432)
>       at 
xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:369)
>       at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:261)
>       at xdoclet.TemplateSubTask.execute(TemplateSubTask.java:200)
>       at xdoclet.DocletTask$DocletMain.start(DocletTask.java:403)
>       at java.lang.reflect.Method.invoke(Native Method)
>       at 
com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:193)
>       at 
com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:95)
> javadoc: In doclet class xdoclet.DocletTask$DocletMain,  method start 
> has
> thrown an exception java.lang.reflect.InvocationTargetException
>       at com.sun.tools.javadoc.Main.main(Main.java:233)
> 
> I'm not sure what I need to do here.
> 
> Also, as a side WebLogic related note, I'm using this to create a 
> WebLogic
> specific deployable jar file:
> 
> <!-- Create the WebLogic specific EJB-JAR file -->
>    <target name="weblogic-ejb-jar" depends="ejb-jar">
>       <java classname="weblogic.ejbc20" fork="yes"
>             classpathref="project.class.path">
>          <arg value="${ejb.generic.file}"/>
>          <arg value="${ejb.weblogic.file}"/>
>       </java>
>    </target>
> 
> This works, assuming I copy my weblogic.jar file (24Meg) to my 
> project/lib
> directory. I can't seem to figure out how to get it to add a jar file
> outside of the project directory (i.e. 
> /bea/wlserver6.1/lib/weblogic.jar) to
> the project.class.path path.
> 
> Anyway, any help appreciated,
> 
> Jason Carreira
> 
> --
> Jason Carreira
> Lead Systems Architect, Notiva Corp.
> phone:        585.240.2793
>   fax:        585.272.8118
> email:        [EMAIL PROTECTED]

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

Reply via email to