Tobias,
 
I've run into this problem before myself.  I believe the reason is that your 
class doesn't implement the EntityBean interface.  Try adding this and see if 
it solves your problem.
 
Regards,
 
Rod

        -----Original Message----- 
        From: [EMAIL PROTECTED] on behalf of [EMAIL PROTECTED] 
        Sent: Wed 3/9/2005 10:10 AM 
        To: xdoclet-user@lists.sourceforge.net 
        Cc: 
        Subject: [Xdoclet-user] EJB: No files will be generated except DD's
        
        

        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 

<<winmail.dat>>

Reply via email to