com.ibm.commerce.contract.commands
Class CopyContractCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.TaskCommandImpl
                    |
                    +--com.ibm.commerce.contract.commands.CopyContractCmdImpl
All Implemented Interfaces:
CopyContractCmd, ECCommand, ECTargetableCommand, TaskCommand

public class CopyContractCmdImpl
extends TaskCommandImpl
implements CopyContractCmd

Copy a specified contract to a new contract (WebSphere Commerce Business Edition only). Calling commands: ContractCopyCmd, ContractNewVersionCmd The following AccessBeans are used in this default implemention: ContractAccessBean, TradingAgreementAccessBean, TradingDescriptionAccessBean, ParticipantAccessBean, AttachmentAccessBean, TradingAttachmentRelationAccessBean, ContractDisplayAccessBean, PolicyTCRelationAccessBean, TermConditionDescriptionAccessBean, TermConditionAccessBean.

See Also:
Serialized Form

Field Summary
static java.lang.String CLASSNAME
          The name of this class.
static java.lang.String COPYRIGHT
          IBM copyright notice field.
 
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.contract.commands. CopyContractCmd
defaultCommandClassName, NAME
 
Fields inherited from interface com.ibm.commerce.command. ECCommand
defaultCommandClassName
 
Constructor Summary
CopyContractCmdImpl()
           
 
Method Summary
 void createNewContract()
          Creates a new contract based on an existing contract.
 void createNewVersionInContractChildTable()
          Copys other contract related data for the new contract based on the existing contract.
 void createNewVersionInTCChildTable(java.lang.Long newTCId, java.lang.Long originalTCId)
          Copys terms and conditions related data for the new contract based on the existing contract.
 java.lang.Long getNewContractId()
          Returns ID of the new contract.
 void performExecute()
          The method creates the account based on the account Element object.
 void setContractId(java.lang.Long anContractId)
          Sets ID of the contract which will be copied from.
 void setContractMajorVersion(java.lang.Integer majorVersion)
          Sets the major version of the new contract.
 void setContractMinorVersion(java.lang.Integer minorVersion)
          Sets the minor version of the new contract.
 void setContractName(java.lang.String contractName)
          Sets the name of the new contract.
 void validateParameters()
          Validates if the id of the original contract was provided.
 
Methods inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
accessControlCheck, checkIsAllowed, checkParameters, checkResourcePermission, createCommandExecutionEvent, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getResources, getStoreId, getUser, getUserId, isReadyToCallExecute, reset, setAccCheck, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail
public static final java.lang.String COPYRIGHT
IBM copyright notice field.
See Also:
Constant Field Values

CLASSNAME

public static final java.lang.String CLASSNAME
The name of this class.
See Also:
Constant Field Values
Constructor Detail

CopyContractCmdImpl

public CopyContractCmdImpl()
Method Detail

createNewContract

public void createNewContract()
                       throws javax.ejb.CreateException,
                              javax.ejb.FinderException,
                              java.rmi.RemoteException,
                              javax.naming.NamingException,
                              java.sql.SQLException
Creates a new contract based on an existing contract.
Throws:
CreateException
FinderException
java.rmi.RemoteException
javax.naming.NamingException
java.sql.SQLException

createNewVersionInContractChildTable

public void createNewVersionInContractChildTable()
                                          throws javax.ejb.CreateException,
                                                 javax.ejb.FinderException,
                                                 java.rmi.RemoteException,
                                                 javax.naming.NamingException
Copys other contract related data for the new contract based on the existing contract.
Throws:
CreateException
FinderException
java.rmi.RemoteException
javax.naming.NamingException

createNewVersionInTCChildTable

public void createNewVersionInTCChildTable(java.lang.Long newTCId,
                                           java.lang.Long originalTCId)
                                    throws javax.ejb.CreateException,
                                           javax.ejb.FinderException,
                                           java.rmi.RemoteException,
                                           javax.naming.NamingException
Copys terms and conditions related data for the new contract based on the existing contract.
Parameters:
newTCId - the ID of the new term
originalTCId - the ID of the original term
Throws:
CreateException
FinderException
java.rmi.RemoteException
javax.naming.NamingException

getNewContractId

public java.lang.Long getNewContractId()
Returns ID of the new contract.
Specified by:
getNewContractId in interface CopyContractCmd
Returns:
The ID of the new contract.

performExecute

public void performExecute()
                    throws ECException
The method creates the account based on the account Element object.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException - Raised with message _ERR_CONTRACT_COPY whenever an IOException or SAXException occurred during terms and conditions copying process.
See Also:
createNewContract(), createNewVersionInContractChildTable(), CopyContractCmdImpl#createNewVersionInTCChildTable(newTCId, orgTCId), AbstractECTargetableCommand.performExecute()

setContractId

public void setContractId(java.lang.Long anContractId)
Sets ID of the contract which will be copied from.
Specified by:
setContractId in interface CopyContractCmd
Parameters:
anContractId - the ID of the original contract

setContractMajorVersion

public void setContractMajorVersion(java.lang.Integer majorVersion)
Sets the major version of the new contract.
Specified by:
setContractMajorVersion in interface CopyContractCmd
Parameters:
majorVersion - the major version of the new contract

setContractMinorVersion

public void setContractMinorVersion(java.lang.Integer minorVersion)
Sets the minor version of the new contract.
Specified by:
setContractMinorVersion in interface CopyContractCmd
Parameters:
minorVersion - the minor version of the new contract

setContractName

public void setContractName(java.lang.String contractName)
Sets the name of the new contract.
Specified by:
setContractName in interface CopyContractCmd
Parameters:
contractName - the name of the new contract

validateParameters

public void validateParameters()
                        throws ECException
Validates if the id of the original contract was provided.
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECException - Raised with the message _ERR_MISSING_CONTRACT_ID if the id of the original contract was missing.
See Also:
AbstractECTargetableCommand.validateParameters()