com.ibm.commerce.contract.commands
Class PolicyAddCmdImpl

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

public class PolicyAddCmdImpl
extends ControllerCommandImpl
implements PolicyAddCmd

Adds a business policy to the POLICY database table (WebSphere Commerce Business Edition only). The following AccessBeans are used in this default implementation: StoreEntityAccessBean, BusinessPolicyAccessBean, PolicyCommandAccessBean, ContractJDBCHelperAccessBean().findAllBusinessPolicyType()

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. ControllerCommandImpl
requestProperties, responseProperties, retriable, viewReqProperties
 
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.contract.commands. PolicyAddCmd
defaultCommandClassName, NAME
 
Constructor Summary
PolicyAddCmdImpl()
           
 
Method Summary
 java.sql.Timestamp getEndDate()
          Gets the end date of the business policy.
  AccessVector getResources()
          Gets the access vector accessed by this command.
 java.sql.Timestamp getStartDate()
          Gets the start date of the business policy.
 void performExecute()
          The method add the business policy to policy table, and create the business policy and command(s) relationship.
 void setBusinessPolicyName(java.lang.String name)
          Sets the name of the business policy.
 void setBusinessPolicyType(java.lang.String type)
          Sets the type of the business policy.
 void setCommands(java.util.Hashtable commands)
          Sets the commands which process the business policy.
 void setCommonProperty(java.lang.String commonProp)
          Sets the common property string which business policy commands need.
 void setEndDate(java.lang.Long anEndDate)
          Sets the end date of the business policy.
 void setEndDate(java.lang.String endDate)
          Sets the end date of the business policy.
 void setEndDate(java.sql.Timestamp newEndDate)
          Sets the end date of the buisness policy.
 void setProperties(java.util.Hashtable props)
          Sets the specific properties of the business policy commands need.
 void setRequestProperties( TypedProperty aRequestProperties)
          Retrieves input parameters from the request properties.
 void setStartDate(java.lang.Long anStartDate)
          Sets the start date of the business policy.
 void setStartDate(java.lang.String startDate)
          Sets the starting date of the business policy.
 void setStartDate(java.sql.Timestamp startDate)
          Sets the start date of the business policy.
 void setStoreEntityId(java.lang.Integer storeEntId)
          Sets the store entity Id to which the business policy belongs.
 void validateParameters()
          Checks the input parameters.
 
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 this class.
See Also:
Constant Field Values
Constructor Detail

PolicyAddCmdImpl

public PolicyAddCmdImpl()
Method Detail

getEndDate

public java.sql.Timestamp getEndDate()
Gets the end date of the business policy.
Returns:
the end date of the business policy in Timestamp object

getResources

public AccessVector getResources()
                          throws ECException
Gets the access vector accessed by this command. The default implementation returns StoreEntityAccessBean of the store which the business policy will be added to.
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()

getStartDate

public java.sql.Timestamp getStartDate()
Gets the start date of the business policy.
Returns:
the start date of the business policy in Timestamp object

performExecute

public void performExecute()
                    throws ECException
The method add the business policy to policy table, and create the business policy and command(s) relationship.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException - Raised with message _ERR_DUPLICATED_POLICY_NAME if a business policy with the same name and type for the same store already exists. Raised with message _ERR_DUPLICATED_BUSINESS_CMD_NAME if a business policy command with the same already exists for this business policy.
See Also:
AbstractECTargetableCommand.performExecute()

setBusinessPolicyName

public void setBusinessPolicyName(java.lang.String name)
Sets the name of the business policy.
Specified by:
setBusinessPolicyName in interface PolicyAddCmd
Parameters:
name - the name of the business policy.

setBusinessPolicyType

public void setBusinessPolicyType(java.lang.String type)
Sets the type of the business policy.
Specified by:
setBusinessPolicyType in interface PolicyAddCmd
Parameters:
type - the business policy type

setCommands

public void setCommands(java.util.Hashtable commands)
Sets the commands which process the business policy. A Hashtable object contains all the commands process the business policy. The keys of this Hashtable are Integer objects which start with 0 to the number of the commands. The values of the Hashtable are String objects which represent the the commands. For example, if there are three commands. the keys of the Hashtable object will be 0, 1, 2.
Specified by:
setCommands in interface PolicyAddCmd
Parameters:
commands - all the commands to process the business policy

setCommonProperty

public void setCommonProperty(java.lang.String commonProp)
Sets the common property string which business policy commands need.
Specified by:
setCommonProperty in interface PolicyAddCmd
Parameters:
commonProp - the common property which business policy commands need to process the policy

setEndDate

public void setEndDate(java.lang.Long anEndDate)
Sets the end date of the business policy.
Parameters:
anEndDate - the end date of the business policy in Long object

setEndDate

public void setEndDate(java.lang.String endDate)
Sets the end date of the business policy.
Specified by:
setEndDate in interface PolicyAddCmd
Parameters:
endDate - A string object in yyyy-mm-dd hh:mm:ss.fffffffff format represents the end date of the business policy

setEndDate

public void setEndDate(java.sql.Timestamp newEndDate)
Sets the end date of the buisness policy.
Parameters:
newEndDate - The end date of the business policy.

setProperties

public void setProperties(java.util.Hashtable props)
Sets the specific properties of the business policy commands need. The keys of this Hashtable are Integer objects. The values of the Hashtable are String objects which represent the properties. The keys of this Hashtable are depended on which command the proerty is for. For example, if you have three commands in commands Hashtable, the first one and the third one have the commmon property, and the second command needs a specific porperty, then you set the key to Integer 2.
Specified by:
setProperties in interface PolicyAddCmd
Parameters:
props - a hashtable contains the business properties for a business command

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, the follwing parameter are required parameters: name, type, plcyStoreId. optional parameters are cmd, commonProps, props, endDate, startDate.
Throws:
ECApplicationException - Raised with message _ERR_MISSING_CMD_PARAMETER if one of the these required parameters are missing. Raised with message _ERR_WRONG_GMT_TIMESTAMP_FORMAT if the startDate or endDate parameter is not in "yyyy-mm-dd hh:mm:ss.fffffffff" format.
See Also:
ControllerCommandImpl.setRequestProperties(TypedProperty)

setStartDate

public void setStartDate(java.lang.Long anStartDate)
Sets the start date of the business policy.
Parameters:
anStartDate - the start date of the business policy in Long object

setStartDate

public void setStartDate(java.lang.String startDate)
Sets the starting date of the business policy.
Specified by:
setStartDate in interface PolicyAddCmd
Parameters:
startDate - a string object in yyyy-mm-dd hh:mm:ss.fffffffff format for the business policy's start date

setStartDate

public void setStartDate(java.sql.Timestamp startDate)
Sets the start date of the business policy.
Parameters:
startDate - the start date of the business policy in Timestamp object

setStoreEntityId

public void setStoreEntityId(java.lang.Integer storeEntId)
Sets the store entity Id to which the business policy belongs.
Specified by:
setStoreEntityId in interface PolicyAddCmd
Parameters:
storeEntId - the store entity id.

validateParameters

public void validateParameters()
                        throws ECException
Checks the input parameters.
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECException - Raised with message _ERR_UNSUPPORTED_BIZ_POLICY_TYPE if the given business policy type is an unsupported business policy type.
See Also:
AbstractECTargetableCommand.validateParameters()