William I. Zumwalt penned

> I'm trying to figure out what's wrong w/ my build.xml
> so that it generates my home and remote interfaces.
> 
>         <ejbdoclet
>             destdir="${src.ejb}/interfaces"

XDoclet will replicate your package hierarchy in this directory. Thus,
for the bean

    com.comp.management.ejb.entities.DeviceBean

you'll end up with the interface

 
./src/com/comp/management/ejb/entities/interfaces/com/comp/management/ej
b/entities/DeviceRemote.java

Of course, package substitution should change the second "ejb" to
"interfaces". As Heiko pointed out in another email, the root directory
must exist (I believe this is correct; at least I create it in my
build.xml), so you need to make sure "${src.ejb}/interfaces" has been
created.

For my build, I have the following directory structure

  proj/
    build/
      classes/    Compiled Java classes
      gen/        Generated Java code (homes, interfaces, util, etc)
      meta/       Deployment descriptors
    src/          Java sources
    test/         JUnit test sources

The clean target wipes the build/ dir entirely. The init target creates
the build/ directory structure above. For ejbdoclet, the dest dir is
"./build/gen" for interfaces and "./build/meta" for deployment
descriptors. Both classes/ and gen/ end up with the package structure,
mirroring src/.

>             excludedtags="@version,@author"
>             addedtags="@xdoclet-generated at ${TODAY}"
>             ejbspec="2.0">
> 
> <!-- Isn't this recursive under this path? How hard
> can this be to find my ejb's? AFAIK, this is the only
> place that directly impacts whether if find my ejb's
> or not. proj.src = ./src and I expect it to go down
> about 5-7 dir levels under ./src and match all files
> w/ "*Bean.java". I've even tried absolute path names
> here.
> -->

Yes, this is the correct pattern. You point to the root of the package
hierarchy (/src) just as you've done.

>             <fileset dir="${proj.src}">
>                 <include name="**/*Bean.java"/>
>             </fileset>
> 
>             <packageSubstitution packages="ejb"
> substituteWith="interfaces"/>
> 
>             <remoteinterface pattern="{0}Remote"/>
>             <localinterface pattern="{0}"/>
>             <homeinterface/>
>             <localhomeinterface/>
> 
>             <dataobject/>
>             <valueobject/>
> <!-- Does it matter if I dont' currently have one or
> the other of CMP or BMP EJB's, or even PKey's? I'm
> just testing w/ a single BMP EJB right now.
> -->

No, this shouldn't matter.

>             <entitypk/>
>             <entitybmp/>
>             <entitycmp/>
> 
>             <session/>
> 
>             <deploymentdescriptor
>                 destdir="${proj.meta-inf}"/>
> 
>             <jboss
>                 version="3.2"
>                 destdir="${proj.meta-inf}"
>                 datasource="java:/PostgresDS"
>                 typemapping="PostgreSQL"/>
> 
>         </ejbdoclet>
>  </target>

I don't see anything else. At this point I'm guessing it's just a matter
of creating your destination directory, but I'd look at shortening your
destination directory as well.

-- 
David Harkness                               Sony Pictures Digital
Sr. Software Engineer   310.482.4756    [EMAIL PROTECTED]

        Those who judge the value of advice by its source
        will at once dismiss the best and follow the worst.


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idP47&alloc_id808&op=click
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to