Ladies and Gentlemen greetings,
 
I have tried my best at searching for the solution to my problem but I still cant find one.
 
I have 4 beans SurferEJB, AccountEJB, SurferBilling and DateEJB
 - SurferEJB and AccountEJB are involved in a 1:1 bidrectional relationship (surfer has an account, account belongs to a surfer)
 - AccountEJB and SurferBillingEJB are involved in a 1:N bidirectional relationship             (many payments to an account)
 -AccountEJB and DateEJB are involved in a 1:1 unidirectional relationship (account has a date of creation)
 - SurferBillingEJB and DateEJB also have a 1:1 unidirectional relationship (date of billing)
 
Xdoclet compiles the classes and creates my jar file , no problems with that,
The problem comes from deployment on JBoss
 
I keep getting the following errors:
 
09:09:17,630 INFO  [MainDeployer] Deployed package: file:/C:/jboss-3.2.1/server/
default/deploy/Xterra-cafe-manager-1.0.jar
09:09:17,630 ERROR [URLDeploymentScanner] MBeanException: Exception in MBean ope
ration 'checkIncompleteDeployments()'
Cause: Incomplete Deployment listing:
Packages waiting for a deployer:
  <none>
Incompletely deployed packages:
  <none>
MBeans waiting for classes:
  <none>
MBeans waiting for other MBeans:
[ObjectName: jboss.j2ee:jndiName=ejb/cafeman/SurferBillingEJB,service=EJB
 state: FAILED
 I Depend On:
 Depends On Me: org.jboss.deployment.DeploymentException: CMP field for key not
found: field name=surferID, ObjectName: jboss.j2ee:jndiName=ejb/cafeman/AccountE
JB,service=EJB
 state: FAILED
 I Depend On:
 Depends On Me: org.jboss.deployment.DeploymentException: CMP field for key not
found: field name=surferID, ObjectName: jboss.j2ee:jndiName=ejb/cafeman/SurferEJ
B,service=EJB
 state: FAILED
 I Depend On:
 Depends On Me: org.jboss.deployment.DeploymentException: CMP field for key not
found: field name=surferID, ObjectName: jboss.j2ee:jndiName=ejb/DateEJB,service=
EJB
 
PLEASE I WILL REALLY REALLY AND REALLY APPRECIATE ANY HELP
THANKS IN ADVANCE
 
My code is below:
 
///SurferEJB
 

/**

* <p>Persistant object to represent a cybercafe's surfer/customer business entity.</p>

*

* @ejb.bean

* type="CMP"

* name="SurferEJB"

* display="An EJB bean representation of a Cybercafe customer"

* cmp-version="2.x"

* schema="Surfer"

* local-jndi-name="ejb/cafeman/SurferEJB"

* view-type="local"

* primkey-field="surferID"

* @ejb.home

* generate="true"

* local-class="com.netplaytechnologies.cafeman.ejb.surfer.SurferEJBLocalHome"

* @ejb.interface

* local-class="com.netplaytechnologies.cafeman.ejb.surfer.SurferEJBLocal"

* @ejb.finder

* signature="java.util.Collection findByFirstName(java.lang.String name)"

* unchecked="true"

* query="SELECT DISTINCT OBJECT(s) FROM Surfer AS

* WHERE s.firstName = ?1"

* @ejb.finder

* signature="java.util.Collection findByUserName(java.lang.String name)"

* unchecked="true"

* query="SELECT DISTINCT OBJECT(s) FROM Surfer AS s

* WHERE s.userName = ?1"

* @ejb.finder

* signature="java.util.Collection findAll()"

* unchecked="true"

* query="SELECT DISTINCT OBJECT(s)

* FROM Surfer AS s"

* @ejb.finder

* signature="java.util.Collection findSurfersWithNoPayments()"

* unchecked="true"

* query="SELECT DISTINCT OBJECT(s) FROM Surfer AS s

* WHERE s.account.billings IS EMPTY"

* @ejb.persistence

* table-name="TBL_SURFER"

* @ejb.value-object

* name="Surfer"

* match="*"

* @ejb.value-object

* name="SurferLight"

* match="light"

* @ejb.ejb-ref

* ejb-name="AccountEJB"

* ref-name="ejb/cafeman/AccountEJB"

* view-type="local"

* @ejb.transaction

* type="Required"

* @jboss.persistence

* create-table="true"

* remove-table="false"

* read-

* *

* @author Edward Banfa

* @version 1.0

*/

public abstract class SurferEJBBean extends BaseCMPBean implements javax.ejb.EntityBean {


/**

* @return

* @ejb.interface-method view-type="local"

* @ejb.pk-field

* @ejb.persistence

* column-name="SURFER_ID"

* jdbc-type="VARCHAR"

* sql-type="VARCHAR(100)"

* @ejb.value-object

* match="light"

*

*/

public abstract String getSurferID();


/**

* @param surferID

*

*/

public abstract void setSurferID(String surferID);


/**

* @param account

* @ejb.interface-method view-type="local"

*/

public abstract void setAccount(com.netplaytechnologies.cafeman.ejb.surfer.AccountEJBLocal account);


/**

* @return

* @ejb.interface-method view-type="local"

* @ejb.relation

* name="Surfer-Account"

* role-name="surfer-has-an-account"

* cascade-delete="yes"

* @ejb.value-object

* compose="com.netplaytechnologies.cafeman.ejb.surfer.AccountValue"

* compose-name="AccountValue"

* members="com.netplaytechnologies.cafeman.ejb.surfer.AccountEJBLocal"

* members-name="AccountValue"

* relation = "external"

* @jboss.relation-mapping style="foreign-key"

* @jboss.relation

* fk-column="account_fk"

* related-pk-field="accountID"

* fk-constraint="true"

*/

public abstract com.netplaytechnologies.cafeman.ejb.surfer.AccountEJBLocal getAccount();

///AccountEJB

 *   local-class="com.netplaytechnologies.cafeman.ejb.surfer.AccountEJBLocal"
 * @ejb.finder
 *   signature="java.util.Collection findAllDiasabledAccounts()"
 *   query="SELECT DISTINCT OBJECT(a)
 *       FROM Account a
 *       WHERE a.accountStatus ='DISABLED'"
 * @ejb.finder
 *   signature="java.util.Collection findAccountsLargerThan(double amount)"
 *   query="SELECT DISTINCT OBJECT(a)
 *       FROM Account a
 *       WHERE a.currentAccountBalance > ?1"
 * @ejb.finder
 *   signature="java.util.Collection findAccountsLessThan(double amount)"
 *   query="SELECT DISTINCT OBJECT(a)
 *       FROM Account a
 *       WHERE a.currentAccountBalance < ?1"
 * @ejb.finder
 *   signature="java.util.Collection findAll()"
 *   query="SELECT DISTINCT OBJECT(a)
 *       FROM Account a"
 * @ejb.persistence
 *   table-name="TBL_ACCOUNT"
 * @ejb.value-object
 *   name="Account"
 *   match="*"
 * @ejb.ejb-ref
 *   ejb-name="DateEJB"
 *   ref-name="ejb/DateEJB"
 *   view-type="local"
 * @ejb.transaction
 *   type="Required"
 * @jboss.persistence
 *   create-table="true"
 *   remove-table="false"
 *   read-
 *
 * @todo Include support for transactions and add more vendor specific persistence information
 */
public abstract class AccountEJBBean extends BaseCMPBean implements javax.ejb.EntityBean {
 
  
 /**
  * @return
  * @ejb.interface-method view-type="local"
  * @ejb.relation
  *   name="Surfer-Account"
  *   role-name="account-belongs-to-a-surfer"
  *  cascade-delete="yes"
  * @ejb.value-object
  *  aggregate="com.netplaytechnologies.cafeman.ejb.surfer.SurferValue"
  *  aggregate-name="Surfer"
  *  members="com.netplaytechnologies.cafeman.ejb.surfer.SurferEJBLocal"
  *  members-name="Surfer"
  *  relation="external"
  * @jboss.relation-mapping style="foreign-key"
  * @jboss.relation
     *      fk-column="surfer_fk"
     *      related-pk-field="surferID"
     *      fk-constraint="true"
  */
 public abstract com.netplaytechnologies.cafeman.ejb.surfer.SurferEJBLocal getSurfer();
 
 /**
  * @param surfer
  * @ejb.interface-method view-type="local"
  */
 public abstract void setSurfer(com.netplaytechnologies.cafeman.ejb.surfer.SurferEJBLocal surfer);
 
 
 /**
  * @return
  * @ejb.interface-method view-type="local"
  * @ejb.relation
  *   name="Account-DateOfCreation"
  *   role-name="date-of-account-creation"
  *   target-ejb="DateEJB"
  *   target-role-name="account-created-on"
  *   target-cascade-delete="yes"
  * @ejb.value-object
  *   compose="com.netplaytechnologies.cafeman.ejb.util.DateValue"
  *   compose-name="DateValue"
  *   members = "com.netplaytechnologies.cafeman.ejb.util.DateEJBLocal"
  *   members-name="DateValue"
  *   relation="external"
  * @jboss.relation-mapping style="foreign-key"
  * @jboss.relation
     *      fk-column="dateOfCreation_fk"
     *      related-pk-field="dateID"
     *      fk-constraint="true"   
  */
 public abstract com.netplaytechnologies.cafeman.ejb.util.DateEJBLocal getDateOfCreation();
 
 /**
  * @param dateOfCreation
  * @ejb.interface-method view-type="local"
  */
 public abstract void setDateOfCreation(com.netplaytechnologies.cafeman.ejb.util.DateEJBLocal dateOfCreation);
 
 /**
  * @return
  * @ejb.pk-field
  * @ejb.interface-method view-type="local"
  * @ejb.persistence
  *   column-name="ACCOUNT_ID"
  *   jdbc-type="VARCHAR"
  *   sql-type="VARCHAR(100)"
  */
 public abstract String getAccountID();
 
 /**
  * @param accountID
  */
 public abstract void setAccountID(String accountID);
 
 /**
  * @return
  * @ejb.interface-method view-type="local"
  * @ejb.relation
  *   name="Account-Billings"
  *   role-name="billings to an account" 
  * @ejb.value-object
  *   compose="com.netplaytechnologies.cafeman.ejb.surfer.SurferBillingValue"
  *   compose-name="SurferBillingValue"
  *   members="com.netplaytechnologies.cafeman.ejb.surfer.SurferBillingEJBLocal"
  *   members-name="SurferBillingValue"
  *      relation="external" 
  *   type="Collection"
  * @jboss.relation-mapping style="foreign-key"
  * @jboss.relation
     *      fk-column="billing_fk"
     *      related-pk-field="billingID"
     *      fk-constraint="true"
     * @jboss.target-relation
     *   fk-constraint="true"
     *   related-pk-field="accountID"
     *   fk-column="accountID_fk"
  */
 public abstract Collection getAccountBillings();
 
 /**
  * @param accountBilling
  * @ejb.interface-method view-type="local"
  */
 public abstract void setAccountBillings(Collection accountBillings);

 

///SurferBiillingEJB

/**
 * <p>Persistant object to represent the numerous billings/transactions of a single account</p>
 * @author Edward Banfa
 * @version 1.0
 * @ejb.bean
 *   name="SurferBillingEJB"
 *   schema="SurferBilling"
 *   local-jndi-name="ejb/cafeman/SurferBillingEJB"
 *   view-type="local"
 *   type="CMP"
 *   cmp-version="2.x"
 *   primkey-field="billingID"
 * @ejb.home
 *   generate="true"
 *   local-class ="com.netplaytechnologies.cafeman.ejb.surfer.SurferBillingEJBLocalHome"
 * @ejb.interface
 *   local-class ="com.netplaytechnologies.cafeman.ejb.surfer.SurferBillingEJBLocal"
 * @ejb.value-object
 *   name="SurferBilling"
 *   match="*"
 * @ejb.persistence
 *   table-name="TBL_SURFER_BILLINGS"
 * @ejb.ejb-ref
 *   ejb-name="DateEJB"
 *   ref-name="ejb/DateEJB"
 *   view-type="local"
 * @ejb.finder
 *   signature="java.util.Collection findAll()"
 *   query="SELECT DISTINCT OBJECT(b) FROM SurferBilling (b)"
 * @ejb.finder
 *   signature="java.util.Collection findPaymentsBelow(double amount)"
 *   query="SELECT DISTINCT OBJECT(b)
 *       FROM SurferBilling (b)
 *       WHERE b.amountPaid < ?1"
 * @ejb.finder
 *   signature="java.util.Collection findPaymentsAbove(double amount)"
 *   query="SELECT DISTINCT OBJECT(b)
 *       FROM SurferBilling (b)
 *          WHERE b.amountPaid > ?1"
 * @ejb.finder
 *   signature="java.utl.Collection findPaymentByDate(com.netplaytechnologies.cafeman.ejb.util.DateEJBLocal date)"
 *   query="SELECT DISTINCT OBJECT(b)
 *       FROM SurferBilling (b)
 *       WHERE b.dateOfCreation = ?1"
 * @ejb.finder
 *   signature="java.util.Collection findPaymentsBtwn(int start_year,int start_month,int start_day,int end_year,int end_month,int end_day)"
 *   query="SELECT DISTINCT OBJECT(B)
 *          FROM SurferBilling (b)
 *             WHERE (b.dateOfCreation.year BETWEEN ?1 AND ?4) AND
 *                   (b.dateOfCreation.month BETWEEN ?2 AND ?5) AND
 *       (b.dateOfCreation.day BETWEEN ?3 AND ?6)"
 * @ejb.transaction
 *   type="Required"
 * @jboss.persistence
 *   create-table="true"
 *   remove-table="false"
 *   read-
 *   
 */
public abstract class SurferBillingEJBBean extends BaseCMPBean implements javax.ejb.EntityBean {

 
 /**
  * @return
  * @ejb.interface-method view-type="local"
  * @ejb.relation
  *   name="Billing-DateOfCreation"
  *   role-name="billing-has-a-date-of-creation"
  *   target-ejb="DateEJB"
  *   target-role-name="date-of-billing"
  *   target-cascade-delete="yes"
  * @ejb.value-object
  *   compose="com.netplaytechnologies.cafeman.ejb.util.DateValue"
  *   compose-name="DateValue"
  *   members="com.netplaytechnologies.cafeman.ejb.util.DateEJBLocal"
  *   members-name="DateValue"
  *   relation="external"
  * @jboss.relation-mapping style="foreign-key"
  * @jboss.relation
     *      fk-column="dateOfCreation_fk"
     *      related-pk-field="dateID"
     *      fk-constraint="true"  
  *   
  */
 public abstract com.netplaytechnologies.cafeman.ejb.util.DateEJBLocal getDateOfCreation();
 
 /**
  * @param date
  * @ejb.interface-method view-type="local"
  */
 public abstract void setDateOfCreation(com.netplaytechnologies.cafeman.ejb.util.DateEJBLocal date);
 
 /**
  * @return
  * @ejb.interface-method view-type="local"
  * @ejb.persistence
  *   column-name="BILLING_ID"
  *   jdbc-type="VARCHAR"
  *   sql-type="VARCHAR(100)"
  * @ejb.pk-field
  */
 public abstract String getBillingID();
 
 /**
  * @param billingID
  */
 public abstract void setBillingID(String billingID);
 
 /**
  * @return
  * @ejb.interface-method view-type="local"
  * @ejb.relation
  *   name="Account-Billings"
  *   role-name="Account-has-many-billings"
  * @ejb.value-object
  *   aggregate="com.netplaytechnologies.cafeman.ejb.surfer.AccountValue"
  *   aggregate-name="AccountValue"
  *   members = "com.netplaytechnologies.cafeman.ejb.surfer.AccountEJBLocal"
  *   members-name="AccountValue"
  *   relation="external"
  * @jboss.relation-mapping style="foreign-key"
  * @jboss.relation
     *      fk-column="account_fk"
     *      related-pk-field="accountID"
     *      fk-constraint="true"
  */
 public abstract AccountEJBLocal getAccount();
 
 /**
  * @param account
  * @ejb.interface-method view-type="local"
  */
 public abstract void setAccount(AccountEJBLocal account);

 

 



EDWARD BANFA

NETPLAY TECHNOLOGIES INC.
JOS, PLATEAU STATE
NIGERIA.


Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!

Reply via email to