com.ibm.commerce.requisitionlist.commands
Class RequisitionListSubmitCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.ControllerCommandImpl
                    |
                    +--com.ibm.commerce.requisitionlist.commands.RequisitionListBaseCmdImpl
                          |
                          +--com.ibm.commerce.requisitionlist.commands.RequisitionListSubmitCmdImpl
All Implemented Interfaces:
AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, RequisitionListSubmitCmd

public class RequisitionListSubmitCmdImpl
extends RequisitionListBaseCmdImpl
implements RequisitionListSubmitCmd

Submit a requisition list for order processing. This command calls the following TaskCommands:

This command uses the following AccessBeans:
See Also:
Serialized Form

Field Summary
protected  java.lang.Long[] iContractId
          The contract id.
protected  java.lang.Long[] iOfferId
          The offer id.
 
Fields inherited from class com.ibm.commerce.requisitionlist.commands. RequisitionListBaseCmdImpl
COPYRIGHT, iOrderId, iRequisitionListId, iRequisitionListName, iRequisitionListStatus
 
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.requisitionlist.commands. RequisitionListSubmitCmd
COPYRIGHT, defaultCommandClassName, NAME
 
Constructor Summary
RequisitionListSubmitCmdImpl()
           
 
Method Summary
protected  void action()
          The main action of the command.
 void addOrderItemNVPs( TypedProperty req, OrderItemAccessBean orderItemAB, int i)
          Add some name value pairs to the req based on the columns in the orderItamAB.
protected  OrderAccessBean copyOrder( OrderAccessBean fromOrderAB)
          Copy the OrderAccessBean fromOrderAB and return a new created OrderAccessBean which is a clone of fromOrderAB.
protected  java.lang.String[] getContractId()
          Return an array of contract ids.
protected  java.lang.String[] getOfferId()
          Return an array of offer ids.
 java.lang.Long getOrderId()
          Returns the order id.
  AccessVector getResources()
          It returns the store access bean and the order access bean.
 void performExecute()
          The main execution of the command.
protected  void prepareOrder(java.lang.Long orderId)
          Prepare an order.
 void setContractId(java.lang.Long[] id)
          Specifies an array of contract ids for price calculation.
 void setOfferId(java.lang.Long[] id)
          Specifies an array of offer ids for price calculation.
 void setRequestProperties( TypedProperty reqProperties)
          Sets the request properties.
 void setRequisitionListId(java.lang.Long id)
          Specifies the requisition list id to be submitted.
protected  void updateResponseView()
          Sets the response view - Redirect View.
 void validateParameters()
          Validate the input parameters.
 
Methods inherited from class com.ibm.commerce.requisitionlist.commands. RequisitionListBaseCmdImpl
copyOrder, copyOrderAccessBean, copyOrderItemAccessBean, copyOrderPayInfo, getName, getRequisitionListId, getStatus, reset, setDefaultRequisitionListStatus, setName, setOrderId, setRequisitionListStatus, setStatus
 
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, 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

iContractId

protected java.lang.Long[] iContractId
The contract id.

iOfferId

protected java.lang.Long[] iOfferId
The offer id.
Constructor Detail

RequisitionListSubmitCmdImpl

public RequisitionListSubmitCmdImpl()
Method Detail

action

protected void action()
               throws java.sql.SQLException,
                      CreateException,
                      FinderException,
                      javax.naming.NamingException,
                      java.rmi.RemoteException,
ECException
The main action of the command.

It calls copyOrder() to copy the requisition list and then calls prepareOrder() to prepare the order.

Throws:
ECException
FinderException
CreateException
javax.naming.NamingException
java.rmi.RemoteException
SQLException

addOrderItemNVPs

public void addOrderItemNVPs(TypedProperty req,
OrderItemAccessBean orderItemAB,
                             int i)
                      throws java.sql.SQLException,
                             CreateException,
                             FinderException,
                             javax.naming.NamingException,
                             java.rmi.RemoteException,
ECException
Add some name value pairs to the req based on the columns in the orderItamAB. If the catalogEntryId in orderItemAB is not null, it will add a nvp ("catEntryId_i", orderItemAB.getCatalogEntryId()) to req. The following columns are checked:
Parameters:
req - request properties
orderItemAB - OrderItemAccessBean
i - int
Throws:
ECException
FinderException
CreateException
javax.naming.NamingException
java.rmi.RemoteException
SQLException

copyOrder

protected OrderAccessBean copyOrder(OrderAccessBean fromOrderAB)
                             throws java.sql.SQLException,
                                    CreateException,
                                    FinderException,
                                    javax.naming.NamingException,
                                    java.rmi.RemoteException,
ECException
Copy the OrderAccessBean fromOrderAB and return a new created OrderAccessBean which is a clone of fromOrderAB. This method overwrites the method in the super class. It first calls copyOrderAccessBean(OrderAccessBean) to create a new OrderAccessBean and calls addOrderItemNVPs() to add NVPs in the requestProperty and then calls OrderItemAddCmd to create the order items. It also calls copyOrderPayInfo() to copy the order pay info.
Overrides:
copyOrder in class RequisitionListBaseCmdImpl
Parameters:
fromOrderAB - OrderAccessBean
Returns:
OrderAccessBean
Throws:
ECException
FinderException
CreateException
javax.naming.NamingException
java.rmi.RemoteException
SQLException

getContractId

protected java.lang.String[] getContractId()
Return an array of contract ids.
Returns:
an array of the contract ids.

getOfferId

protected java.lang.String[] getOfferId()
Return an array of offer ids.
Returns:
an array of the offer ids.

getOrderId

public java.lang.Long getOrderId()
Returns the order id.
Overrides:
getOrderId in class RequisitionListBaseCmdImpl
Returns:
order id.

getResources

public AccessVector getResources()
                          throws ECException
It returns the store access bean and the order access bean.
Specified by:
getResources in interface ECCommand
Overrides:
getResources in class AbstractECTargetableCommand
Returns:
AccessVector.
Throws:
ECException

performExecute

public void performExecute()
                    throws ECException
The main execution of the command. It calls the follwoing methods:
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException

prepareOrder

protected void prepareOrder(java.lang.Long orderId)
                     throws java.sql.SQLException,
                            CreateException,
                            FinderException,
                            javax.naming.NamingException,
                            java.rmi.RemoteException,
ECException
Prepare an order. It calls OrderPrepareCmd to prepare the order.
Parameters:
orderId - order id
Throws:
ECException
FinderException
CreateException
javax.naming.NamingException
java.rmi.RemoteException
SQLException

setContractId

public void setContractId(java.lang.Long[] id)
Specifies an array of contract ids for price calculation.
Specified by:
setContractId in interface RequisitionListSubmitCmd
Parameters:
id - an array of contract ids.

setOfferId

public void setOfferId(java.lang.Long[] id)
Specifies an array of offer ids for price calculation.
Specified by:
setOfferId in interface RequisitionListSubmitCmd
Parameters:
id - an array of offer ids.

setRequestProperties

public void setRequestProperties(TypedProperty reqProperties)
                          throws ECException
Sets the request properties.
Specified by:
setRequestProperties in interface ControllerCommand
Overrides:
setRequestProperties in class RequisitionListBaseCmdImpl
Parameters:
reqProperties - request properties.
Throws:
ECException

setRequisitionListId

public void setRequisitionListId(java.lang.Long id)
Specifies the requisition list id to be submitted.
Specified by:
setRequisitionListId in interface RequisitionListSubmitCmd
Overrides:
setRequisitionListId in class RequisitionListBaseCmdImpl
Parameters:
id - requisition list id

updateResponseView

protected void updateResponseView()
Sets the response view - Redirect View. It also sets the output parameter orderId.
Overrides:
updateResponseView in class RequisitionListBaseCmdImpl

validateParameters

public void validateParameters()
                        throws ECException
Validate the input parameters.

It checks the following mandatory parameters:

It also checks the validation of the follwoing parameter values:

Exception:

Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECException