Hi,

I am a newbie to both EJB and XDoclet. I have written
a CMP bean with embedded xdoclet tags, but when i run
the ant script, i does not generate the home and
remote interfaces. Please find attached herewith my
bean class and my build.xml file.

Thanks

Rupen

__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus
<?xml version="1.0"?>

<project name="XDoclet Example" default="clean" basedir=".">
  <property file="build.properties"/>
  <path id="xdoclet.classpath">        
	<fileset dir="${xdoclet.dir}/lib">            
		<include name="*.jar"/>        
	</fileset>        
	<fileset dir="${bea.dir}/lib">            
		<include name="j2ee12.jar"/>        
	</fileset>        
   </path>
   <!-- creating directories -->
   <target name="prepare">
      <mkdir dir="${build.dir}" />
      <mkdir dir="${classes.dir}" />
      <mkdir dir="${meta-inf.dir}" />
      <mkdir dir="${lib.dir}" />
   </target>

   <!-- doclets --> 
   <target name="ejbdoclet" depends="prepare">
      <taskdef name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask" classpathref="xdoclet.classpath"/> <!-- classpath="${xdoclet.dir}/lib/xdoclet.jar;${xdoclet.dir}/lib/log4j.jar"/>    -->
      <ejbdoclet destdir = "${src.dir}" excludedtags = "@version,@author" ejbspec="2.0">
         <fileset dir="${src.dir}">
            <include name="**/*Bean.java" />
         </fileset>	
         <remoteinterface /> 
         <homeinterface /> 
	 <entitypk />
         <deploymentdescriptor destdir="${meta-inf.dir}"/> 
         <weblogic destdir="${meta-inf.dir}" />
      </ejbdoclet>
      
   </target>

   <!-- compiling classes --> 
   <target name="compile-ejbs" depends="ejbdoclet">
      <!-- Compile EJBs -->
      <javac srcdir="${src.dir}"
	     classpathref="xdoclet.classpath"
             destdir="${classes.dir}"
             includes="**/*.java"
             debug="on">
      </javac>
   </target>
   <target name="ejb-jar" depends="compile-ejbs">
      <jar jarfile="${lib.dir}/${ejb-jar.name}">
        <fileset dir="${classes.dir}"/>
        <fileset dir="${build.dir}" includes="META-INF/**" />
      </jar>
   </target>

  
   <!-- deleting directories --> 
   <target name="clean" depends="ejb-jar">
      <!-- <delete dir="${build.dir}" /> -->
   </target>

</project>
package customer;

import java.rmi.RemoteException;

import javax.ejb.EJBException;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.RemoveException;

/**
 * @ejb:bean name="Customer" type="CMP" local-jndi-name="customer" primkey-field="key" 
view-type="local" schema="NewcustomerTableSchema"
 * @ejb:pk class="java.lang.String"
 * @ejb:finder signature="java.util.Collection findAll()" query="select Object(c) from 
NewcustomerTableSchema c"
 * @ejb:finder signature="java.util.Collection findByNachname(java.lang.String 
nachname)" query="select Object(c) from NewcustomerTableSchema c where c.nachname = ?1"
 * @ejb:finder signature="java.util.Collection findByVorname(java.lang.String 
vorname)" query="select Object(c) from NewcustomerTableSchema c where c.vorname =?1"
 * @weblogic:data-source-name examples-dataSource-demoPool
 * @weblogic:table-name NEWCUSTOMERTABLE
 */
public abstract class CustomerBean implements EntityBean {
        
        private String key;
        private String vorname;
        private String nachname;

        /**
         * Constructor for Customer.
         */
        public CustomerBean() {
                super();
        }

        /**
         * @see javax.ejb.EntityBean#ejbActivate()
         */
        public void ejbActivate() throws EJBException, RemoteException {
        }

        /**
         * @see javax.ejb.EntityBean#ejbLoad()
         */
        public void ejbLoad() throws EJBException, RemoteException {
        }

        /**
         * @see javax.ejb.EntityBean#ejbPassivate()
         */
        public void ejbPassivate() throws EJBException, RemoteException {
        }

        /**
         * @see javax.ejb.EntityBean#ejbRemove()
         */
        public void ejbRemove()
                throws RemoveException, EJBException, RemoteException {
        }

        /**
         * @see javax.ejb.EntityBean#ejbStore()
         */
        public void ejbStore() throws EJBException, RemoteException {
        }

        /**
         * @see javax.ejb.EntityBean#setEntityContext(EntityContext)
         */
        public void setEntityContext(EntityContext arg0)
                throws EJBException, RemoteException {
        }

        /**
         * @see javax.ejb.EntityBean#unsetEntityContext()
         */
        public void unsetEntityContext() throws EJBException, RemoteException {
        }

        /**
         * @ejb:create-method
         */
        public String ejbCreate(String key,String vName,String nName) {
                setKey(key);
                setNachname(nName);
                setVorname(vName);
                return null;
        }
        
        public void ejbPostCreate(String key,String vName,String nName) {
                
        }
         
        /**
         * Returns the nachname.
         * @ejb:interface-method
         * @ejb:persistent-field
         * @weblogic:dbms-column COL_NACHNAME
         */
        public abstract String getNachname();

        /**
         * Returns the vorname.
         * @ejb:interface-method
         * @ejb:persistent-field
         * @weblogic:dbms-column COL_VORNAME
         */
        public abstract String getVorname();
        
        /**
         * Returns the key.
         * @ejb:interface-method
         * @ejb:persistent-field
         * @ejb:pk-field
         * @weblogic:dbms-column COL_KEY
         */
        public abstract String getKey();

        /**
         * Sets the nachname.
         * @ejb:interface-method
         * @ejb:persistent-field
         * @weblogic:dbms-column COL_NACHNAME
         */
        public abstract void setNachname(String nachname);

        /**
         * Sets the vorname.
         * @ejb:interface-method view-type="remote"
         * @ejb:persistent-field
         * @weblogic:dbms-column COL_VORNAME
         */
        public abstract void setVorname(String vorname) ;
        
        /**
         * Sets the key.
         * @ejb:interface-method
         * @ejb:persistent-field
         * @ejb:pk-field
         * @weblogic:dbms-column COL_KEY
         */
        public abstract void setKey(String key) ;

}

Reply via email to