com.ibm.commerce.contract.commands
Class ContractCloseCmdImpl

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

public class ContractCloseCmdImpl
extends ControllerCommandImpl
implements ContractCloseCmd

This is the default implementation of the ContractClose command (WebSphere Commerce Business Edition only). This command closes the specified contract by changing its contract state to Closed. A contract can be closed if it is in one of the following states: Approved, Active, Suspended. The following AccessBeans are used in this default implementation: ContractAccessBean, TradingAgreementAccessBean,StoreContractAccessBean, 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. ContractCloseCmd
defaultCommandClassName, NAME
 
Constructor Summary
ContractCloseCmdImpl()
           
 
Method Summary
 java.lang.Long getContractId()
          Gets the id of the contract to be closed.
  AccessVector getResources()
          Gets the access vector accessed by this command.
 void performExecute()
          The method closes the specified contract.
 void setContractId(java.lang.Long contractId)
          Sets the ID of the contract to be closed.
 void setRequestProperties( TypedProperty aRequestProperties)
          Retrieves input parameters from the request properties.
 void validateParameters()
          Validates the contract to check if it is 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

ContractCloseCmdImpl

public ContractCloseCmdImpl()
Method Detail

getContractId

public java.lang.Long getContractId()
Gets the id of the contract to be closed.
Returns:
id of the contract to be closed

getResources

public AccessVector getResources()
                          throws ECException
Gets the access vector accessed by this command. The default implementation returns ContractAccessBean of the contract to be closed.
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".
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()

setContractId

public void setContractId(java.lang.Long contractId)
Sets the ID of the contract to be closed.
Specified by:
setContractId in interface ContractCloseCmd
Parameters:
contractId - ID of the contract to be closed

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. Raised with message _ERR_NUMBER_FORMAT_EXCEPTION if the contractId provided from the URL do not match its type.
See Also:
ControllerCommandImpl.setRequestProperties(TypedProperty)

validateParameters

public void validateParameters()
                        throws ECException
Validates the contract to check if it is 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 the contract is not in one of the following states: Active, Suspended, Approved. Raised with message _ERR_CONTRACT_OBJECT_NOT_FOUND if the contract cannot be found based on the provided contract id.
See Also:
AbstractECTargetableCommand.validateParameters()