com.ibm.commerce.catalog.commands
Class ProductDisplayCmdImpl

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

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.


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()
          Check to see if this is a generic command.
 boolean isReadyToCallExecute()
          isReadyToCallExecute 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)
          The WebController calls this method before invoking the execute method in this command to set the request properties for this command.
 void validateParameters()
          Performs server side parameter checking.
 
Methods inherited from class com.ibm.commerce.command.ControllerCommandImpl
fulfills, getForUserId, getGeneric, getOwner, getRequestProperties, getResolvedRequestProperties, getResponseProperties, getRetriable, getViewInputProperties, isRetriable, mergeProperties, setForUserId, setGeneric, setOwner, setResponseProperties, setRetriable, setViewInputProperties
 
Methods inherited from class com.ibm.commerce.command.AbstractECTargetableCommand
accessControlCheck, checkIsAllowed, checkResourcePermission, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties
 
Methods inherited from interface com.ibm.commerce.command.ControllerCommand
execute, getGeneric, getRequestProperties, getResolvedRequestProperties, getResponseProperties, getRetriable, getViewInputProperties, isRetriable, mergeProperties, setGeneric, 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, getResources, getStoreId, getUser, getUserId, setCommandContext, setCommandIfName, setDefaultProperties
 
Methods inherited from interface com.ibm.commerce.security.Protectable
fulfills, getOwner
 

Field Detail

COPYRIGHT

public static final java.lang.String COPYRIGHT
The internal copyright field.
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
Check to see 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
Following copied from interface: com.ibm.commerce.command.ControllerCommand
Returns:
boolean - 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
isReadyToCallExecute 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
Following copied from class: com.ibm.commerce.command.AbstractECTargetableCommand
Returns:
boolean - 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
Following copied from interface: com.ibm.commerce.command.ECCommand
Throws:
com.ibm.commerce.command.CommandException - The superclass for all ECExceptions.

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
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
Following copied from interface: com.ibm.commerce.command.ControllerCommand
Parameters:
requestProperties - com.ibm.commerce.datatype.TypedProperty
Throws:
com.ibm.commerce.exception.ECException. -  

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
Following copied from interface: com.ibm.commerce.command.ECCommand
Throws:
ECException. -