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

java.lang.Object
  CacheableCommandImpl
      com.ibm.commerce.command.AbstractECTargetableCommand
          com.ibm.commerce.command.ControllerCommandImpl
              com.ibm.commerce.collaboration.livehelp.commands.RetrieveShopperProfileCmdImpl
All Implemented Interfaces:
AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, Protectable, RetrieveShopperProfileCmd

public class RetrieveShopperProfileCmdImpl
extends ControllerCommandImpl
implements RetrieveShopperProfileCmd

Retrieves a shoppers profile for the Customer Care (sametime) tooling in Commerce Accelerator 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. Checks if the user is registered. 6. If the user is NOT registered, puts the userId in the responseProperties as "Title" 7. If the user is registered, puts the logonName in the responseProperties as "Title" 8. puts the profile Hashtable in the responseProperties as "ShopperProfile" 9. Sets the viewtask to LiveHelpUserProfileView in responseProperties Exception Conditions If any parameters are missing, the command sets the _ERR_MISSING_PARMS exception task to handle the error.

See Also:
Serialized Form

Field Summary
static java.lang.String CLASSNAME
Class name
static java.lang.String COPYRIGHT
IBM copyright info
static java.lang.String ERRTASK_NAME
Error task name
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.RetrieveShopperProfileCmd
defaultCommandClassName, NAME
Constructor Summary
RetrieveShopperProfileCmdImpl()
RetrieveShopperProfileCmdImpl constructor.
Method Summary
AccessVector getResources()
Gets the access vector accessed by this command.
void performExecute()
Contains the business logic for the command.
protected java.lang.String safeString(java.lang.String riskyString)
Utility function to check if a string is safe to use.
void validateParameters()
Validates the parameters expected in the request properties.
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, setRequestProperties, 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
Methods inherited from interface com.ibm.commerce.security.Protectable
fulfills, getOwner
Field Detail

COPYRIGHT

public static final java.lang.String COPYRIGHT
IBM copyright info
See Also:
Constant Field Values

CLASSNAME

public static final java.lang.String CLASSNAME
Class name
See Also:
Constant Field Values

ERRTASK_NAME

public static final java.lang.String ERRTASK_NAME
Error task name
See Also:
Constant Field Values
Constructor Detail

RetrieveShopperProfileCmdImpl

public RetrieveShopperProfileCmdImpl()
RetrieveShopperProfileCmdImpl constructor.
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.
Throws:
ECException - if anything goes wrong with the resources being instantiated.

performExecute

public void performExecute()
                    throws ECException
Contains the business logic for the command. 1. Creates an instance of UserRegistrationDataBean. 2. Creates an instance of UserAccessBean. 3. Creates an instance of OrderAccessBean. 4. Checks if the user is registered. 5. If the user is NOT registered, puts the userId in the responseProperties as "Title" 6. If the user is registered, puts the logonName in the responseProperties as "Title" 7. puts the profile Hashtable in the responseProperties as "ShopperProfile" 8. Sets the viewtask to LiveHelpUserProfileView in responseProperties
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECSystemException - Raised with message key : ECMessage._ERR_CREATE_EXCEPTION or ECMessage._ERR_FINDER_EXCEPTION or ECMessage._ERR_FINDER_EXCEPTION or ECMessage._ERR_NAMING_EXCEPTION or ECMessage._ERR_REMOTE_EXCEPTION or ECMessage._ERR_REMOVE_EXCEPTION if anything goes wrong with the data resources being queried.
ECException

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
Validates the parameters expected in the request properties. validated parameters are: userId user Id (required) storeId store Id (required)
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECApplicationException - Raised with message key ECMessage._ERR_MISSING_PARMS if fails the validation,
ECException

Feedback