Matthew Excell writes:
> Cleber,
> 
> In your ant task, inside the ejbdoclet section, do you have a jboss
> section that is set-up similar to the following:
> 
>            <jboss
>                 version="3.0"
>                 unauthenticatedPrincipal="nobody"
>                 xmlencoding="UTF-8"
>                 destdir="${metainf.dir}"
>                 validatexml="true"
>                 preferredrelationmapping="relation-table"
>                 datasource="java:/WiaDS"
>                 datasourcemapping="PostgreSQL 7.2"
>                 mergeDir="${src.dir}/merge/ejb"
>             />
> 
> We use XDoclet and JBoss on the vast majority of our J2EE projects. (I
> personally am currently working as architect on three projects with over
> 200 entities and it works wonderfully!)
> 
> Could you post the section of your build.xml that deals with ejbdoclet?
> 
> Are any jboss files being generated at all? 
>  
> 
> -- 
> Matthew Excell
> Senior Consultant - The Possibility Forge, Inc.
> 
> 
> PS. Estou com saldade de S�o Paulo! 




Ok, That's all my build.xml:


<?xml version="1.0"?>

<project name="XDoclet" default="main" basedir="..">


   <!-- Set up java.class.path -->
   <path id="project.class.path">
      <!-- LOG4J properties -->
      <pathelement path="${basedir}\script" />

      <fileset dir="lib">
         <include name="**/*.jar" />
      </fileset>

      <!-- append the external classpath lastly -->
      <pathelement path="${java.class.path};gensrc/java/tci/interfaces/*.java" />

   </path>


   <!-- Init -->
   <target name="init">

      <property name="empresa" value="tci"/>

      <property name="lib.dir" value="lib" />
      <property name="xdoclet.jar.path" value="${basedir}/lib/xdoclet.jar" />
      <property name="log4j.jar.path" value="lib/log4j.jar" />
      <property name="log4j.path" value="${basedir}/script" />
      <property name="ant.jar.path" value="lib/ant.jar" />

      <property name="Name" value="Samples" />
      <property name="name" value="samples" />

      <property name="src.dir" value="src" />
      <property name="generated.src.dir" value="gensrc" />

      <property name="web.dir" value="${src.dir}/web" />
      <property name="java.dir" value="${src.dir}/java" />
      <property name="generated.java.dir" value="${generated.src.dir}/java/" />

      <property name="config.dir" value="config" />
      <property name="build.dir" value="build" />
      <property name="dist.dir" value="dist" />

      <property name="build.compiler" value="jikes" />
      <property name="classpath" value="" />

      <property name="ejb.dir"               value="${build.dir}/ejb"/>
      <property name="ejb.classes.dir"       value="${ejb.dir}/classes"/>
      <property name="ejb.dd.dir"            value="${ejb.dir}/META-INF"/>

      <property name="ejb.generic.dir"       value="${ejb.dir}/generic-ejb"/>
      <property name="ejb.generic.file"      
value="${ejb.generic.dir}/${name}-ejb.jar"/>

      <property name="ejb.weblogic.dir"      value="${ejb.dir}/weblogic-ejb"/>
      <property name="ejb.weblogic.file"     
value="${ejb.weblogic.dir}/${name}-ejb.jar"/>


      <!-- These are here to test the use of properties in @tags -->
      <property name="jboss.create.table" value="true" />
      <property name="jboss.remove.table" value="true" />
      <property name="jboss.tuned.updates" value="true" />
      <property name="jboss.read.only" value="false" />

   </target>


   <!-- Prepare -->
   <target name="prepare" depends="init">

      <mkdir dir="${build.dir}" />

      <mkdir dir="${generated.java.dir}/${empresa}" />
      <mkdir dir="${generated.java.dir}/${empresa}/ejb" />

      <mkdir dir="${build.dir}/ejb" />
      <mkdir dir="${build.dir}/ejb/META-INF" />

      <mkdir dir="${build.dir}/web" />
      <mkdir dir="${build.dir}/web/WEB-INF" />
      <mkdir dir="${build.dir}/web/WEB-INF/tlds" />
      <mkdir dir="${build.dir}/web/WEB-INF/classes" />

      <mkdir dir="${build.dir}/j2ee" />
      <mkdir dir="${build.dir}/j2ee/META-INF" />

      <mkdir dir="${build.dir}/jmx" />

      <mkdir dir="${dist.dir}" />

      <mkdir dir="${generated.src.dir}" />
      <mkdir dir="${generated.java.dir}" />

      <mkdir dir="${ejb.dd.dir}"/>
      <mkdir dir="${ejb.classes.dir}"/>
      <mkdir dir="${ejb.generic.dir}"/>
      <mkdir dir="${ejb.weblogic.dir}"/>

   </target>


   <!-- Run EJBDoclet -->
   <target name="ejbdoclet" depends="prepare">

      <taskdef name="ejbdoclet"
               classname="xdoclet.ejb.EjbDocletTask" 
classpath="${xdoclet.jar.path};${log4j.jar.path};${ant.jar.path}"
      />

      <ejbdoclet
         sourcepath="${java.dir};${log4j.path}"
         destdir="${generated.java.dir}"
         classpathref="project.class.path"
         excludedtags="@version,@author"
         ejbspec="2.0"
         force="${xdoclet.force}">

         <!--
            It's good practice to put interfaces in a separate "interfaces"
            package than in EJB bean implementations, but if you don't like it
            or want to apply another package naming convention, just remove the
            following like add as many <packageSubstitution/> as you want to
            configure it.
         -->
         <packageSubstitution packages="ejb" substituteWith="interfaces"/>

         <fileset dir="${java.dir}">
            <include name="${empresa}/**/*Bean.java" />
         </fileset>

         <remoteinterface/>
         <localinterface/>
         <homeinterface />
         <localhomeinterface/>
         <entitypk/>

         <deploymentdescriptor destdir="${ejb.dd.dir}" validatexml="true" />

         <jboss
            version="3.0"
            xmlencoding="UTF-8"
            destdir="${ejb.dd.dir}"
            validatexml="false"
            typemapping="mySQL"
            datasource="java:/MySqlDS"
         />

         <!--
         Have struts form objects generated based on entity beans'
         data objects.  Will require struts.jar to compile. -->
         <strutsform />


         <!--
         Have a mapping.xml file generated for castor classes.
         -->
         <castormapping destdir="${build.dir}/ejb/classes" validatexml="false" />
         <!-- -->

      </ejbdoclet>

   </target>


   <!-- Run WebDoclet -->
   <target name="webdoclet" depends="prepare">

      <taskdef name="webdoclet"
               classname="xdoclet.web.WebDocletTask" 
classpath="${xdoclet.jar.path};${log4j.jar.path};${ant.jar.path}"
      />

      <webdoclet
         sourcepath="${java.dir}"
         destdir="${generated.java.dir}"
         classpathref="project.class.path"
         force="${xdoclet.force}">

         <fileset dir="${java.dir}">
            <include name="**/*Servlet.java" />
            <include name="**/*Filter.java" />
            <include name="**/*Tag.java" />
            <include name="**/*Action.java" />
         </fileset>

         <deploymentdescriptor servletspec="2.3" destdir="${build.dir}/web/WEB-INF" >
            <taglib uri="http://java.sun.com/jstl/ea/core"; location="/WEB-INF/c.tld" />
         </deploymentdescriptor>

         <jsptaglib jspversion="1.2" destdir="${build.dir}/web/WEB-INF/tlds"
            shortname="j2ee" validateXml="false"
         />
         <!-- -->
         <jbosswebxml destdir="${build.dir}/web/WEB-INF" />

         <jrunwebxml destdir="${build.dir}/web/WEB-INF"  mergedir="${src.dir}" />

         <!-- -->
         <!-- generate WebWork stuff, uncomment it if you want to run it.
         -->
         <webWorkConfigProperties />
         <webWorkActionDocs javadocdir="api" mergedir="${src.dir}"/>

      </webdoclet>

   </target>

   <target name="jmxdoclet" depends="prepare">

      <taskdef name="jmxdoclet"
               classname="xdoclet.jmx.JMXDocletTask" 
classpath="${xdoclet.jar.path};${log4j.jar.path};${ant.jar.path}"
      />

      <jmxdoclet
         sourcepath="${java.dir}"
         destdir="${generated.java.dir}"
         classpathref="project.class.path"
         force="${xdoclet.force}">

         <fileset dir="${java.dir}">
            <include name="${empresa}/jmx/**/*.java" />
         </fileset>

         <!-- Create the {0}MBean interface for the MBean -->
         <mbeaninterface mergedir="${src.dir}"/>

         <!-- Create the OpenJMX specific description adaptor class for the MBean -->
         <openjmxDescription />

         <!--create the jbossmx xml descriptor for the mbean-->
         <jbossxmbean/>

         <!--create the jboss xml service template for the mbean-->
         <jbossXmlServiceTemplate/>
      </jmxdoclet>

   </target>

   <!-- Compile -->
   <!--target name="compile" depends="compile-ejbs,webdoclet,jmxdoclet"-->
   <target name="compile" depends="compile-ejbs">
   
      <!-- Compile web classes -->
      <echo message="Compilando - srcdir: 
${java.dir};${generated.java.dir}/**/*.java"/>
      <echo message="Compilando - includes: ${empresa}/web/*.java"/>
      <echo message="destdir: ${empresa}/web/*.java"/>
           
      <javac srcdir="${java.dir};${generated.java.dir}/**/*.java"
             destdir="${build.dir}/web/WEB-INF/classes"
             includes="${empresa}/web/*.java"
             debug="on">

         <classpath refid="project.class.path" />
      </javac>

      <javac srcdir="${java.dir};${generated.java.dir}"
             destdir="${build.dir}/jmx"
             includes="${empresa}/jmx/*.java"
             debug="on">

         <classpath refid="project.class.path" />
      </javac>

   </target>


   <target name="compile-ejbs" depends="ejbdoclet">
      <!-- Compile EJBs -->
      <echo message="Compilando (srcdir): ${java.dir};${generated.java.dir}"/>
      <echo message="Compilando (includes): 
${empresa}/ejb/*.java,${empresa}/interfaces/*.java,${empresa}/struts/*.java,${empresa}/ejb/cmr/*.java,${empresa}/dao/*.java"/>
      <echo message="destdir: ${ejb.classes.dir}"/>
                 
      <javac srcdir="${java.dir};${generated.java.dir}"
             destdir="${ejb.classes.dir}"
             
includes="${empresa}/ejb/*.java,${empresa}/interfaces/*.java,${empresa}/struts/*.java,${empresa}/ejb/cmr/*.java,${empresa}/dao/*.java"
             debug="on">

         <classpath refid="project.class.path" />
      </javac>
   </target>

   <!-- Create EJB-JAR file -->
   <target name="ejb-jar" depends="compile-ejbs">
      <jar jarfile="${ejb.generic.file}">
        <fileset dir="${ejb.classes.dir}" />
        <fileset dir="${ejb.dir}" includes="META-INF/**" />
      </jar>
   </target>

   <target name="weblogic-ejb-jar" depends="ejb-jar">
      <java classname="weblogic.ejbc20" fork="yes">
         <arg value="${ejb.generic.file}"/>
         <arg value="${ejb.weblogic.file}"/>
      </java>
   </target>


   <!-- Create WAR file -->
   <target name="web-war" depends="compile">

      <!-- Copy JSPs -->
      <copy todir="${build.dir}/web">
          <fileset dir="${web.dir}"/>
      </copy>

      <!-- create WAR file -->
      <jar jarfile="${build.dir}/j2ee/${name}-web.war" basedir="${build.dir}/web"/>

   </target>


   <!-- Create EAR file -->
   <target name="j2ee-ear" depends="web-war,ejb-jar,appxml">

      <!-- Copy EAR file -->
      <jar jarfile="${dist.dir}/${name}.ear">
        <fileset dir="${build.dir}/j2ee" />
        <fileset dir="${ejb.generic.dir}" />
      </jar>

   </target>


   <!-- Deploy to ... -->
   <target name="deploy" depends="j2ee-ear">


   </target>


   <!-- Clean everything -->
   <target name="clean" depends="init">

      <delete dir="${build.dir}" />
      <delete dir="${dist.dir}" />
      <delete dir="${generated.src.dir}" />

   </target>

   <target name="clean-build" depends="clean, main" />

   <!-- Main -->
   <target name="main" depends="deploy" />

   <!-- ========================================= -->
   <!-- verify ejb-jar files using jboss verifier -->
   <!-- ========================================= -->
   <target name="verify" depends="ejb-jar">
     <java classname = "org.jboss.verifier.Main" fork="true" failonerror="true">
        <classpath refid = "project.class.path"/>
         <arg value = "${build.dir}/j2ee/${name}-ejb.jar"/>
     </java>
   </target>

   <!-- ========================================= -->
   <!-- generate todo-list from on @todo tags -->
   <!-- ========================================= -->
   <target name="todo" depends="init">

      <taskdef
         name="document"
         classname="xdoclet.doc.DocumentDocletTask"
         classpath="${xdoclet.jar.path};${log4j.jar.path};${ant.jar.path}"
      />

      <document
         sourcepath="${src.dir}"
         destdir="${build.dir}/todo"
         
classpath="${xdoclet.jar.path};${log4j.jar.path};${ant.jar.path};${java.class.path}"
      >
         <fileset dir="${src.dir}">
            <include name="**/*.java" />
         </fileset>

         <info
            header="Todo list"
            projectname="${Name}"
            tag="todo"
         />

      </document>
   </target>


   <!-- ================================================= -->
   <!-- Example usage of the AntPropertyTask Creates an   -->
   <!-- application.xml file from a template and replaces -->
   <!-- all occurrences of                                -->
   <!-- <XDtAnt:property name="some.ant.property"/>       -->
   <!-- with the specified ant property.                  -->
   <!-- ================================================= -->
   <target name="appxml" depends="init">
      <property name="app.display.name" value="Samples"/>
      <property name="app.description" value="Sample application for XDoclet"/>
      <property name="app.ejbjar.name" value="samples-ejb.jar"/>
      <property name="app.war.name" value="samples-web.war"/>
      <property name="app.contextroot" value="/samples"/>

      <taskdef
         name="replacecopy"
         classname="xdoclet.ant.ReplaceCopy"
         classpath="${xdoclet.jar.path};${log4j.jar.path};${ant.jar.path}"
      />
      <replacecopy
         file="config/application/application.xml"
         todir="${build.dir}/j2ee/META-INF"
      />
   </target>


</project>


That's is all mey Bean:


package tci.ejb;

import tci.interfaces.ItemTransferPK;

import tci.interfaces.ItemTransfer;


import java.sql.Date;
import java.util.*;
import java.math.*;


import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.FinderException;
import javax.ejb.RemoveException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;



/**
 * Entity bean que representa  Item
 *
 * @author Cleber Miranda Barboza
 * @version $Revision: 1.0 $
 *
 * @ejb.bean
 * name="ItemTransfer"
 * display-name="Item Relacionado aos Contratos"
 *    type="CMP"
 *    local-jndi-name="ItemTransferLocalHome"
 *    view-type="local"
 *    
 * @ejb.transaction type="Required"
 *
 * @ejb.finder signature="java.util.Collection findAll()"
 *
 * @ejb.finder 
 * signature="tci.interfaces.ItemTransferLocal findByItem(java.lang.String codEmpresa, 
java.lang.String codItem)"
 * unchecked="true"
 * query="SELECT OBJECT(p) FROM ItemTransfer AS p WHERE p.codEmpresa=?1 AND 
p.codItem=?2"
 * view-type="local"
 * 
 * 
 * @ejb.persistence table-name="fat_ctr_rems_446"
 * 
 *
 **/
public abstract class ItemTransferBean implements EntityBean
{
   
   // -------------------------------------------------------------------------
   // Membros
   // -------------------------------------------------------------------------  
   
   public EntityContext mContext;
   
   // -------------------------------------------------------------------------
   // Metodos
   // -------------------------------------------------------------------------  
   
   
   // -------------------------------------------------------------------------
   // (Getters/Setters)
   // -------------------------------------------------------------------------  



    /**
    * @return Retorna um Inteiro representando o id
    *
    * @ejb:persistent-field
    * @ejb.pk
    * 
    * @jboss:column-name id
    * @jboss:sql-type CHAR(15) 
    * @jboss:jdbc-type CHAR(15)
    *       
    */
   public abstract String getId();

   /**
    * Id of this account.
    *
    */
   public abstract void setId( String id );




   
   /**
   * @return Retorna uma String  
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   * @ejb.pk
   * 
   * @jboss:column-name "empresa"
   * @jboss:sql-type CHAR(2)
   * @jboss:jdbc-type CHAR
   *      
   **/
   public abstract String getCodEmpresa();
   
   /**
   * @param codEmpresa  
   **/
   public abstract void setCodEmpresa( String codEmpresa );
   
   
   /**
   * @return Retorna uma String 
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "secao"
   * @jboss:sql-type CHAR(10)
   * @jboss:jdbc-type CHAR
   *           
   **/
   public abstract String getSecao();
   
   /**
   * @param secao
   **/
   public abstract void setSecao( String secao );
   
   
   /**
   * @return Retorna uma Integer
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "ordem_producao"
   * @jboss:sql-type INTEGER(4)
   * @jboss:jdbc-type INTEGER
   *          
   **/
   public abstract Integer getOrdemProducao();
   
   /**
   * @param ordemProducao
   **/
   public abstract void setOrdemProducao( Integer ordemProducao );
   
   
   /**
   * @return Retorna uma String
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   * 
   * @jboss:column-name "item"
   * @jboss:sql-type CHAR(15)
   * @jboss:jdbc-type CHAR
   *          
   **/
   public abstract  String getItem();
   
   /**
   * @param itemm
   **/
   public abstract void setItem( String itemm );
   
   
   /**
   * @return Retorna uma BigDecimal
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "pedido"
   * @jboss:sql-type DECIMAL(6)
   * @jboss:jdbc-type DECIMAL
   *          
   **/
   public abstract  BigDecimal getPedido();
   
   /**
   * @param pedido
   **/
   public abstract void setPedido( BigDecimal pedido );

   
   /**
   * @return Retorna uma Decimal
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "qtd_remessa"
   * @jboss:sql-type DECIMAL(10,3)
   * @jboss:jdbc-type DECIMAL
   *          
   **/
   public abstract  BigDecimal getQtdRemessa();
   
   /**
   * @param qtdRemessa
   **/
   public abstract void setQtdRemessa( BigDecimal qtdRemessa );
   
   
   /**
   * @return Retorna uma Date 
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "dat_remessa"
   * @jboss:sql-type DATE
   * @jboss:jdbc-type DATE
   *          
   **/
   public abstract  Date getDatRemessa();
   
   /**
   * @param datRemessa
   **/
   public abstract void setDatRemessa( Date datRemessa );
   
   
   /**
   * @return Retorna uma String
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "hor_remessa"
   * @jboss:sql-type CHAR(5)
   * @jboss:jdbc-type CHAR
   *          
   **/
   public abstract  String getHorRemessa();
   
   /**
   * @param horRemessa
   **/
   public abstract void setHorRemessa( String horRemessa );
   
   
   /**
   * @return Retorna uma String 
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "eqpto"
   * @jboss:sql-type CHAR(15)
   * @jboss:jdbc-type CHAR
   *          
   **/
   public abstract  String getEqpto();
   
   /**
   * @param eqpto
   **/
   public abstract void setEqpto( String eqpto );
   
   
   /**
   * @return Retorna um String
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "lacre"
   * @jboss:sql-type CHAR(15)
   * @jboss:jdbc-type CHAR
   *          
   **/
   public abstract  String getLacre();
   
   /**
   * @param lacre
   **/
   public abstract void setLacre( String lacre );
   
   
   /**
   * @return Retorna uma String
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "motorista"
   * @jboss:sql-type CHAR(15)
   * @jboss:jdbc-type CHAR
   *          
   **/
   public abstract  String getMotorista();
   
   /**
   * @param motorista
   **/
   public abstract void setMotorista( String Motorista );
   
   
   /**
   * @return Retorna uma String
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "usuario"
   * @jboss:sql-type CHAR(8)
   * @jboss:jdbc-type CHAR
   *          
   **/
   public abstract  String getUsuario();
   
   /**
   * @param usuario
   **/
   public abstract void setUsuario( String usuario );
   
   
   /**
   * @return Retorna uma String
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "confirmado"
   * @jboss:sql-type CHAR(1)
   * @jboss:jdbc-type CHAR
   *          
   **/
   public abstract  String getConfirmado();
   
   /**
   * @param confirmado
   **/
   public abstract void setConfirmado( String confirmado );
   
   
   /**
   * @return Retorna uma String
   *
   * @ejb.persistent-field
   * @ejb.interface-method view-type="local"
   *
   * @jboss:column-name "item_bomba"
   * @jboss:sql-type CHAR(15)
   * @jboss:jdbc-type CHAR
   *          
   **/
   public abstract  String getItemBomba();
   
   /**
   * @param itemBomba
   **/
   public abstract void setItemBomba( String itemBomba );
   
   
   // -------------------------------------------------------------------------
   // Framework Callbacks
   // -------------------------------------------------------------------------  
   
   
  /** 
   *
   * @ejb:create-method view-type="local"
   **/
   public ItemTransferPK ejbCreate( String id )
      throws
         EJBException,
         CreateException
   {
     setId( id );
       
         return null;
   }
  

   
   public void setEntityContext( EntityContext lContext )
   {
      mContext = lContext;
   }
   
   public void unsetEntityContext()
   {
      mContext = null;
   }
   
   public void ejbActivate()
   {
   }
   
   public void ejbPassivate()
   {
   }
   
   public void ejbLoad()
   {
   }
   
   public void ejbStore()
   {
   }
   
   public void ejbRemove() throws
         RemoveException
   {
   }

   public void ejbPostCreate( String id )  throws CreateException {

      // initialize any relationships here.
      
      try {
      } 
      catch (Exception e) {
         mContext.setRollbackOnly();
         throw new CreateException( "Erro Criando Item: " + e.getMessage());
      }
      
   }                                                                                   
     
   
  
}


Xdoclet gernerates the follow files: ejb-jar.xml  jaws.xml  jbosscmp-jdbc.xml  
jboss.xml

But neither of them has the <table-name>fat_ctr_rems_446</table-name> tag, which is 
necessary for Jboss
identify the table at database !


[]'s 

--
Cleber Miranda Barboza.                                         
I'm  a Computer Science student at University of S�o Paulo (USP). 
                                                                 
email: [EMAIL PROTECTED]
home page: http://www.linux.ime.usp.br/~cleberc



-------------------------------------------------------
This SF.net email is sponsored by:Crypto Challenge is now open! 
Get cracking and register here for some mind boggling fun and 
the chance of winning an Apple iPod:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to