com.ibm.commerce.tools.optools.order.commands
Class CSROrderPrepareCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.ControllerCommandImpl
                    |
                    +--com.ibm.commerce.tools.command.ToolsControllerCommandImpl
                          |
                          +--com.ibm.commerce.tools.optools.order.commands.CSRBaseControllerCommandImpl
                                |
                                +--com.ibm.commerce.tools.optools.order.commands.CSROrderPrepareCmdImpl
All Implemented Interfaces:
AccCommand, ControllerCommand, CSROrderPrepareCmd, ECCommand, ECTargetableCommand, ToolsControllerCommand

public class CSROrderPrepareCmdImpl
extends CSRBaseControllerCommandImpl
implements CSROrderPrepareCmd

This is the default implementation of the CSROrderItemAddCmd command.

This command calls the following Commands:

This command uses the following AccessBean:

See Also:
Serialized Form

Field Summary
static java.lang.String COPYRIGHT
          IBM copyright notice field.
static java.lang.String ERRTASK_NAME
          Error handling viewname for this command.
 
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.tools.optools.order.commands. CSROrderPrepareCmd
defaultCommandClassName, NAME
 
Constructor Summary
CSROrderPrepareCmdImpl()
           
 
Method Summary
protected  TypedProperty exceptionUtil( TypedProperty prop, java.lang.Exception ex, java.lang.String methodName, java.lang.String cmdName)
          This method sets up the response property when an exception occurs.
protected  void executeOrderPrepare(java.lang.String orderId)
          This method calls OrderCalculateCmd and OrderPrepareCmd to prepare the order.
 java.lang.String getCustomerId()
          Returns customer ID.
 java.lang.String getFirstOrderId()
          Returns first order ID.
 java.util.Hashtable getNLS()
          Returns NLS properties.
  CommandContext getOrgCmdContext()
          Returns original command context.
 java.lang.Integer getOrgLangId()
          Returns original language ID.
 java.util.Locale getOrgLocale()
          Returns original Locale.
  TypedProperty getOrgReqProperties()
          Returns original request properties.
 java.lang.String getRedirectURL()
          Returns redirect URL.
  AccessVector getResources()
          Gets the access vector accessed by this command.
 java.lang.String getSecondOrderId()
          Returns the ID of the second order.
protected  boolean isEmptyOrder(java.lang.String orderRefNum)
          Returns true if there is no order item in the order.
 void performExecute()
          This method prepares the orders that have at least one item.
protected  void setCustomerId(java.lang.String newCustomerId)
          Sets customer ID.
protected  void setFirstOrderId(java.lang.String newFirstOrderId)
          Sets first order ID.
protected  void setNLS(java.util.Hashtable newNLS)
          Sets NLS properties.
protected  void setOrgCmdContext( CommandContext newOrgCmdContext)
          Sets original command context.
protected  void setOrgLangId(java.lang.Integer newOrgLangId)
          Sets original language ID.
protected  void setOrgLocale(java.util.Locale newOrgLocale)
          Sets original Locale.
protected  void setOrgReqProperties( TypedProperty newOrgReqProperties)
          Sets original request properties.
protected  void setRedirectURL(java.lang.String newRedirectURL)
          Sets redirect URL.
protected  void setSecondOrderId(java.lang.String newSecondOrderId)
          Sets second order ID.
 void validateParameters()
          Gets XMLObject from the GUI Notebook or Wizard and get ready to parse it.
 
Methods inherited from class com.ibm.commerce.tools.optools.order.commands. CSRBaseControllerCommandImpl
callPreCommands, findCmdInterfaceName, getIfExePreCmdChains, getPreCmdChain, setIfExePreCmdChains, setPreCmdChain
 
Methods inherited from class com.ibm.commerce.tools.command. ToolsControllerCommandImpl
getViewInputProperties, setRequestProperties
 
Methods inherited from class com.ibm.commerce.command. ControllerCommandImpl
checkPermission, fulfills, getForUserId, getGeneric, getOwner, getRequestProperties, getResolvedRequestProperties, getResourceOwners, getResponseProperties, getRetriable, 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, setRequestProperties, 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

ERRTASK_NAME

public static java.lang.String ERRTASK_NAME
Error handling viewname for this command.
Constructor Detail

CSROrderPrepareCmdImpl

public CSROrderPrepareCmdImpl()
Method Detail

exceptionUtil

protected TypedProperty exceptionUtil(TypedProperty prop,
                                      java.lang.Exception ex,
                                      java.lang.String methodName,
                                      java.lang.String cmdName)
This method sets up the response property when an exception occurs.
Parameters:
prop - The response typed property.
ex - The catched exception.
methodName - The name of the method with exception.
cmdName - The name of the command.
Returns:
The proper typed property with redirection to the error page.

executeOrderPrepare

protected void executeOrderPrepare(java.lang.String orderId)
                            throws ECException
This method calls OrderCalculateCmd and OrderPrepareCmd to prepare the order.
Parameters:
orderId - The order ID.
Throws:
ECException - if OrderCalculateCmd or OrderPrepareCmd fails to execute.

getCustomerId

public java.lang.String getCustomerId()
Returns customer ID.
Specified by:
getCustomerId in interface CSROrderPrepareCmd
Returns:
The customer ID.

getFirstOrderId

public java.lang.String getFirstOrderId()
Returns first order ID.
Specified by:
getFirstOrderId in interface CSROrderPrepareCmd
Returns:
The ID of the first order.

getNLS

public java.util.Hashtable getNLS()
Returns NLS properties.
Returns:
The NLS properties.

getOrgCmdContext

public CommandContext getOrgCmdContext()
Returns original command context.
Returns:
The original command context.

getOrgLangId

public java.lang.Integer getOrgLangId()
Returns original language ID.
Returns:
The original language ID.

getOrgLocale

public java.util.Locale getOrgLocale()
Returns original Locale.
Returns:
The original Locale.

getOrgReqProperties

public TypedProperty getOrgReqProperties()
Returns original request properties.
Returns:
The original request properties.

getRedirectURL

public java.lang.String getRedirectURL()
Returns redirect URL.
Returns:
The redirect URL.

getResources

public AccessVector getResources()
                          throws ECException
Gets the access vector accessed by this command. The default implementation returns null indicating that no protectable resource is accessed by this command.
Specified by:
getResources in interface ECCommand
Overrides:
getResources in class AbstractECTargetableCommand
Returns:
The vector of resource action pairs.
Throws:
ECException - If the resource can not be retrieved.

getSecondOrderId

public java.lang.String getSecondOrderId()
Returns the ID of the second order.
Specified by:
getSecondOrderId in interface CSROrderPrepareCmd
Returns:
The ID of the second order.

isEmptyOrder

protected boolean isEmptyOrder(java.lang.String orderRefNum)
                        throws java.lang.Exception
Returns true if there is no order item in the order.
Parameters:
orderRefNum - The order ID
Returns:
true if there is no order item in the order.
Throws:
java.lang.Exception - if order accessBean can not be instantiated from the orderRefNum.

performExecute

public void performExecute()
                    throws ECException
This method prepares the orders that have at least one item.

It first calls the callPreCommands method in the super class to execute all pre-commands and then prepares the orders.

If there are any temporary addresses used in the order items, they will be converted into permanent addresses first before calling OrderPrepareCmd. Then these address will be changed back into temporary addreses.

Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException - if orders can not be prepared.

setCustomerId

protected void setCustomerId(java.lang.String newCustomerId)
Sets customer ID.
Parameters:
newCustomerId - The customer ID.

setFirstOrderId

protected void setFirstOrderId(java.lang.String newFirstOrderId)
Sets first order ID.
Parameters:
newFirstOrderId - The ID of the first order.

setNLS

protected void setNLS(java.util.Hashtable newNLS)
Sets NLS properties.
Parameters:
newNLS - The NLS properties.

setOrgCmdContext

protected void setOrgCmdContext(CommandContext newOrgCmdContext)
Sets original command context.
Parameters:
newOrgCmdContext - The original command context.

setOrgLangId

protected void setOrgLangId(java.lang.Integer newOrgLangId)
Sets original language ID.
Parameters:
newOrgLangId - The original language ID.

setOrgLocale

protected void setOrgLocale(java.util.Locale newOrgLocale)
Sets original Locale.
Parameters:
newOrgLocale - The original Locale.

setOrgReqProperties

protected void setOrgReqProperties(TypedProperty newOrgReqProperties)
Sets original request properties.
Parameters:
newOrgReqProperties - The original request properties.

setRedirectURL

protected void setRedirectURL(java.lang.String newRedirectURL)
Sets redirect URL.
Parameters:
newRedirectURL - The redirect URL.

setSecondOrderId

protected void setSecondOrderId(java.lang.String newSecondOrderId)
Sets second order ID.
Parameters:
newSecondOrderId - The second order ID.

validateParameters

public void validateParameters()
                        throws ECApplicationException
Gets XMLObject from the GUI Notebook or Wizard and get ready to parse it.
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class CSRBaseControllerCommandImpl
Throws:
ECApplicationException - If the XML does not contain the required parameters.