The following comment has been added to this issue:
Author: Ivan O. Parra
Created: Wed, 10 Sep 2003 1:11 PM
Body:
I too have had a similar issue with local interfaces and packageSubstitution.
If I specify PS in this manner:
<ejbdoclet>
<packageSubstition packages="cmp" substituteWith="interfaces">
<dataobject/>
<homeinterface/>
<localinterface/>
<entitycmp/>
</ejbdoclet>
I end up with files all over the place. Assumming I'm working on com.test.FooBean, my
generated files look like this"
correct - com/ejb/entity/cmp/FooBeanCMP
correct - com/ejb/entity/interfaces/FooBeanData
incorrect - com/entity/cmp/FooBean (which is packaged as com.entity.interfaces)
incorrect - com/entity/cmp/FooBeanHome (which is packaged as com.entity.interfaces).
2 obvious problems exist for both interfaces
1)Package names for interfaces removed the "ejb" from its list
2)the destination directory where incorrect.
I tried specifying a PS to the individual interfaces, the package name would change,
but the destination directory would not. The home interface uses the entire
LocalInterface names in its signatures, which are the default before the conversion.
Even if you move the files to their respective directories, you still need to modify
the xmls and the home interface to match up the correct interfaces.
Looks like localhomeinterface/localinterface is not doing its job.
---------------------------------------------------------------------
View the issue:
http://opensource.atlassian.com/projects/xdoclet/secure/ViewIssue.jspa?key=XDT-595
Here is an overview of the issue:
---------------------------------------------------------------------
Key: XDT-595
Summary: packageSubstitution ignored when generating local interfaces
Type: Bug
Status: Assigned
Priority: Major
Time Spent: Unknown
Remaining: Unknown
Project: XDoclet
Components:
EJB Module
Versions:
1.2 Beta 3
Assignee: xdoclet-devel (Use for new issues)
Reporter: Matt Gumbley
Created: Wed, 6 Aug 2003 11:31 AM
Updated: Wed, 6 Aug 2003 11:31 AM
Environment: Win2000, JBoss 3.0.6
Description:
We're generating the interfaces to our beans (Entity beans, in this case) in a
directory separate from the Bean class:
e.g. this generates interfaces for the /foo/persistence/FooBean bean (some detail
omitted):
<target name="xdoclet-12b3-generate" depends="init">
<taskdef
name="ejbdoclet"
classname="xdoclet.modules.ejb.EjbDocletTask">
<classpath refid="persistence.xdoclet.path"/>
</taskdef>
<mkdir dir="${build.generate.dir}/foo/persistence/interfaces"/>
<ejbdoclet
destdir="${build.generate.dir}"
mergedir="${basedir}/xdoclet"
force="${xdoclet.force}">
<fileset dir="${src.dir}">
<include name="**/*Bean.java"/>
</fileset>
<packageSubstitution packages="persistence"
substituteWith="persistence.interfaces"/>
etc., etc. So, our interfaces should be placed in the /foo/persistence/interfaces
tree, built under ${build.generate.dir}, which is a separate directory from the
${src.dir}. (this works fine with xdoclet 1.1.2, but generates many spurious warnings,
and there's no @ejb.value-object...)
I see the following output from xdoclet:
[ejbdoclet] WARNING: Some classes refer to other classes that were not found among
the sources or on the classpath.
[ejbdoclet] (Perhaps the referred class doesn't exist? Hasn't been
generated yet?)
[ejbdoclet] The referring classes do not import any fully qualified
classes matching these classes.
[ejbdoclet] Since at least one package is imported, it is impossible for
xjavadoc to figure out
[ejbdoclet] what package the referred classes belong to. The classes are:
[ejbdoclet] H:\<my-dev-tree>\src\java\foo\persistence\FooBean.java --> FooLocal
qualified to foo.persistence.FooLocal
This should not need qualifying? It should be foo.persistence.interfaces.FooLocal, as
per the packageSubstitution?
Then javac barfs:
[javac]
H:\<my-dev-tree>\build\generate\foo\persistence\interfaces\FooLocal.java:13: cannot
resolve symbol
[javac] symbol : class FooLocal
[javac] location: package persistence
[javac] public foo.persistence.FooLocal create( java.lang.String
category,java.lang.String key,java.lang.String comment ) throws java.lang.Exception;
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/xdoclet/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel