I _REALLY_ Need help please!
I have 2 common errors when saving Entities.

1. java.lang.IllegalArgumentException: argument type mismatch
2. java.lang.ClassCastException (don't have stack right now.....)

So I seem to get into the ejbCreate fully, but then I get an error in the
postCreate before I even print anything!



CreditApplicationManagerBean: (Where the error occurs):
****************************************************************************
****************************************************************************
*******************************
public CreditApplicationDto conclude( CreditApplicationDto
pCreditApplicationDto )
            throws EJBException {
....
            // Business Card Product....
            BusinessCardLocalHome businessCardLocalHome =
BusinessCardUtil.getLocalHome();
            log.info( "businessCardDto: " +
pCreditApplicationDto.getBusinessCardDto().toString() );
>>>>ERROR LINE >>>>>>>BusinessCardLocal businessCardLocal =
businessCardLocalHome.create( pCreditApplicationDto.getBusinessCardDto() );
            if( log.isInfoEnabled() ) {
                log.info( "=============================================" );
                log.info( "pCreditApplicationDto.getBusinessCardDto(): " +
pCreditApplicationDto.getBusinessCardDto().toString() );
                //log.info( "businessCardLocal.toString():" +
businessCardLocal.toString() );
                log.info( "=============================================" );
            }
......








BusinessCardBean:ejbCreate(...):
****************************************************************************
****************************************************************************
*******************************    public java.lang.String ejbCreate(
com.wf.bd.ice.product.BusinessCardDto pBusinessCardDto )
    throws javax.ejb.EJBException, javax.ejb.CreateException
    {
        if( log.isInfoEnabled() ) {
            log.info( "=============================================" );
            log.info( "ejbCreate( com.wf.bd.ice.product.pBusinessCardDto
pBusinessCardDto )" );
            log.info( "pBusinessCardDto: " + pBusinessCardDto.toString() );
        }

        setProductPK( BusinessCardUtil.generateGUID(pBusinessCardDto) );

        if( log.isInfoEnabled() ) {
            log.info( "setProductPK(
BusinessCardUtil.generateGUID(pBusinessCardDto) )" );
            log.info( "getBusinessCard PK: " + getProductPK() );
            log.info( "=============================================" );
        }

        return null;
    }


BusinessCardBean:ejbPostCreate(...):
****************************************************************************
****************************************************************************
*******************************
    public void ejbPostCreate( com.wf.bd.ice.product.BusinessCardDto
pBusinessCardDto )
    throws javax.ejb.EJBException, javax.ejb.CreateException
    {
        /*
        Update the EJB as the CMR information cannot be set at create time:
        java.lang.IllegalStateException: A CMR field cannot be set in
ejbCreate;
        this should be done in the ejbPostCreate method instead [EJB 2.0
Spec. 10.5.2].
        */
        if( log.isInfoEnabled() ) {
            log.info( "=============================================" );
            log.info( "ejbPostCreate( com.wf.bd.ice.product.BusinessCardDto
pBusinessCardDto )" );
            log.info( "pBusinessCardDto: " + pBusinessCardDto.toString() );
        }

        setBusinessCardDto( pBusinessCardDto );
        setProductType( "BUS_CARD" );

        if( log.isInfoEnabled() ) {
            log.info( "getBusinessCardDto().toString(): " +
getBusinessCardDto().toString() );
            log.info( "=============================================" );
        }
    }






StackTrace:
****************************************************************************
****************************************************************************
*******************************
[INFO] BusinessCard_ev1n9i__WebLogic_CMP_RDBMS -
-=============================================
[INFO] BusinessCard_ev1n9i__WebLogic_CMP_RDBMS - -ejbCreate(
com.wf.bd.ice.product.pBusinessCardDto pBusinessCardDto )
[INFO] BusinessCard_ev1n9i__WebLogic_CMP_RDBMS - -pBusinessCardDto:
{productPK=null applicationId=null productType=null cardBrand=MC
productCode=null piCodenull couponCode=ABC requestAmount=20000
businessName=null automaticPayment=M automaticPaymentAccountFK=null
electronicTransfer=null electronicTransferAccounFK=null
creditProtection=null overdraftProtection=null
overdraftProtectionAccountFK=null lineIncrease=true businessMiles=null}
[INFO] BusinessCard_ev1n9i__WebLogic_CMP_RDBMS - -setProductPK(
BusinessCardUtil.generateGUID(pBusinessCardDto) )
[INFO] BusinessCard_ev1n9i__WebLogic_CMP_RDBMS - -getBusinessCard PK:
0a6d00e57f00000101a826c5b0982402
[INFO] BusinessCard_ev1n9i__WebLogic_CMP_RDBMS -
-=============================================
[ERROR] CreditApplicationManager_9j600a_Impl - -Error performing
CreditApplicationManager.conclude( CreditApplicationDto )
<javax.ejb.EJBException: EJB Exception::
java.lang.IllegalArgumentException: argument type mismatch
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.scalarFinder(RDBMSPersisten
ceManager.java:294)
        at
weblogic.ejb20.manager.BaseEntityManager.scalarFinder(BaseEntityManager.java
:1575)
        at
weblogic.ejb20.manager.BaseEntityManager.localScalarFinder(BaseEntityManager
.java:1559)
        at
com.wf.bd.ice.creditapplication.CreditApplication_rwkuka__WebLogic_CMP_RDBMS
.getBusinessCard(CreditApplication_rwkuka__WebLogic_CMP_RDBMS.java:655)
        at
com.wf.bd.ice.creditapplication.CreditApplication_rwkuka__WebLogic_CMP_RDBMS
.__WL_setRestBusinessCard(CreditApplication_rwkuka__WebLogic_CMP_RDBMS.java:
727)
        at
com.wf.bd.ice.product.BusinessCard_ev1n9i__WebLogic_CMP_RDBMS.__WL_postSetCr
editApplicationCMP_businessCard(BusinessCard_ev1n9i__WebLogic_CMP_RDBMS.java
:1139)
        at
com.wf.bd.ice.product.BusinessCard_ev1n9i__WebLogic_CMP_RDBMS.ejbPostCreate(
BusinessCard_ev1n9i__WebLogic_CMP_RDBMS.java:4516)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at weblogic.ejb20.manager.DBManager.create(DBManager.java:1261)
        at
weblogic.ejb20.manager.DBManager.localCreate(DBManager.java:1100)
        at
weblogic.ejb20.internal.EntityEJBLocalHome.create(EntityEJBLocalHome.java:17
1)
        at
com.wf.bd.ice.product.BusinessCard_ev1n9i_LocalHomeImpl.create(BusinessCard_
ev1n9i_LocalHomeImpl.java:95)
        at
com.wf.bd.ice.creditapplication.CreditApplicationManagerBean.conclude(Credit
ApplicationManagerBean.java:146)
        at
com.wf.bd.ice.creditapplication.CreditApplicationManager_9j600a_EOImpl.concl
ude(CreditApplicationManager_9j600a_EOImpl.java:98)
        at
com.wf.bd.ice.delegates.CreditApplicationServicesDelegate.conclude(CreditApp
licationServicesDelegate.java:57)
        at
com.wf.bd.ice.creditapplication.CreditApplicationActions.conclude(CreditAppl
icationActions.java:305)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:
280)
        at
org.apache.struts.actions.LookupDispatchAction.execute(LookupDispatchAction.
java:252)
        at
com.wf.bd.ice.struts.BaseLookupDispatchAction.execute(BaseLookupDispatchActi
on.java:222)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
sor.java:484)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
        at
com.wf.bd.ice.struts.ExtendedActionServlet.process(ExtendedActionServlet.jav
a:44)
        at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
tStubImpl.java:971)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:402)
        at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:305)
        at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
ebAppServletContext.java:6350)
        at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec
t.java:317)
        at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
        at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:3635)
        at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:2585)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)






The
com.wf.bd.ice.creditapplication.CreditApplication_rwkuka__WebLogic_CMP_RDBMS
.getBusinessCard(CreditApplication_rwkuka__WebLogic_CMP_RDBMS.java:655)
error location:
****************************************************************************
****************************************************************************
*******************************
try {
           __WL_businessCard_field_ =
(com.wf.bd.ice.product.BusinessCardLocal)__WL_businessCard_bm.localScalarFin
der(
__WL_businessCard_finder_,new Object[]{__WL_ctx.getPrimaryKey()});

          }
         catch (InternalException ie) {
           if (ie.detail!=null && ie.detail instanceof
ObjectNotFoundException)
             __WL_businessCard_field_ = null;
           else
             throw ie;
         }


CreditApplicationBean.java:
****************************************************************************
****************************************************************************
*******************************
package com.wf.bd.ice.creditapplication;

import com.wf.bd.ice.business.BusinessLocal;
import com.wf.bd.ice.banker.BankerLocal;
import com.wf.bd.ice.product.BusinessCardLocal;
import com.wf.bd.ice.product.BusinessLineLocal;
import com.wf.bd.ice.product.SecuredCardLocal;
import com.wf.bd.ice.product.EquipmentExpressLocal;
import com.wf.bd.ice.sequence.SequenceManagerHome;
import com.wf.bd.ice.sequence.SequenceManagerUtil;
import com.wf.bd.ice.sequence.SequenceManager;

import java.util.Collection;
import java.util.Date;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * The Entity bean represents a CreditApplication Entity
 *
 * @author Mick Knutson
 *
 * @ejb.bean
 *       name="CreditApplication"
 *       display-name="CreditApplication Entity for ICE"
 *       cmp-version="2.x"
 *       type="CMP"
 *       view-type="local"
 *
local-jndi-name="local/com.wf.bd.ice.creditapplication.CreditApplicationLoca
l"
 *       primkey-field="applicationId"
 *       schema="CreditApplication"
 *
 * @ejb.pk class="java.lang.Long"
 *
 * @ejb.value-object
 *       name="CreditApplication"
 *       extends="com.wf.bd.ice.creditapplication.AbstractCreditApplication"
 *
 * @struts.form
 *      name="Action"
 *      extends="org.apache.struts.validator.ValidatorForm"
 *      include-pk="true"
 *      include-all="true"
 *
 * @ejb.util
 *       generate="physical"
 *
 * @ejb.transaction
 *       type="Required"
 *
 * @ejb.transaction-type
 *       type="Container"
 *
 * @ejb.permission unchecked="true"
 *
 * @weblogic.data-source-name ${weblogic.datasource}
 *
 * @ejb.persistence
 *       table-name="V_ICE_APPLICATION"
 **/
public abstract class CreditApplicationBean implements javax.ejb.EntityBean
{

    /** Our own Session Context. */
    private javax.ejb.EntityContext myEntityCtx;

    /** The <code>Log</code> instance for this application. */
    private Log log = LogFactory.getLog( this.getClass() );


    //
-------------------------------------------------------------------------
    // Properties (Getters/Setters)
    //
-------------------------------------------------------------------------

    /**
     * Retrieve the CreditApplication's sequenceName for use as a
primaryKey.
     *
     * @ejb.pk-field
     * @ejb.interface-method
     * @ejb.persistence column-name="applicationId"
     **/
    public abstract java.lang.Long getApplicationId();

    /**
     * No interface method for setCreditApplicationId(..). See page 130 of
the EJB 2.0 specification:
     * "Once the primary key for an entity bean has been set, the Bean
Provider must
     * not attempt to change it by use of set accessor methods on the
primary key
     * cmp-fields. The Bean provider should therefore not expose the set
accessor
     * methods for the primary key cmp-fields in the component interface of
the
     * entity bean.". A work around would be to remove and then an re-create
the bean.
     */
    public abstract void setApplicationId( java.lang.Long pApplicationId );

    /**
     * Manage the CreditApplication's originationSource
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="originationSource"
     **/
    public abstract String getOriginationSource();
    public abstract void setOriginationSource( String pOriginationSource );

    /**
     * Manage the CreditApplication's dateApplicationReceived
     * TODO: Might need to make the Date a java.sql.Date
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="dateApplicationReceived"
     **/
    public abstract Date getDateApplicationReceived();
    public abstract void setDateApplicationReceived( Date
pDateApplicationReceived );

    /**
     * Manage the CreditApplication's applicationCompletionDate
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="applicationCompletionDate"
     *
     **/
    public abstract Date getApplicationCompletionDate();
    public abstract void setApplicationCompletionDate( Date
pApplicationCompletionDate );












    //
-------------------------------------------------------------------------
    // Relationship Methods
    //
-------------------------------------------------------------------------

    /**
     *  Get Business for this CreditApplication.
     *  This is a one (CreditApplication) to one (Business) relationship.
     *  We can get a BusinessDto in the creditApplicationDto.getBusiness()
method.
     *  We can also setBusiness( pBusiness )
     *
     * @ejb.interface-method view-type="local"
     *
     * @ejb.value-object
     *      compose="com.wf.bd.ice.business.BusinessDto"
     *      compose-name="BusinessDto"
     *      members="com.wf.bd.ice.business.BusinessLocal"
     *      members-name="Business"
     *      relation="external"
     *
     * @ejb.relation
     *      name="CreditApplication-Business"
     *      role-name="CreditApplication-has-Business"
     *      target-ejb="Business"
     *      target-role-name="Business-belongs_to-CreditApplication"
     *      target-cascade-delete="yes"
     *
     *  TODO: We may be required to add an additional column
     *        to the Business view to support the 1 -- 1
     *        relationship of the Business and CreditApplication
     *
     * @weblogic.target-column-map
     *      foreign-key-column="applicationId"
     *      key-column="applicationId"
     */
    public abstract com.wf.bd.ice.business.BusinessLocal getBusiness();

    /**
     * @ejb.interface-method
     **/
    public abstract void setBusiness( com.wf.bd.ice.business.BusinessLocal
pBusinessLocal );

    /**
     *  Get Banker for this CreditApplication.
     *  This is a one (CreditApplication) to one (Banker) relationship.
     *  We can get a BankerDto in the creditApplicationDto.getBanker()
method.
     *  We can also setBanker( pBanker )
     *
     * @ejb.interface-method view-type="local"
     *
     * @ejb.value-object
     *      compose="com.wf.bd.ice.banker.BankerDto"
     *      compose-name="BankerDto"
     *      members="com.wf.bd.ice.banker.BankerLocal"
     *      members-name="Banker"
     *      relation="external"
     *
     * @ejb.relation
     *      name="CreditApplication-Banker"
     *      role-name="CreditApplication-has-Banker"
     *      target-ejb="Banker"
     *      target-role-name="Banker-belongs_to-CreditApplication"
     *      target-cascade-delete="yes"
     *
     *  TODO: We may be required to add an additional column
     *        to the Business view to support the 1 -- 1
     *        relationship of the Banker and CreditApplication
     *
     * @weblogic.target-column-map
     *      foreign-key-column="bankerId"
     *      key-column="applicationId"
     */
    public abstract com.wf.bd.ice.banker.BankerLocal getBanker();

    /**
     * @ejb.interface-method view-type="local"
     **/
    public abstract void setBanker( com.wf.bd.ice.banker.BankerLocal
pBankerLocal );

    /**
     *  Get  BusinessCard product for this CreditApplication.
     *  This is a one (CreditApplication) to one (BusinessCard)
relationship.
     *  We can get a BusinessCardDto in the
creditApplicationDto.getBusinessCard() method.
     *  We can also setBusinessCard( pBusinessCard )
     *
     * @ejb.interface-method view-type="local"
     *
     * @ejb.value-object
     *      compose="com.wf.bd.ice.product.BusinessCardDto"
     *      compose-name="BusinessCardDto"
     *      members="com.wf.bd.ice.product.BusinessCardLocal"
     *      members-name="BusinessCard"
     *      relation="external"
     *
     * @ejb.relation
     *      name="CreditApplication-BusinessCard"
     *      role-name="CreditApplication-has-BusinessCard"
     *      target-ejb="BusinessCard"
     *      target-role-name="BusinessCard-belongs_to-CreditApplication"
     *      target-cascade-delete="yes"
     *
     *  TODO: We may be required to add an additional column
     *        to the Business view to support the 1 -- 1
     *        relationship of the BusinessCard and CreditApplication
     *
     * @weblogic.target-column-map
     *      foreign-key-column="productPK"
     *      key-column="applicationId"
     */
    public abstract com.wf.bd.ice.product.BusinessCardLocal
getBusinessCard();

    /**
     * @ejb.interface-method view-type="local"
     **/
    public abstract void setBusinessCard(
com.wf.bd.ice.product.BusinessCardLocal pBusinessCardLocal );

    /**
     *  Get BusinessLine for this CreditApplication.
     *  This is a one (CreditApplication) to one (BusinessLine)
relationship.
     *  We can get a BusinessLineDto in the
creditApplicationDto.getBusinessLine() method.
     *  We can also setBusinessLine( pBusinessLine )
     *
     * @ejb.interface-method view-type="local"
     *
     * @ejb.value-object
     *      compose="com.wf.bd.ice.product.BusinessLineDto"
     *      compose-name="BusinessLineDto"
     *      members="com.wf.bd.ice.product.BusinessLineLocal"
     *      members-name="BusinessLine"
     *      relation="external"
     *
     * @ejb.relation
     *      name="CreditApplication-BusinessLine"
     *      role-name="CreditApplication-has-BusinessLine"
     *      target-ejb="BusinessLine"
     *      target-role-name="BusinessLine-belongs_to-CreditApplication"
     *      target-cascade-delete="yes"
     *
     *  TODO: We may be required to add an additional column
     *        to the Business view to support the 1 -- 1
     *        relationship of the BusinessLine and CreditApplication
     *
     * @weblogic.target-column-map
     *      foreign-key-column="productPK"
     *      key-column="applicationId"
     */
    public abstract com.wf.bd.ice.product.BusinessLineLocal
getBusinessLine();

    /**
     * @ejb.interface-method view-type="local"
     **/
    public abstract void setBusinessLine(
com.wf.bd.ice.product.BusinessLineLocal pBusinessLineLocal );

    /**
     *  Get EquipmentExpress for this CreditApplication.
     *  This is a one (CreditApplication) to one (EquipmentExpress)
relationship.
     *  We can get a EquipmentExpressDto in the
creditApplicationDto.getEquipmentExpress() method.
     *  We can also setEquipmentExpress( pEquipmentExpress )
     *
     * @ejb.interface-method view-type="local"
     *
     * @ejb.value-object
     *      compose="com.wf.bd.ice.product.EquipmentExpressDto"
     *      compose-name="EquipmentExpressDto"
     *      members="com.wf.bd.ice.product.EquipmentExpressLocal"
     *      members-name="EquipmentExpress"
     *      relation="external"
     *
     * @ejb.relation
     *      name="CreditApplication-EquipmentExpress"
     *      role-name="CreditApplication-has-EquipmentExpress"
     *      target-ejb="EquipmentExpress"
     *      target-role-name="EquipmentExpress-belongs_to-CreditApplication"
     *      target-cascade-delete="yes"
     *
     *  TODO: We may be required to add an additional column
     *        to the Business view to support the 1 -- 1
     *        relationship of the EquipmentExpress and CreditApplication
     *
     * @weblogic.target-column-map
     *      foreign-key-column="productPK"
     *      key-column="applicationId"
     */
    public abstract com.wf.bd.ice.product.EquipmentExpressLocal
getEquipmentExpress();

    /**
     * @ejb.interface-method view-type="local"
     **/
    public abstract void setEquipmentExpress(
com.wf.bd.ice.product.EquipmentExpressLocal pEquipmentExpressLocal );

    /**
     *  Get SecuredCard for this CreditApplication.
     *  This is a one (CreditApplication) to one (SecuredCard) relationship.
     *  We can get a SecuredCardDto in the
creditApplicationDto.getSecuredCard() method.
     *  We can also setSecuredCard( pSecuredCard )
     *
     * @ejb.interface-method view-type="local"
     *
     * @ejb.value-object
     *      compose="com.wf.bd.ice.product.SecuredCardDto"
     *      compose-name="SecuredCardDto"
     *      members="com.wf.bd.ice.product.SecuredCardLocal"
     *      members-name="SecuredCard"
     *      relation="external"
     *
     * @ejb.relation
     *      name="CreditApplication-SecuredCard"
     *      role-name="CreditApplication-has-SecuredCard"
     *      target-ejb="SecuredCard"
     *      target-role-name="SecuredCard-belongs_to-CreditApplication"
     *      target-cascade-delete="yes"
     *
     *  TODO: We may be required to add an additional column
     *        to the Business view to support the 1 -- 1
     *        relationship of the Banker and CreditApplication
     *
     * @weblogic.target-column-map
     *      foreign-key-column="productPK"
     *      key-column="applicationId"
     */
    public abstract com.wf.bd.ice.product.SecuredCardLocal getSecuredCard();

    /**
     * @ejb.interface-method view-type="local"
     **/
    public abstract void setSecuredCard(
com.wf.bd.ice.product.SecuredCardLocal pSecuredCardLocal );

    /**
     *  Get all Guarantor's for this CreditApplication.
     *  This is a one (CreditApplication) to many (Guarantors) relationship.
     *  We can get a Collection of GuarantorDto's in the
     *  creditApplicationDto.getGuarantors() method.
     *  We can also setGuarantors( pGuarantors )
     *
     * @ejb.interface-method view-type="local"
     *
     * @ejb.relation
     *      name="CreditApplication-Guarantor"
     *      role-name="CreditApplication-has-Guarantors"
     *      target-ejb="Guarantor"
     *      target-role-name="Guarantor-belongs_to-CreditApplication"
     *      target-cascade-delete="yes"
     *
     * @weblogic.target-column-map
     *      foreign-key-column="guarantorPK"
     *      key-column="applicationId"
     *
     * @ejb.value-object
     *      compose="com.wf.bd.ice.guarantor.GuarantorDto"
     *      compose-name="Guarantor"
     *      members="com.wf.bd.ice.guarantor.GuarantorLocal"
     *      members-name="Guarantor"
     *      relation="external"
     *      type="java.util.Collection"
     */
    public abstract Collection getGuarantors();

    /**
     * @ejb.interface-method view-type="local"
     **/
    public abstract void setGuarantors( Collection pGuarantors );









    //
-------------------------------------------------------------------------
    // DTO Methods
    //
-------------------------------------------------------------------------

    /**
     * Manage the CreditApplication's DTO/Form object
     *
     * @ejb.interface-method
     **/
    public abstract com.wf.bd.ice.creditapplication.CreditApplicationDto
getCreditApplicationDto();

    /**
     * Manage the CreditApplication's DTO/Form object
     *
     * @ejb.interface-method
     **/
    public abstract void setCreditApplicationDto(
com.wf.bd.ice.creditapplication.CreditApplicationDto pCreditApplicationDto
);












    //
-------------------------------------------------------------------------
    // Framework Callbacks
    //
-------------------------------------------------------------------------
    /**
     * Create a TestEntity based on the supplied TestEntity Value Object.
     *
     * @param pCreditApplicationDto The name used to create the
CreditApplication.
     *
     * @throws javax.ejb.EJBException If no new unique ID could be retrieved
this will
     *                      rollback the transaction because there is no
     *                      hope to try again
     * @throws javax.ejb.CreateException Because we have to do so (EJB
spec.)
     *
     * @ejb.interface-method view-type="local"
     * @ejb.create-method view-type="local"
     **/
    public java.lang.Long ejbCreate(
com.wf.bd.ice.creditapplication.CreditApplicationDto pCreditApplicationDto )
            throws javax.ejb.EJBException, javax.ejb.CreateException {
        try {
            if( log.isInfoEnabled() ) {
                log.info( "=============================================" );
                log.info( "ejbCreate(
com.wf.bd.ice.creditapplication.CreditApplicationDto pCreditApplicationDto
)" );
                log.info( "pGuarantorDto: " +
pCreditApplicationDto.toString() );
            }

            SequenceManagerHome sequenceManagerHome =
SequenceManagerUtil.getHome();
            SequenceManager sequenceManager = sequenceManagerHome.create();

            setApplicationId( pCreditApplicationDto.getPrimaryKey() );
            //setApplicationId( sequenceManager.getNextNumber(
pCreditApplicationDto.getClass().getName() ) );

            if( log.isInfoEnabled() ) {
                log.info( "setApplicationId(
pCreditApplicationDto.getPrimaryKey() );" );
                log.info( "getApplicationId: " + getApplicationId() );
                log.info( "=============================================" );
            }
        }
        catch( Exception e ) {
            System.err.println( e.getMessage() );
        }

        return null;
    }

    /**
     * String Value of this CreditApplication Entity
     *
     * @ejb.interface-method
     *
     **/
    public String toString() {
        try {
            return ( getCreditApplicationDto().toString() );
        }
        catch( Exception e ) {
            return "";
        }
    }


    //
-------------------------------------------------------------------------
    // EJB Callbacks
    //
-------------------------------------------------------------------------
    /**
     * EJB Post Create method
     * @param pCreditApplicationDto
     * @throws javax.ejb.EJBException
     * @throws javax.ejb.CreateException
     */
    public void ejbPostCreate(
com.wf.bd.ice.creditapplication.CreditApplicationDto pCreditApplicationDto )
            throws javax.ejb.EJBException, javax.ejb.CreateException {
        /*
        Update the EJB as the CMR information cannot be set at create time:
        java.lang.IllegalStateException: A CMR field cannot be set in
ejbCreate;
        this should be done in the ejbPostCreate method instead [EJB 2.0
Spec. 10.5.2].
        */
        if( log.isInfoEnabled() ) {
            log.info( "=============================================" );
            log.info( "ejbPostCreate(
com.wf.bd.ice.creditapplication.CreditApplicationDto pCreditApplicationDto
)" );
            log.info( "pCreditApplicationDto: " +
pCreditApplicationDto.toString() );
        }

        setCreditApplicationDto( pCreditApplicationDto );

        if( log.isInfoEnabled() ) {
            //log.info( "getCreditApplicationDto().toString(): " +
getCreditApplicationDto().toString() );
            log.info( "=============================================" );
        }
    }

    public void setEntityContext( javax.ejb.EntityContext lContext ) {
        myEntityCtx = lContext;
    }

    public void unsetEntityContext() {
        myEntityCtx = null;
    }

    public void ejbActivate() {
    }

    public void ejbPassivate() {
    }

    public void ejbLoad() {
    }

    public void ejbStore() {
    }

    public void ejbRemove()
            throws javax.ejb.RemoveException {
    }

} //The End...






BusinessCardBean.java:
****************************************************************************
****************************************************************************
*******************************
package com.wf.bd.ice.product;

import java.util.Collection;
import com.wf.bd.ice.account.BankAccountLocal;
import com.wf.bd.ice.account.BankAccountDto;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * The Entity bean represents a BusinessCard Entity
 *
 * @author Eileen Smith
 *
 * @ejb.bean
 *       name="BusinessCard"
 *       display-name="BusinessCard Entity for ICE"
 *       cmp-version="2.x"
 *       type="CMP"
 *       view-type="local"
 *       local-jndi-name="local/com.wf.bd.ice.product.BusinessCardLocal"
 *       primkey-field="productPK"
 *       schema="BusinessCard"
 *
 * @ejb.pk
 *       class="java.lang.String"
 *
 * @ejb.value-object
 *       name="BusinessCard"
 *       implements="com.wf.bd.ice.product.ICardProductDto"
 *
 * @struts.form
 *      name="Action"
 *      extends="org.apache.struts.validator.ValidatorForm"
 *      include-pk="true"
 *      include-all="true"
 *
 * @ejb.util
 *       generate="physical"
 *
 * @ejb.transaction
 *       type="Required"
 *
 * @ejb.transaction-type
 *       type="Container"
 *
 * @ejb.permission
 *       unchecked="true"
 *
 * @weblogic.data-source-name ${weblogic.datasource}
 *
 * @ejb.persistence
 *       table-name="T_ICE_APPLICATIONPRODUCT"
 **/
public abstract class BusinessCardBean implements javax.ejb.EntityBean
{

    /** Our own Session Context. */
    private javax.ejb.EntityContext myEntityCtx;

    /** The <code>Log</code> instance for this application. */
    private Log log = LogFactory.getLog( this.getClass() );


    //
-------------------------------------------------------------------------
    // Properties (Getters/Setters)
    //
-------------------------------------------------------------------------

    /**
     * Retrieve the BusinessCard's businessCardPK for use as a primaryKey.
     *
     * @ejb.pk-field
     * @ejb.interface-method
     * @ejb.persistence column-name="productPK"
     **/
    public abstract java.lang.String getProductPK();

    /**
     * No interface method for setBusinessCardPK(..). See page 130 of the
EJB 2.0 specification:
     * "Once the primary key for an entity bean has been set, the Bean
Provider must
     * not attempt to change it by use of set accessor methods on the
primary key
     * cmp-fields. The Bean provider should therefore not expose the set
accessor
     * methods for the primary key cmp-fields in the component interface of
the
     * entity bean.". A work around would be to remove and then an re-create
the bean.
     */
    public abstract void setProductPK( java.lang.String pProductPK );

    /**
     * Manage the BusinessCard's applicationId
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="applicationId"
     **/
    public abstract java.lang.Long getApplicationId();
    public abstract void setApplicationId( java.lang.Long pApplicationId );

    /**
     * Manage the BusinessCard's productType
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="productType"
     *
     **/
    public abstract java.lang.String getProductType();

     /**
     * Manage the BusinessCard's productType
     *
     * @ejb.persistence column-name="productType"
     *
     **/
   public abstract void setProductType( java.lang.String pCroductType );

    /**
     * Manage the BusinessCard's cardBrand
     *

     * @ejb.interface-method
     * @ejb.persistence column-name="cardBrand"
     *
     **/
    public abstract java.lang.String getCardBrand();
    public abstract void setCardBrand( java.lang.String pCardBrand );

    /**
     * Manage the BusinessCard's productCode
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="productCode"
     *
     **/
    public abstract java.lang.String getProductCode();

     /**
     * Manage the BusinessCard's productCode
     *
     * @ejb.persistence column-name="productCode"
     *
     **/
   public abstract void setProductCode( java.lang.String pProductCode );

    /**
     * Manage the BusinessCard's piCode
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="piCode"
     **/
    public abstract java.lang.String getPiCode();

     /**
     * Manage the BusinessCard's piCode
     *
     * @ejb.persistence column-name="piCode"
     **/
   public abstract void setPiCode( java.lang.String pPiCode );

    /**
     * Manage the BusinessCard's couponCode
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="couponCode"
     **/
    public abstract java.lang.String getCouponCode();
    public abstract void setCouponCode( java.lang.String pCouponCode );

    /**
     * Manage the BusinessCard's requestAmount
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="requestAmount"
     **/
    public abstract long getRequestAmount();
    public abstract void setRequestAmount( long pRequestAmount );

     /**
     * Manage the BusinessCard's businessName
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="businessName"
     **/
    public abstract java.lang.String getBusinessName();
    public abstract void setBusinessName( java.lang.String pBusinessName );

    /**
      * Manage the BusinessCard's automaticPayment
      *
      * @ejb.interface-method
      * @ejb.persistence column-name="automaticPayment"
      **/
     public abstract java.lang.String getAutomaticPayment();
     public abstract void setAutomaticPayment( java.lang.String
pAutomaticPayment );

    /**
      * Manage the BusinessCard's automaticPayment
      *
      * @ejb.interface-method
      * @ejb.persistence column-name="automaticPaymentAccountFK"
      **/
     public abstract java.lang.String getAutomaticPaymentAccountFK();
     public abstract void setAutomaticPaymentAccountFK( java.lang.String
pAutomaticPaymentAccountFK );

    /**
     * Manage the BusinessCard's electronicTransfer
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="electronicTransfer"
     **/
    public abstract java.lang.String getElectronicTransfer();
    public abstract void setElectronicTransfer( java.lang.String
pElectronicTransfer );

    /**
     * Manage the BusinessCard's electronicTransfer
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="electronicTransferAccountFK"
     **/
    public abstract java.lang.String getElectronicTransferAccountFK();
    public abstract void setElectronicTransferAccountFK( java.lang.String
pElectronicTransferAccountFK );

    /**
     * Manage the BusinessCard's creditProtection
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="creditProtection"
     **/
    public abstract java.lang.String getCreditProtection();
    public abstract void setCreditProtection( java.lang.String
pCreditProtection );

    /**
     * Manage the BusinessCard's overdraftProtection
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="overdraftProtection"
     **/
    public abstract java.lang.String getOverdraftProtection();
    public abstract void setOverdraftProtection( java.lang.String
pOverdraftProtection );

    /**
     * Manage the BusinessCard's overdraftProtection
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="overdraftProtectionAccountFK"
     **/
    public abstract java.lang.String getOverdraftProtectionAccountFK();
    public abstract void setOverdraftProtectionAccountFK( java.lang.String
pOverdraftProtectionAccountFK );

    /**
     * Manage the BusinessCard's lineIncrease
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="lineIncrease"
     **/
    public abstract java.lang.String getLineIncrease();
    public abstract void setLineIncrease( java.lang.String pLineIncrease );

    /**
     * Manage the BusinessCard's businessMiles
     *
     * @ejb.interface-method
     * @ejb.persistence column-name="businessMiles"
     **/
    public abstract java.lang.String getBusinessMiles();
    public abstract void setBusinessMiles( java.lang.String pBusinessMiles
);






    //
-------------------------------------------------------------------------
    // DTO Methods
    //
-------------------------------------------------------------------------

    /**
     * Manage the BusinessCard's DTO/Form object
     *
     * @ejb.interface-method
     * @ejb.transaction
     *       type="Supports"
     **/
    public abstract com.wf.bd.ice.product.BusinessCardDto
getBusinessCardDto();

    /**
     * Manage the BusinessCard's DTO/Form object
     *
     * @ejb.interface-method
     * @ejb.transaction
     *       type="Supports"
     **/
    public abstract void setBusinessCardDto(
com.wf.bd.ice.product.BusinessCardDto pBusinessCardDto );



    /**
     * Manage the BankAccount's DTO/Form object
     *
         *  This method needs to be implemented because Product EJB's use it
to access
         *  the BankAccountDto object for the AutomaticPaymentAccount
object.
         *
     * @ --ejb.interface-method
     **/
    //public abstract BankAccountDto getAutomaticPaymentAccountDto();

    /**
     * @ --ejb.interface-method
     **/
    //public abstract void setAutomaticPaymentAccountDto( BankAccountDto
pBankAccountDto );






        //
-------------------------------------------------------------------------
    // Relationship Methods
    //
-------------------------------------------------------------------------

    /**
         *  This is a one (BusinessCard) to one (BankAccount) relationship.
         *  We can get a BankerDto in the
BusinessCardDto.getAutomaticPaymentAccount() method.
         *  We can also setAutomaticPaymentAccount( pBankAccount )
         *
         * @ejb.interface-method
         *      view-type="local"
         *
     * @ejb.value-object
     *      compose="com.wf.bd.ice.account.AutomaticPaymentAccountDto"
     *      compose-name="AutomaticPaymentAccountDto"
     *      members="com.wf.bd.ice.account.BankAccountLocal"
     *      members-name="AutomaticPaymentAccount"
     *      relation="external"
     *
     * @ejb.relation
     *      name="BusinessCard-AutomaticPaymentBankAccount"
     *      role-name="BusinessCard-has-AutomaticPaymentAccount"
         *      target-ejb="BankAccount"
         *
target-role-name="AutomaticPaymentAccount-belongs_to-BusinessCard"
         *      target-cascade-delete="yes"
         *
         * @weblogic.column-map
         *      foreign-key-column="automaticPaymentAccountFK"
     *      key-column="bankAccountPK"
     **/
    public abstract com.wf.bd.ice.account.BankAccountLocal
getAutomaticPaymentAccount();
    public abstract void setAutomaticPaymentAccount(
com.wf.bd.ice.account.BankAccountLocal pAutomaticPaymentAccount );

    /**
         *  This is a one (BusinessCard) to one (BankAccount) relationship.
         *  We can get a ElectronicTransferAccountDto in the
ElectronicTransferAccountDto.getElectronicTransferAccount() method.
         *  We can also setElectronicTransferAccount(
pElectronicTransferAccount )
         *
         * @ejb.interface-method
         *      view-type="local"
         *
     * @ejb.value-object
     *      compose="com.wf.bd.ice.account.ElectronicTransferAccountDto"
     *      compose-name="ElectronicTransferAccountDto"
     *      members="com.wf.bd.ice.account.BankAccountLocal"
     *      members-name="ElectronicTransferAccount"
     *      relation="external"
     *
     * @ejb.relation
     *      name="BusinessCard-ElectronicTransferAccount"
     *      role-name="BusinessCard-has-ElectronicTransferAccount"
         *      target-ejb="BankAccount"
         *
target-role-name="ElectronicTransferAccount-belongs_to-BusinessCard"
         *      target-cascade-delete="yes"
         *
         * @weblogic.column-map
         *      foreign-key-column="electronicTransferAccountFK"
         *      key-column="bankAccountPK"
     **/
    public abstract com.wf.bd.ice.account.BankAccountLocal
getElectronicTransferAccount();
    public abstract void setElectronicTransferAccount(
com.wf.bd.ice.account.BankAccountLocal pElectronicTransferAccount );

    /**
         *  This is a one (BusinessCard) to one (BankAccount) relationship.
         *  We can get a BankerDto in the
BusinessCardDto.getOverdraftProtectionAccount() method.
         *  We can also setOverdraftProtectionAccount( pBankAccount )
         *
         * @ejb.interface-method
         *      view-type="local"
         *
     * @ejb.value-object
     *      compose="com.wf.bd.ice.account.OverdraftProtectionAccountDto"
     *      compose-name="OverdraftProtectionAccountDto"
     *      members="com.wf.bd.ice.account.BankAccountLocal"
     *      members-name="OverdraftProtectionAccount"
     *      relation="external"
     *
     * @ejb.relation
     *      name="BusinessCard-OverdraftProtectionAccount"
     *      role-name="BusinessCard-has-OverdraftProtectionAccount"
         *      target-ejb="BankAccount"
         *
target-role-name="OverdraftProtectionAccount-belongs_to-BusinessCard"
         *      target-cascade-delete="yes"
         *
         * @weblogic.column-map
         *      foreign-key-column="overdraftProtectionAccountFK"
         *      key-column="bankAccountPK"
     **/
    public abstract com.wf.bd.ice.account.BankAccountLocal
getOverdraftProtectionAccount();
    public abstract void setOverdraftProtectionAccount(
com.wf.bd.ice.account.BankAccountLocal pOverdraftProtectionAccount );

    /**
     *  Get all Card's for this BusinessCard.
         *  This is a one (BusinessCard) to many (Cards) relationship.
         *  We can get a Collection of CardDto's in the
         *  BusinessCardDto.getCards() method.
         *  We can also setCards( pCards )
         *
         * @ --ejb.interface-method
         *      view-type="local"
     *
     * @ --ejb.relation
     *      name="BusinessCard-Card"
     *      role-name="BusinessCard-has-Cards"
         *      target-ejb="Card"
         *      target-role-name="Card-belongs_to-BusinessCard"
         *      target-cascade-delete="yes"
         *
         * @ --weblogic.target-column-map
         *      foreign-key-column="cardPK"
         *      key-column="productPK"
     *
     * @ --ejb.value-object
     *      compose="com.wf.bd.ice.card.CardDto"
     *      compose-name="CardDto"
     *      members="com.wf.bd.ice.card.CardLocal"
     *      members-name="Card"
     *      relation="external"
     *      type="java.util.Collection"
     *
     **/
    //public abstract Collection getCards();
    //public abstract void setCards( Collection pCards );










    //
-------------------------------------------------------------------------
    // Framework Callbacks
    //
-------------------------------------------------------------------------
    /**
     * Create a TestEntity based on the supplied TestEntity Value Object.
     *
     * @param pBusinessCardDto The name used to create the BusinessCard.
     *
     * @throws javax.ejb.EJBException If no new unique ID could be retrieved
this will
     *                      rollback the transaction because there is no
     *                      hope to try again
     * @throws javax.ejb.CreateException Because we have to do so (EJB
spec.)
     *
     * @ejb.interface-method view-type="local"
     * @ejb.create-method view-type="local"
     **/
    public java.lang.String ejbCreate( com.wf.bd.ice.product.BusinessCardDto
pBusinessCardDto )
    throws javax.ejb.EJBException, javax.ejb.CreateException
    {
        if( log.isInfoEnabled() ) {
            log.info( "=============================================" );
            log.info( "ejbCreate( com.wf.bd.ice.product.pBusinessCardDto
pBusinessCardDto )" );
            log.info( "pBusinessCardDto: " + pBusinessCardDto.toString() );
        }

        setProductPK( BusinessCardUtil.generateGUID(pBusinessCardDto) );

        if( log.isInfoEnabled() ) {
            log.info( "setProductPK(
BusinessCardUtil.generateGUID(pBusinessCardDto) )" );
            log.info( "getBusinessCard PK: " + getProductPK() );
            log.info( "=============================================" );
        }

        return null;
    }

    /**
     * java.lang.String Value of this CreditApplication Entity
     *
     * @ejb.interface-method
     *
     **/
    public java.lang.String toString()
    {
        try
        {
            return ( getBusinessCardDto().toString() );
        }
        catch( Exception e )
        {
            return "";
        }
    }


    //
-------------------------------------------------------------------------
    // EJB Callbacks
    //
-------------------------------------------------------------------------
    /**
     * EJB Post Create method
     * @param pBusinessCardDto
     * @throws javax.ejb.EJBException
     * @throws javax.ejb.CreateException
     *
     */
    public void ejbPostCreate( com.wf.bd.ice.product.BusinessCardDto
pBusinessCardDto )
    throws javax.ejb.EJBException, javax.ejb.CreateException
    {
        /*
        Update the EJB as the CMR information cannot be set at create time:
        java.lang.IllegalStateException: A CMR field cannot be set in
ejbCreate;
        this should be done in the ejbPostCreate method instead [EJB 2.0
Spec. 10.5.2].
        */
        if( log.isInfoEnabled() ) {
            log.info( "=============================================" );
            log.info( "ejbPostCreate( com.wf.bd.ice.product.BusinessCardDto
pBusinessCardDto )" );
            log.info( "pBusinessCardDto: " + pBusinessCardDto.toString() );
        }

        setBusinessCardDto( pBusinessCardDto );
        setProductType( "BUS_CARD" );

        if( log.isInfoEnabled() ) {
            log.info( "getBusinessCardDto().toString(): " +
getBusinessCardDto().toString() );
            log.info( "=============================================" );
        }
    }

    public void setEntityContext( javax.ejb.EntityContext lContext )
    {
        myEntityCtx = lContext;
    }

    public void unsetEntityContext()
    {
        myEntityCtx = null;
    }

    public void ejbActivate()
    {
    }

    public void ejbPassivate()
    {
    }

    public void ejbLoad()
    {
    }

    public void ejbStore()
    {
    }

    public void ejbRemove()
            throws javax.ejb.RemoveException
    {
    }

} //The End...


-------------------------------------------------------
This SF.Net email is sponsored by: GNOME Foundation
Hackers Unite!  GUADEC: The world's #1 Open Source Desktop Event.
GNOME Users and Developers European Conference, 28-30th June in Norway
http://2004/guadec.org
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to