com.ibm.commerce.messaging.commands
Class OrderStatusServiceCmdImpl
java.lang.Object
|
+--CacheableCommandImpl
|
+--com.ibm.commerce.command.AbstractECTargetableCommand
|
+--com.ibm.commerce.command.ControllerCommandImpl
|
+--com.ibm.commerce.messaging.commands.OrderStatusCmdImpl
|
+--com.ibm.commerce.messaging.commands.OrderStatusServiceCmdImpl
- All Implemented Interfaces:
-
AccCommand,
ControllerCommand,
ECCommand,
ECTargetableCommand,
OrderStatusCmd,
OrderStatusServiceCmd
- public class OrderStatusServiceCmdImpl
- extends
OrderStatusCmdImpl
- implements
OrderStatusServiceCmd
This implementation of OrderStatusService is invoked by sending a SOAP XML
message as specified by the corresponding WSDL definition. This class provides
a wrapper around the OrderStatusCommand implementation and allows an external
system to update the information regarding the status of an an existing
order.
The differnece between OrderStatus command and this comamnd is that this
implementation will return a view command name after the successfull updation
of the order status, where as the OrderStatus command will not return any view
name, but invokes the messaging subsystem to send a response back to the
client.
Parameters
This command accepts the same set of parameters as the parent command
OrderStatusCmdImpl. See the online help for OrderStatusCmdImpl for a
description of the parameters.
Behavior
- The first order status for an order must have orderId and
merchantOrderNumber specified.
- Check if the order specified in orderId exists in the ORDERS table.
- If serialization information is available, such as the sequenceNumber and
the lastUpdateTimestamp parameters, check if the values are more recent than
the ones already in the ORDSTAT table, if not then no update will be
performed.
- Create or update a row in the table ORDSTAT using all the provided
information.
- If versioning is enabled and this is the first order status for the order a
new row will be created in ORDSTAT table, otherwise a copy of the last order
status will be made and its version (OSVERNBR) will be set to the maximum
number of existing version +1. A new row will be created containing all
provided information with its OSVERNBR
value set to 0.
- Update the value in the STATUS column of table ORDERS to
'G'.
Exception Conditions
- The orderId specified is not a valid order number in the ORDERS table.
- Either the orderId or merchantOrderNumber is not specified in the first
order status for a particular order.
- The orderId and merchantOrderNumber do not match one already in ORDSTAT
table for a particular order in a subsequent order status udpate.
- Serialization information is provided and the order status message is out
of sequence.
- See Also:
- Serialized
Form
Field Summary |
static java.lang.String |
COPYRIGHT
The internal copyright field. |
Method Summary |
void |
performExecute()
The business logic of this command. |
Methods inherited from class
com.ibm.commerce.messaging.commands.
OrderStatusCmdImpl |
checkOrderStatusSequence,
createOrderStatus,
doPostProcess,
doPreProcess,
doProcess,
getIAccessVector,
getIMerchantOrderNumber,
getIOrderId,
getOrderStatus,
getOsItems,
getOsProp,
getResources,
isReadyToCallExecute,
propertySet,
reset,
setOrder,
setOrderStatus,
setRequestProperties,
updateOrder,
validateParameters |
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,
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.
ECCommand |
checkIsAllowed,
checkResourcePermission,
createCommandExecutionEvent,
getCommandContext,
getCommandIfName,
getCommandName,
getCommandStoreId,
getDefaultProperties,
getResources,
getStoreId,
getUser,
getUserId,
setCommandContext,
setCommandIfName,
setCommandStoreId,
setDefaultProperties,
validateParameters |
COPYRIGHT
public static final java.lang.String COPYRIGHT
- The internal copyright field.
- See Also:
-
Constant Field Values
OrderStatusServiceCmdImpl
public OrderStatusServiceCmdImpl()
- default constructor for OrderStatusServiceCmdImpl
public void performExecute()
throws ECException
- The business logic of this command.
Invokes the performExecute() of the parent OrderStatus command and then
return the unique identifier for the new OrderStatus created. Also returns a
view name so that a synchronous response message is sent to the client.
-
- Specified by:
-
performExecute
in interface
ECCommand
- Overrides:
-
performExecute
in class
OrderStatusCmdImpl
-
- Throws:
-
ECException
- if the OrderStatus information cannot be updated.