I have an EntityBean with XDoclet-Tags, but Ant generated no 
Bean/Home/Remote/PK files, only a nearly plain ejb-jar.xml.

My Bean looks like:

package MTB.Person.Supervisor;

import javax.ejb.*;
import java.rmi.*;
import org.apache.log4j.*;
 
/**
   @ejb.bean 
       name="Supervisor"
       type="CMP"
       jndi-name="ejb/supervisor"
       reentrant="false"
       impl-class-name="MTB.Person.Supervisor.SupervisorBean"
     
   @ejb.pk class="MTB.Person.Supervisor.SupervisorPK"
   @ejb.home class="MTB.Person.Supervisor.SupervisorHome"
   @ejb.interface class="MTB.Person.Supervisor.Supervisor"
   
   @ejb.persistence table-name="MTB2Supervisor"

   @ejb.transaction type="Required"

   @ejb.finder
        signature="java.util.Collection findAll()"
        uncecked="true"

    @ejb.finder
        signature="java.util.Collection findByLogin( String login )"
        query="SELECT OBJECT(s) FROM MTB2Supervisor s WHERE name = ?1"
        uncecked="true"
*/
public abstract class SupervisorBean
{
    static Logger log = Logger.getLogger( SupervisorBean.class );

    private EntityContext entityContext;

    /**
       @ejb.create-method
    */
    public SupervisorPK ejbCreate() throws CreateException
    {
        log.debug( "ejbCreate()" );
        /** stuff */
        return null;
    }

    /**
       @ejb.pk-field
       @ejb.persistence column-name="login"
       @jboss.column-name name="login"
    */
    public abstract String getLogin();
    public abstract void setLogin( String login );

    /**
       @ejb.persistence column-name="password"
       @jboss.column-name name="password"
    */
    public abstract String getPassword();
    public abstract void setPassword( String login );

    public void ejbPostCreate() throws RemoteException, CreateException
    {
        log.debug( "ejbPostCreate()" );
    }
 
    public void ejbRemove() throws RemoteException, RemoveException
    {
        log.debug( "ejbRemove()" );
    }
 
    public void ejbActivate() throws RemoteException
    {
        log.debug( "ejbActivate()" );
    }
 
    public void ejbPassivate() throws RemoteException
    {
        log.debug( "ejbPassivate()" );
    }
 
    public void ejbLoad() throws RemoteException
    {
        log.debug( "ejbLoad()" );
    }
 
    public void ejbStore() throws RemoteException
    {
        log.debug( "ejbStore()" );
    }
 
    public void setEntityContext(EntityContext context) throws RemoteException
    {
        log.debug( "setEntityContext(EntityContext context)" );
        entityContext = context;
    }
 
    public void unsetEntityContext() throws RemoteException
    {
        log.debug( "unsetEntityContext()" );
        entityContext = null;
    }
 
    /**
       @ejb.interface-method
    */
    public boolean check(String _password)
    {
        log.debug( "check(String _password)" );

        log.debug( "( _password, password) = " + _password + "," + 
getPassword() );
        if(_password.equals( getPassword() ) ) {
            return true;
        }
        log.info( "passwords not equal" );
        return false;
    }
 
    /**
       @ejb.interface-method
    */
    public boolean setPassword( String password, String passwordNew )
    {
        log.debug( "setPassword(String password,String passwordNew)" );

        if( ! password.equals( getPassword() ) ) { 
            return false;
        }
        log.debug( "Old Password correct, setting new Password" );
        setPassword( passwordNew );
        return true;
    }
}

And my build.xml looks like:

--snip--
        <target name="generateEJB" depends="init">

                <taskdef name="ejbdoclet" 
classname="xdoclet.modules.ejb.EjbDocletTask" 
classpathref="project.lib.path" />

                <mkdir dir="generatedEJB" />
                        
                <ejbdoclet destdir="generatedEJB" verbose="true" 
excludedtags="@version,@author,@todo">

                        <fileset dir="src" includes="**/*Bean.java" />

                        <dataobject />
                        <homeinterface />
                        <localhomeinterface />
                        <remoteinterface />
                        <localinterface />
                        <entitypk />
                        <entitycmp />
                        <session />
                        <deploymentdescriptor destDir="generatedEJB/META-INF" />
                        <jboss version="3.2" destDir="generatedEJB/META-INF" />

                </ejbdoclet>

        </target>

--snip--

The ant output is:

Buildfile: build.xml

init:

clean:
   [delete] Deleting 
directory /home/lefou/dip_memos/memos_src_2/MTBx/generatedEJB

generateEJB:
    [mkdir] Created dir: /home/lefou/dip_memos/memos_src_2/MTBx/generatedEJB
[ejbdoclet] log4j:WARN No appenders could be found for logger 
(xdoclet.util.Translator.getString).
[ejbdoclet] log4j:WARN Please initialize the log4j system properly.
[ejbdoclet] Generating EJB deployment descriptor (ejb-jar.xml).
[ejbdoclet] Generating jboss.xml.

all:

BUILD SUCCESSFUL
Total time: 6 seconds

But not other files are generated. 

$ find src
src/
src/MTB
src/MTB/Person
src/MTB/Person/Supervisor
src/MTB/Person/Supervisor/SupervisorBean.java

$ find generatedEJB
generatedEJB
generatedEJB/META-INF
generatedEJB/META-INF/ejb-jar.xml
generatedEJB/META-INF/jboss.xml

Can anybody give a hint, what I forgot or made wrong. I'm using Ant 1.6.2 and 
XDoclet 1.2.2. Same Problems with XDoclet 1.2.0 and 1.2.1.

Thanks,
Tobias


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
xdoclet-user mailing list
xdoclet-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to