com.ibm.commerce.contract.commands
Class ContractDeleteCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.ControllerCommandImpl
                    |
                    +--com.ibm.commerce.contract.commands.ContractDeleteCmdImpl
All Implemented Interfaces:
AccCommand, ContractDeleteCmd, ControllerCommand, ECCommand, ECTargetableCommand

public class ContractDeleteCmdImpl
extends ControllerCommandImpl
implements ContractDeleteCmd

Deletes the specified contracts by setting the contracts to MarkForDelete (WebSphere Commerce Business Edition only). This command does not remove the contract from the database immediately. A contract has to be in one of the following state to run this command: Draft, Cancelled, Closed. The following AccessBeans are used in this default implementation: ContractAccessBean, TradingAgreementAccessBean, StoreJDBCHelperAccessBean().findStoresCreatedByContract(contractId), ContractJDBCHelperAccessBean().findStoreIdsInStoreContractByContractId(contractId)

See Also:
com.ibm.commerce.store.commands.ManageStoreCmdImpl, com.ibm.commerce.store.commands.UpdateStoreRelationshipStateCmdImpl, UpdateRegistryCmd, Serialized Form

Field Summary
static java.lang.String CLASSNAME
          The name of the default implementation.
static java.lang.String COPYRIGHT
          IBM copyright notice field.
 
Fields inherited from class com.ibm.commerce.command. ControllerCommandImpl
requestProperties, responseProperties, retriable, viewReqProperties
 
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.contract.commands. ContractDeleteCmd
defaultCommandClassName, NAME
 
Constructor Summary
ContractDeleteCmdImpl()
           
 
Method Summary
 java.lang.String[] getContractIdList()
          Returns the IDs list of the contracts to be deleted.
  AccessVector getResources()
          Gets the access vector accessed by this command.
 void performExecute()
          The method closes the specified contract.
 void setContractIdList(java.lang.String[] asaContractIdList)
          Set the delete contract list id parameters.
 void setRequestProperties( TypedProperty aRequestProperties)
          Retrieves input parameters from the request properties.
 void validateParameters()
          Validates the contract(s) to check if they are in right state for this process.
 
Methods inherited from class com.ibm.commerce.command. ControllerCommandImpl
checkPermission, fulfills, getForUserId, getGeneric, getOwner, getRequestProperties, getResolvedRequestProperties, getResourceOwners, getResponseProperties, getRetriable, getViewInputProperties, isGeneric, isRetriable, mergeProperties, setForUserId, setGeneric, setOwner, setResponseProperties, setRetriable, setViewInputProperties
 
Methods inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
accessControlCheck, checkIsAllowed, checkParameters, checkResourcePermission, createCommandExecutionEvent, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, 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
 
Methods inherited from interface com.ibm.commerce.command. ControllerCommand
checkPermission, execute, getGeneric, getRequestProperties, getResolvedRequestProperties, getResponseProperties, getRetriable, getViewInputProperties, isGeneric, isRetriable, mergeProperties, setGeneric, setRetriable, setViewInputProperties
 
Methods inherited from interface com.ibm.commerce.command. AccCommand
accessControlCheck, getAccCheck, getForUserId, getResourceOwners, setAccCheck, setForUserId, setOwner
 
Methods inherited from interface com.ibm.commerce.command. ECCommand
checkIsAllowed, checkResourcePermission, createCommandExecutionEvent, getCommandContext, getCommandIfName, getCommandName, getCommandStoreId, getDefaultProperties, getStoreId, getUser, getUserId, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties
 

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 the default implementation.
See Also:
Constant Field Values
Constructor Detail

ContractDeleteCmdImpl

public ContractDeleteCmdImpl()
Method Detail

getContractIdList

public java.lang.String[] getContractIdList()
Returns the IDs list of the contracts to be deleted.
Specified by:
getContractIdList in interface ContractDeleteCmd
Returns:
a String array of the contract IDs.

getResources

public AccessVector getResources()
                          throws ECException
Gets the access vector accessed by this command. The default implementation returns a vector of ContractAccessBean objects of the contracts to be deleted.
Specified by:
getResources in interface ECCommand
Overrides:
getResources in class AbstractECTargetableCommand
Returns:
AccessVector - a vector of resource action pairs
Throws:
ECException
See Also:
AbstractECTargetableCommand.getResources()

performExecute

public void performExecute()
                    throws ECException
The method closes the specified contract. If there is a store created by this contract. The status of the store will be set to "Suspended", and the state of the store relationship if it has will be set to "Inactive". The store is set to "markForDelete".
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException - Raised with message _ERR_UPDATE_STORE_STATUS whenever the error occurs in ManageStoreCmd. see that command for detail Raised with message _ERR_UPDATE_STORE_RELATIONSHIP_STATE whenever the error occurs in UpdateStoreRelationshipStateCmd. see that command for detail. Raised with message _ERR_UPDATE_STORE_OR_STORE_RELATIONSHIP_STATE if one of the follwing exception be thrown when trying to get store and store relationship information from the specified contract: CreateException, RemoteException, SQLException, FinderException, NameException.
See Also:
com.ibm.commerce.store.commands.ManageStoreCmdImpl#performExecute(), com.ibm.commerce.store.commands.UpdateStoreRelationshipStateCmdImpl#performExecute(), ECCommand.performExecute(), AbstractECTargetableCommand.performExecute()

setContractIdList

public void setContractIdList(java.lang.String[] asaContractIdList)
Set the delete contract list id parameters.
Specified by:
setContractIdList in interface ContractDeleteCmd
Parameters:
asaContractIdList - java.lang.String[]

setRequestProperties

public void setRequestProperties(TypedProperty aRequestProperties)
                          throws ECApplicationException
Retrieves input parameters from the request properties.
Specified by:
setRequestProperties in interface ControllerCommand
Overrides:
setRequestProperties in class ControllerCommandImpl
Parameters:
aRequestProperties - An TypedProperty object contains the input parameters. For this default implementation, contractId is required parameter.
Throws:
ECApplicationException - Raised with message _ERR_MISSING_CMD_PARAMETER when contractId is missed from the URL.
See Also:
ControllerCommandImpl.setRequestProperties(TypedProperty)

validateParameters

public void validateParameters()
                        throws ECException
Validates the contract(s) to check if they are in right state for this process.
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECException - Raised with message _ERR_WRONG_CONTRACT_STATE if one of the contract(s) is not in one of the following states: Draft, Closed, Canceled. Raised with message _ERR_CONTRACT_OBJECT_NOT_FOUND if one of the contract(s) cannot be found based on the provided contract id. Raised with message _ERR_NUMBER_FORMAT_EXCEPTION if one of the contract id string cannot be convert to Long object.
See Also:
AbstractECTargetableCommand.validateParameters()