com.ibm.commerce.catalog.commands
Class ProductDisplayCmdImpl

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

public class ProductDisplayCmdImpl
extends ControllerCommandImpl
implements ProductDisplayCmd

This command first ensures that the CatalogEntry specified by ProductId can be displayed in the current store, is published, and is not marked for delete. It then resolves the Display Page by using the CatalogEntry information, the current Store, the the current user's member groups, the type of device that is being used to browse the CatalogEntry, the type of the CatalogEntry, and whether or not it is on auction. After the Display Page has been retreived, the command sets the ProductDisplayView task with the resolved Display Page as the document name.

See Also:
Serialized Form

Field Summary
static java.lang.String COPYRIGHT
          The internal 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.catalog.commands. ProductDisplayCmd
defaultCommandClassName, NAME
 
Constructor Summary
ProductDisplayCmdImpl()
          No value constructor.
 
Method Summary
protected  java.lang.Long getMemberId()
          Returns the MemberId (or owner) that along with the PartNumber uniquely identifies the CatalogEntry whose view is to be retrieved.
protected  java.lang.String getPartNumber()
          Returns the external PartNumber that along with the MemberId uniquely identifies the CatalogEntry whose view is to be retrieved.
protected  java.lang.Long getProductId()
          Returns the ProductId that represents the primary key of the CatalogEntry whose view is to be retrieved.
 boolean isGeneric()
          Checks if this is a generic command.
 boolean isReadyToCallExecute()
          This method is called by the Targettable Command frame work before the execution of the command.
 void performExecute()
          Contains the actual business logic of the command It should be implemented by all the command writer.
 boolean performSecurityCheck()
          Indicates that a user has authority to access this command.
 void reset()
          This method should be called after a command has been executed to reset its states variables.
 void setMemberId(java.lang.Long anMemberId)
          Sets the MemberId (or owner) that along with the PartNumber uniquely identifies the CatalogEntry whose view is to be retrieved.
 void setPartNumber(java.lang.String astrPartNumber)
          Sets the external PartNumber that along with the MemberId uniquely identifies the CatalogEntry whose view is to be retrieved.
 void setProductId(java.lang.Long anProductId)
          Sets the ProductId that represents the primary key of the CatalogEntry whose view is to be retrieved.
 void setRequestProperties( TypedProperty reqParms)
          Sets the request properties.
 void validateParameters()
          Performs server side parameter checking.
 
Methods inherited from class com.ibm.commerce.command. ControllerCommandImpl
checkPermission, fulfills, getForUserId, getGeneric, getOwner, getRequestProperties, getResolvedRequestProperties, getResourceOwners, getResponseProperties, getRetriable, getViewInputProperties, 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, 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, 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
The internal copyright field.
See Also:
Constant Field Values
Constructor Detail

ProductDisplayCmdImpl

public ProductDisplayCmdImpl()
No value constructor.
Method Detail

getMemberId

protected java.lang.Long getMemberId()
Returns the MemberId (or owner) that along with the PartNumber uniquely identifies the CatalogEntry whose view is to be retrieved.
Returns:
java.jang.Long

getPartNumber

protected java.lang.String getPartNumber()
Returns the external PartNumber that along with the MemberId uniquely identifies the CatalogEntry whose view is to be retrieved.
Returns:
java.lang.String

getProductId

protected java.lang.Long getProductId()
Returns the ProductId that represents the primary key of the CatalogEntry whose view is to be retrieved.
Returns:
java.lang.Long

isGeneric

public boolean isGeneric()
Description copied from interface: ControllerCommand
Checks if this is a generic command. A generic command is a command that can be invoked by a generic user. The default is false for all controller commands and true for all view commands.
Specified by:
isGeneric in interface ControllerCommand
Overrides:
isGeneric in class ControllerCommandImpl
Returns:
true if this command can be called by a generic user false if this command cannot be called by a generic user

isReadyToCallExecute

public boolean isReadyToCallExecute()
Description copied from class: AbstractECTargetableCommand
This method is called by the Targettable Command frame work before the execution of the command. The default implementation is to return true.
Overrides:
isReadyToCallExecute in class AbstractECTargetableCommand
Returns:
true if we can execute the command false if we canot execute the command

performExecute

public void performExecute()
                    throws ECException
Description copied from interface: ECCommand
Contains the actual business logic of the command It should be implemented by all the command writer.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
ECException

performSecurityCheck

public boolean performSecurityCheck()
Indicates that a user has authority to access this command.
Returns:
boolean

reset

public void reset()
Description copied from class: AbstractECTargetableCommand
This method should be called after a command has been executed to reset its states variables. After the call to reset, we should be able to execute the command again.
Overrides:
reset in class AbstractECTargetableCommand

setMemberId

public void setMemberId(java.lang.Long anMemberId)
Sets the MemberId (or owner) that along with the PartNumber uniquely identifies the CatalogEntry whose view is to be retrieved.
Specified by:
setMemberId in interface ProductDisplayCmd
Parameters:
anMemberId - java.jang.Long

setPartNumber

public void setPartNumber(java.lang.String astrPartNumber)
Sets the external PartNumber that along with the MemberId uniquely identifies the CatalogEntry whose view is to be retrieved.
Specified by:
setPartNumber in interface ProductDisplayCmd
Parameters:
astrPartNumber - java.lang.String

setProductId

public void setProductId(java.lang.Long anProductId)
Sets the ProductId that represents the primary key of the CatalogEntry whose view is to be retrieved.
Specified by:
setProductId in interface ProductDisplayCmd
Parameters:
anProductId - java.lang.Long

setRequestProperties

public void setRequestProperties(TypedProperty reqParms)
                          throws ECApplicationException
Description copied from interface: ControllerCommand
Sets the request properties. The WebController calls this method before invoking the execute method in this command to set the request properties for 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:
reqParms - request properties
ECApplicationException

validateParameters

public void validateParameters()
                        throws ECException
Description copied from interface: ECCommand
Performs server side parameter checking. This method replaces the checkParameters() method in a previous version of the code.
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
ECException