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) ;
}