Hi Vincent,
I added a <fileset/> underneath <ejbdoclet/> to my generated source
directory and my problem still exists. Why would it be that only
<valueobject/> is having trouble? If I comment out <valueobject/>,
everything else generates fine. Has the code for generating
valueobjects changed within the last week/week-and-a -half?
Here's another interesting finding (*after adding the gensrc fileset*):
If I run it once, I get the error we've been talking about. If I run
it a second time, it does find the GroupLocal interface, but then I get
a similar error about java.util.Set:
<<The Bean class is needed but not found in Xdoclet source path for
interface java.util.Set>>
This has got to be something weird with valueobjects when the bean has
cmr's.
Thanks again,
David
--
Vincent Harcq wrote:
> Hi
>
> David Ward wrote:
>
>> No, it is here:
>> ${src.home}/com/dotech/gizzard/persistence/ejb/GroupBean.java
>> , which is a match for this fileset declaration I have:
>> <fileset dir="${src.home}" includes="**/ejb/*Bean.java"/>
>>
>> The big difference I see in the samples build file against mine is
>> that the samples build file doesn't use a packageSubstitution as a
>> sub-element of <valueobject/>. Instead, there is one as a sub-element
>> of <ejbdoclet/> which replaces "ejb" with "interfaces" . I don't want
>> to do that, and I haven't had to do that in the past...
>
>
>>
>>
>> Again, this used to work about a week ago with xdoclet from cvs.
>>
>> Oh, one last thing: It seems that the samples build file also
>> includes another <fileset/> sub-element under <ejbdoclet/> that
>> includes the interfaces java files. I don't remember this being there
>> before (though I did try it myself to no avail.) There is a comment
>> above it that says:
>> REMARK : we need this to qualify corretly some generated files
>
>
>
> Xjavadoc uses the src path and the classpath to "qualify" Java Classes
> when it "parses" some Java source file.
> If it can not "find" a Java class in either one of these two "location",
> Xjavadoc is in big touble.
> We discussed about warning the user when this happen.
>
> That said,
>
> In your case xdoclet read a remote interface and tries to look the bean
> class that generated this interface to find in it some other usefull
> information. Basically when you play with "relationships" between
> entity bean you will be in that case.
>
> So
> I think your interface can not be found because you do not generate into
> ${src.home}/**/ejb/*Bean.java, and it is not in the classpath too.
>
> That is exactly why I added the generated src directory in the fileset
> of ejbdoclet of the samples.
> Do exactly the same and your problem will fly away :)
> Hope this explanation is a more clear than the REMARK of the samples's
> build.xml ;)
>
> Vincent.
>
>>
>>
>> Any more help with this is greatly appreciated; thanks,
>> David
>>
>> --
>>
>> Vincent Harcq wrote:
>>
>>> Hi
>>>
>>> > <<The Bean class is
>>> > needed but not found in Xdoclet source path for interface
>>> GroupLocal>>
>>>
>>> Is GroupBean in ${src.home}/ejb ?
>>>
>>> Vincent
>>>
>>> David Ward wrote:
>>>
>>>> I'm having trouble creating valueobjects using xdoclet cvs from
>>>> today that I didn't have a little over a week ago. Below is my
>>>> build.xml file and then the error I'm getting. (Sun Linux JDK
>>>> 1.4.0_01, Ant 1.5beta2)
>>>>
>>>> Can anyone tell me what changed and how my build file should change
>>>> to match?
>>>>
>>>> Thanks,
>>>> David
>>>>
>>>> --
>>>>
>>>> <ejbdoclet destdir="${gen.src.home}" ejbspec="2.0"
>>>> verbose="true">
>>>> <fileset dir="${src.home}" includes="**/ejb/*Bean.java"/>
>>>> <fileset dir="${dotech.ejb.src.home}"
>>>> includes="com/dotech/util/ejb/Sequence*Bean.java"/>
>>>> <remoteinterface/>
>>>> <homeinterface/>
>>>> <localinterface/>
>>>> <localhomeinterface/>
>>>> <valueobject pattern="{0}Data">
>>>> <packageSubstitution packages="ejb"
>>>> substituteWith="data"/>
>>>> </valueobject>
>>>> <utilobject/>
>>>> <deploymentdescriptor destdir="${gen.etc.home}/META-INF"/>
>>>> <!--
>>>> debug, datasource and typmapping should change when
>>>> initial
>>>> development is done!
>>>> -->
>>>> <jboss version="3.0"
>>>> destdir="${gen.etc.home}/META-INF"
>>>> debug="true"
>>>> datasource="java:/DefaultDS"
>>>> typemapping="Hypersonic SQL"/>
>>>> </ejbdoclet>
>>>>
>>>>
>>>>
>>>>
>>>> [ejbdoclet] Running <valueobject/>
>>>> [ejbdoclet] --> com.dotech.gizzard.persistence.data.KeywordData
>>>> [ejbdoclet] (XDocletMain.start 51 ) Running
>>>> XDoclet failed.
>>>> [ejbdoclet] (XDocletMain.start 52 ) <<The Bean
>>>> class is
>>>> needed but not found in Xdoclet source path for interface GroupLocal>>
>>>> [ejbdoclet]
>>>> /home/david/dev/D.O.Tech/gizzard.persistence/workspace/build.xml:88:
>>>> XDoclet
>>>> failed
>>>> [ejbdoclet] at xdoclet.DocletTask.start(DocletTask.java:350)
>>>> [ejbdoclet] at
>>>> xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:66)
>>>> [ejbdoclet] at
>>>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java)
>>>> [ejbdoclet] at org.apache.tools.ant.Task.perform(Task.java)
>>>> [ejbdoclet] at org.apache.tools.ant.Target.execute(Target.java)
>>>> [ejbdoclet] at
>>>> org.apache.tools.ant.Target.performTasks(Target.java)
>>>> [ejbdoclet] at
>>>> org.apache.tools.ant.Project.executeTarget(Project.java)
>>>> [ejbdoclet] at
>>>> org.apache.tools.ant.Project.executeTargets(Project.java)
>>>> [ejbdoclet] at org.apache.tools.ant.Main.runBuild(Main.java)
>>>> [ejbdoclet] at org.apache.tools.ant.Main.start(Main.java)
>>>> [ejbdoclet] at org.apache.tools.ant.Main.main(Main.java)
>>>> [ejbdoclet] --- Nested Exception ---
>>>> [ejbdoclet] xdoclet.XDocletException: The Bean class is needed but
>>>> not found in
>>>> Xdoclet source path for interface GroupLocal
>>>> [ejbdoclet] at
>>>>
>xdoclet.modules.ejb.intf.InterfaceTagsHandler.getBeanClassNameFromInterfaceNameFor(InterfaceTagsHandler.java:194)
>
>>>>
>>>> [ejbdoclet] at
>>>>
>xdoclet.modules.ejb.entity.ValueObjectTagsHandler.forAllRelations(ValueObjectTagsHandler.java:682)
>
>>>>
>>>> [ejbdoclet] at
>>>>
>xdoclet.modules.ejb.entity.ValueObjectTagsHandler.forAllRelations(ValueObjectTagsHandler.java:486)
>
>>>>
>>>> [ejbdoclet] at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>
>>>>
-------------------------------------------------------
Sponsored by:
ThinkGeek at http://www.ThinkGeek.com/
_______________________________________________
Xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user