com.ibm.commerce.messaging.commands
Class OrderItemStatusCmdImpl

java.lang.Object
  |
  +--com.ibm.commerce.command.AbstractECCommand
        |
        +--com.ibm.commerce.command.TaskCommandImpl
              |
              +--com.ibm.commerce.messaging.commands.OrderItemStatusCmdImpl
All Implemented Interfaces:
ECCommand, OrderItemStatusCmd, TaskCommand

public class OrderItemStatusCmdImpl
extends TaskCommandImpl
implements OrderItemStatusCmd

The implementation of the OrderItemStatus command (see interface for a detailed description of the OrderItemStatus command)


Field Summary
static java.lang.String COPYRIGHT
          The internal copyright field.
protected  java.lang.String iMerchantItemNumber
           
protected  java.lang.String iMerchantOrderNumber
           
protected  java.lang.Long iOrderId
           
protected  java.lang.Long iOrderItemId
           
static java.lang.String itemCmdName
          The command name that handles the status updates for the items belonging to an order.
protected  TypedProperty oiProp
           
 
Fields inherited from class com.ibm.commerce.command.AbstractECCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.messaging.commands.OrderItemStatusCmd
defaultCommandClassName, NAME
 
Constructor Summary
OrderItemStatusCmdImpl()
           
 
Method Summary
 void createOrderItemStatus()
          Creates a new entry in the ORDISTAT table based the the given information that is received through the request properties.
 boolean doPostProcess(TypedProperty aRequestProperty)
          Performs a verification check after the command executes.
 boolean doPreProcess(TypedProperty aRequestProperty)
          Performs a verification check before the command executes.
 boolean doProcess(TypedProperty aRequestProperty)
          Determine whether this order item is new or not.
 boolean isReadyToCallExecute()
          Indicates whether the command is ready to execute.
 void performExecute()
          Performs a pre condition check on the request properties and if the pre condition check is ok, the business logic will be performed followed by a post condition check to ensure integrity is maintained.
 void propertySet(OrderFulfillmentItemStatusAccessBean ab, TypedProperty aProp)
          Fills the OrderFulfillmentItemStatusAccessBean object with the values that are found in the request properties.
 void setOrderItemStatusProperties(TypedProperty aRequestProperties)
          Binds the parameters received by the request properties to variables that are used for determining the order item to updated.
 
Methods inherited from class com.ibm.commerce.command.AbstractECCommand
accessControlCheck, checkIsAllowed, checkResourcePermission, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, reset, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties, validateParameters
 
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.ECCommand
checkIsAllowed, checkResourcePermission, execute, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties, validateParameters
 

Field Detail

COPYRIGHT

public static final java.lang.String COPYRIGHT
The internal copyright field.

iMerchantItemNumber

protected java.lang.String iMerchantItemNumber

iMerchantOrderNumber

protected java.lang.String iMerchantOrderNumber

iOrderId

protected java.lang.Long iOrderId

iOrderItemId

protected java.lang.Long iOrderItemId

itemCmdName

public static final java.lang.String itemCmdName
The command name that handles the status updates for the items belonging to an order.

oiProp

protected TypedProperty oiProp
Constructor Detail

OrderItemStatusCmdImpl

public OrderItemStatusCmdImpl()
Method Detail

createOrderItemStatus

public void createOrderItemStatus()
                           throws ECException
Creates a new entry in the ORDISTAT table based the the given information that is received through the request properties. ECException will be thrown if there is any problems with the update.
Throws:
ECException -  

doPostProcess

public boolean doPostProcess(TypedProperty aRequestProperty)
                      throws ECException
Performs a verification check after the command executes.
Specified by:
doPostProcess in interface OrderItemStatusCmd
Parameters:
aRequestProperty - com.ibm.commerce.datatype.TypedProperty
Returns:
boolean
Throws:
ECException -  

doPreProcess

public boolean doPreProcess(TypedProperty aRequestProperty)
                     throws ECException
Performs a verification check before the command executes.
Specified by:
doPreProcess in interface OrderItemStatusCmd
Parameters:
aRequestProperty - com.ibm.commerce.datatype.TypedProperty
Returns:
boolean
Throws:
ECException -  

doProcess

public boolean doProcess(TypedProperty aRequestProperty)
                  throws ECException
Determine whether this order item is new or not. If so, will add a new entry to the ORDISTAT table providing a WCS Order Item ID does exist. Else, an existing entry in the ORDISTAT table will be updated. Updating will depend on where versioning equals "TRUE". Versioning will update and version the entry and a new entry will be created in the ORDISTAT table with the information found in the request properties. No versioning only consists of updating the entry in the ORDISTAT table. The method will return false or throw an ECException if there is a problem with the given information or the update. If there are no problems, the method will return true.
Specified by:
doProcess in interface OrderItemStatusCmd
Parameters:
aRequestProperty - com.ibm.commerce.datatype.TypedProperty
Returns:
boolean
Throws:
ECException -  

isReadyToCallExecute

public boolean isReadyToCallExecute()
Indicates whether the command is ready to execute.
Overrides:
isReadyToCallExecute in class AbstractECCommand
Returns:
boolean

performExecute

public void performExecute()
                    throws ECException
Performs a pre condition check on the request properties and if the pre condition check is ok, the business logic will be performed followed by a post condition check to ensure integrity is maintained. If either of the 3 steps fail, an ECException will be thrown.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECCommand
Throws:
ECException -  

propertySet

public void propertySet(OrderFulfillmentItemStatusAccessBean ab,
                        TypedProperty aProp)
                 throws ECException
Fills the OrderFulfillmentItemStatusAccessBean object with the values that are found in the request properties. If values found in the request properties conflict with the allowed values for the OrderFulfillmentItemStatusAccessBean, an ECException is thrown.
Parameters:
ab - com.ibm.commerce.messaging.ejb.objects.OrderFulfillmentItemStatusAccessBean
aProp - com.ibm.commerce.datatype.TypedProperty
Throws:
ECException -  

setOrderItemStatusProperties

public void setOrderItemStatusProperties(TypedProperty aRequestProperties)
                                  throws ECException
Binds the parameters received by the request properties to variables that are used for determining the order item to updated. Also, a validation check is performed on some of the given parameters and if this check fails, an ECException is thrown.
Specified by:
setOrderItemStatusProperties in interface OrderItemStatusCmd
Parameters:
aRequestProperty - com.ibm.commerce.datatype.TypedProperty
Throws:
ECException -