The following comment has been added to this issue:

     Author: Ivan O. Parra
    Created: Wed, 10 Sep 2003 2:34 PM
       Body:
Ignore that previous statement.  It was doing the right thing.  Confusion on my part.
---------------------------------------------------------------------
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

Reply via email to