Hello folks,

I'm having a problem generating DataObject classes using XDoclet when
the data object contain aggregated fields as indicated by the
@ejb:aggregate method tag. Important to note: the bean referenced in the
aggregate field is also generated by XDoclet.

So what happens is that xdoclet can't find the EJB class for the return
type of the method. It fails with the message:

[ejbdoclet]   Generating Data Object class for
'com.tld.af.ejb.AutorizacaoFornecimentoEJB'.
[ejbdoclet] javadoc: In doclet class xdoclet.DocletTask$DocletMain, 
method start has thrown an exception
java.lang.reflect.InvocationTargetException
[ejbdoclet] Running XDoclet failed.
[ejbdoclet] <<You asked the bean class for a NULL interface name.>>

I'm somethat sure this exception occurs in the dataobject.j template, in
the following section, as the (partially) generated data object class
stops just in this point.

<XDtEjbDataObj:ifIsAggregate>
   protected <XDtClass:pushClass 
value="<XDtEjbIntf:beanClassNameFromInterfaceName/>"><XDtEjbDataObj:dataObjectClass/></XDtClass:pushClass>
 <XDtMethod:propertyName/>;
</XDtEjbDataObj:ifIsAggregate>

beanClassNameFromInterfaceName must be failing because the interface is
generated by XDoclet itself and possibly not available at that time.
I've done a few things to try to ensure that the intf has already bean
generated by the time the <dataobject> task runs: tried placing the
<localinterface> and <localhomeinterface> tasks before <dataobject> and
even running <dataobject> in a separate <ejbdoclet> task after the one
that runs <localinterface> and <localhomeinterface>. None worked.

Any clues?

-- 
Ja ne,
   Pazu
   mailto: [EMAIL PROTECTED]

Anime Gaiden: de f�s para f�s, sempre.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to