com.ibm.commerce.collaboration.livehelp.commands
Class RetrieveShoppingCartCmdImpl

com.ibm.commerce.command.AbstractECTargetableCommand
  |
  +--com.ibm.commerce.command.ControllerCommandImpl
        |
        +--com.ibm.commerce.collaboration.livehelp.commands.RetrieveShoppingCartCmdImpl
All Implemented Interfaces:
AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, Protectable, RetrieveShoppingCartCmd

public class RetrieveShoppingCartCmdImpl
extends ControllerCommandImpl
implements RetrieveShoppingCartCmd

Retrieves a shoppers profile for the Customer Care (sametime) tooling in Commerce Accelerator

Behaviour

The command does the following:

  1. Verifies that the user requesting the action is a Customer Service Representative (CSR), Customer Service Supervisor (CSS), Seller, or a Site Administrator role in the seller organization. Otherwise, the requester does not have the authority to execute this command.
  2. Creates an instance of UserRegistrationDataBean.
  3. Creates an instance of UserAccessBean.
  4. Creates an instance of OrderAccessBean.
  5. Uses the OrderAccessBean to populate the Vector vOrder with any pending orders.
  6. Checks if the user is registered.
  7. If the user is registered, puts the logonName in the responseProperties as "Title" .
  8. If the user is NOT registered, puts the userId in the responseProperties as "Title".
  9. Generates the xml description of the shopping cart in the following format:
    <ShoppingCart>
      <OrderItem>
        <OrderItemId></OrderItemId>
        <quantity></quantity>
        <partNumber></partNumber>
        <description></description>
        <basePrice></basePrice>
        <baseCurrency></baseCurrency>
        <fulfilmentStatus></fulfilmentStatus>
        <customerComment></customerComment>
        <price></price>
        <tax></tax>
      </OrderItem>
    </ShoppingCart>
  10. Sets the viewtask to LiveHelpShoppingCartView in responseProperties

Exception Conditions

If any parameters are missing, the command sets the _ERR_MISSING_PARMS exception task to handle the error.


Field Summary
protected  UserRegistrationDataBean bnRegister
           
static java.lang.String CLASSNAME
           
static java.lang.String COPYRIGHT
           
static java.lang.String ERRTASK_NAME
           
protected  java.lang.String storeId
           
protected  java.lang.String userId
           
protected  java.util.Vector vOrder
           
 
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.collaboration.livehelp.commands.RetrieveShoppingCartCmd
defaultCommandClassName, NAME
 
Constructor Summary
RetrieveShoppingCartCmdImpl()
           
 
Method Summary
 AccessVector getResources()
          Gets the access vector accessed by this command.
 java.lang.String getShoppingcart()
          Return the shopping cart XML string.
 boolean isGeneric()
          This controller command can not be called by a generic user.
 boolean isReadyToCallExecute()
          Always true.
 void performExecute()
          This method will retrieve the shopping cart information and generate the shopcart xml.
protected  java.lang.String safeString(java.lang.String riskyString)
          Utility function to check if a string is safe to use.
 void validateParameters()
          Checks for the required parameters "userId" and "storeId" in the requestProperties.
 
Methods inherited from class com.ibm.commerce.command.ControllerCommandImpl
fulfills, getForUserId, getGeneric, getOwner, getRequestProperties, getResolvedRequestProperties, getResponseProperties, getRetriable, getViewInputProperties, isRetriable, mergeProperties, setForUserId, setGeneric, setOwner, setRequestProperties, setResponseProperties, setRetriable, setViewInputProperties
 
Methods inherited from class com.ibm.commerce.command.AbstractECTargetableCommand
accessControlCheck, checkIsAllowed, checkResourcePermission, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getStoreId, getUser, getUserId, reset, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties
 
Methods inherited from interface com.ibm.commerce.command.ControllerCommand
execute, getGeneric, getRequestProperties, getResolvedRequestProperties, getResponseProperties, getRetriable, getViewInputProperties, isRetriable, mergeProperties, setGeneric, setRequestProperties, setRetriable, setViewInputProperties
 
Methods inherited from interface com.ibm.commerce.command.AccCommand
accessControlCheck, getAccCheck, getForUserId, setAccCheck, setForUserId, setOwner
 
Methods inherited from interface com.ibm.commerce.command.ECCommand
checkIsAllowed, checkResourcePermission, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getStoreId, getUser, getUserId, setCommandContext, setCommandIfName, setDefaultProperties
 
Methods inherited from interface com.ibm.commerce.security.Protectable
fulfills, getOwner
 

Field Detail

bnRegister

protected UserRegistrationDataBean bnRegister

CLASSNAME

public static final java.lang.String CLASSNAME

COPYRIGHT

public static final java.lang.String COPYRIGHT

ERRTASK_NAME

public static final java.lang.String ERRTASK_NAME

storeId

protected java.lang.String storeId

userId

protected java.lang.String userId

vOrder

protected java.util.Vector vOrder
Constructor Detail

RetrieveShoppingCartCmdImpl

public RetrieveShoppingCartCmdImpl()
Method Detail

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. It is the responsibilities of the command writer to return the protectable primary resource(s) and the corresponding actions accessed by this command.

Specified by:
getResources in interface ECCommand
Overrides:
getResources in class AbstractECTargetableCommand
Returns:
AccessVector - a vector of resource action pairs

getShoppingcart

public java.lang.String getShoppingcart()
Return the shopping cart XML string.
Returns:
java.lang.String

isGeneric

public boolean isGeneric()
This controller command can not be called by a generic user.
Specified by:
isGeneric in interface ControllerCommand
Overrides:
isGeneric in class ControllerCommandImpl
Returns:
boolean

isReadyToCallExecute

public boolean isReadyToCallExecute()
Always true.
Overrides:
isReadyToCallExecute in class AbstractECTargetableCommand
Returns:
boolean

performExecute

public void performExecute()
                    throws ECException
This method will retrieve the shopping cart information and generate the shopcart xml.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException - If anything goes wrong with the data resources being queried.

safeString

protected java.lang.String safeString(java.lang.String riskyString)
Utility function to check if a string is safe to use.
Parameters:
riskyString - A string that could be null, or contain leading or trailing spaces.
Returns:
A safe string, trimmed, and set to "" if the input was null.

validateParameters

public void validateParameters()
                        throws ECException
Checks for the required parameters "userId" and "storeId" in the requestProperties.
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECException - If parameters are missing.