com.ibm.commerce.me.commands
Class PunchOutCatalogDisplayCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.ControllerCommandImpl
                    |
                    +--com.ibm.commerce.me.commands.PunchOutCatalogDisplayCmdImpl
All Implemented Interfaces:
AccCommand, ControllerCommand, ECCommand, ECTargetableCommand, PunchOutCatalogDisplayCmd

public class PunchOutCatalogDisplayCmdImpl
extends ControllerCommandImpl
implements PunchOutCatalogDisplayCmd

The PunchOutCatalogDisplayCmdImpl class is defined in this file. This command is the shopping flow entry point for Procurement requisitioner or user When the requisitioner was authenticated in the PunchOutSetup command, the authentication information would have been stored in supplier cookie table. The key to that table entry and the URL of this command name would have been sent in the response. Now the procurement system will be invoking this command for the requisitioner providing the supplier cookie. So this command will retrive and verify the buyer information using the supplier cookie and forward to the appropriate view task based on the logon mode. (Display, Edit or Inspect)

See Also:
Serialized Form

Field Summary
static java.lang.String COPYRIGHT
          IBM Copyright field
 
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.me.commands. PunchOutCatalogDisplayCmd
defaultCommandClassName, NAME
 
Constructor Summary
PunchOutCatalogDisplayCmdImpl()
          PunchOutcatalogDisplayCmdImpl constructor.
 
Method Summary
 void performExecute()
          The business logic for this controller command.
 void setCatalogId(java.lang.Long catalogId)
          Sets the CatalogId that represents the primary key of the Catalog from within which the CategoryView is to be retrieved
 void setIdentifier(java.lang.String id)
          Sets the external Identifier that along with the MemberId uniquely identifies the Category whose view is to be retrieved.
 void setMemberId(java.lang.Long memberId)
          Sets the MemberId (or owner) that along with the Identifier uniquely identifies the Category whose view is to be retrieved.
 void setRequestProperties( TypedProperty p)
          The WebController calls the setRequestProperties method before invoking the execute method in this command.
 void setSupplierCookie(java.lang.String supplierCookie)
          Sets the supplier cookie using which the command can retrieve the buyer information
 void validateParameters()
          Check whether all the required parameters are available authentication.
 
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, getResources, 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, 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, getResources, getStoreId, getUser, getUserId, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties
 

Field Detail
public static final java.lang.String COPYRIGHT
IBM Copyright field
See Also:
Constant Field Values
Constructor Detail

PunchOutCatalogDisplayCmdImpl

public PunchOutCatalogDisplayCmdImpl()
PunchOutcatalogDisplayCmdImpl constructor.
Method Detail

performExecute

public void performExecute()
                    throws ECException
The business logic for this controller command. This method will invoke checkParametersOK() first, then retrieve the buyerRequestInfo from the SupplierCookieTable. Since the SupplierCookieTable has been implemented using the Singleton pattern we do not instantiate it. Next, it will put related fields that retrived from the buyerRequestInfo into response properties. Finally, it will create requst session, and add it into RequisitionerSessionTable.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
CommandException.
ECException

setCatalogId

public void setCatalogId(java.lang.Long catalogId)
Sets the CatalogId that represents the primary key of the Catalog from within which the CategoryView is to be retrieved
Specified by:
setCatalogId in interface PunchOutCatalogDisplayCmd
See Also:
PuchOutCatalogDisplayCmd#setCatalogId()

setIdentifier

public void setIdentifier(java.lang.String id)
Sets the external Identifier that along with the MemberId uniquely identifies the Category whose view is to be retrieved.
Specified by:
setIdentifier in interface PunchOutCatalogDisplayCmd
Parameters:
id - The identifer id.
See Also:
PuchOutCatalogDisplayCmd#setIdentifier()

setMemberId

public void setMemberId(java.lang.Long memberId)
Sets the MemberId (or owner) that along with the Identifier uniquely identifies the Category whose view is to be retrieved.
Specified by:
setMemberId in interface PunchOutCatalogDisplayCmd
See Also:
PuchOutCatalogDisplayCmd#setMemberId()

setRequestProperties

public void setRequestProperties(TypedProperty p)
                          throws ECException
The WebController calls the setRequestProperties method before invoking the execute method in this command. It is the responsibility of the implementer of the ControllerCommand to extract the required input parameters from the request properties and perform parameter checking.
Specified by:
setRequestProperties in interface ControllerCommand
Overrides:
setRequestProperties in class ControllerCommandImpl
Parameters:
p - request properties
Returns:
void
Throws:
com.ibm.commerce.exception.ECException.
ECException

setSupplierCookie

public void setSupplierCookie(java.lang.String supplierCookie)
Sets the supplier cookie using which the command can retrieve the buyer information
Specified by:
setSupplierCookie in interface PunchOutCatalogDisplayCmd
Parameters:
supplierCookie - The supplier cookie
See Also:
PuchOutCatalogDisplayCmd#setSupplierCookie()

validateParameters

public void validateParameters()
                        throws ECException
Check whether all the required parameters are available authentication. The supplierCookie is the required parameter. It cannot be null or empty.
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECException - Raised when require supplierCookie is null or empty.