com.ibm.commerce.approval.commands
Class ApproversNotifyCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.TaskCommandImpl
                    |
                    +--com.ibm.commerce.approval.commands.ApproversNotifyCmdImpl
All Implemented Interfaces:
ApproversNotifyCmd, ECCommand, ECTargetableCommand, TaskCommand

public class ApproversNotifyCmdImpl
extends TaskCommandImpl
implements ApproversNotifyCmd

The task command implementation to notify approvers of the request for approval. Before executing this task command, the following sets should be performed:

Behaviour

This command calls the following TaskCommands:

This command uses the following AccessBeans:

See Also:
Serialized Form

Field Summary
static java.lang.String COPYRIGHT
          IBM copyright notice field.
static java.lang.String ERRTASK_NAME
          Error task name.
 
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.approval.commands. ApproversNotifyCmd
defaultCommandClassName, NAME
 
Fields inherited from interface com.ibm.commerce.command. ECCommand
defaultCommandClassName
 
Constructor Summary
ApproversNotifyCmdImpl()
           
 
Method Summary
 java.lang.Long getEntityId()
          Gets the entity ID.
 java.lang.Long getFlowId()
          Gets the flow ID.
 java.lang.Long getFlowTypeId()
          Gets the flow type ID.
 void performExecute()
          Determines recipients and calls SendMsgCmd to create notification messages.
 void setEntityId(java.lang.Long lngEntityId)
          Sets the entity ID.
 void setFlowId(java.lang.Long lngFlowId)
          Sets the flow ID.
 void setFlowTypeId(java.lang.Long lngFlowTypeId)
          Sets the flow type ID.
 void validateParameters()
          Verifies that the entity ID and flow ID have been provided.
 
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
 

Field Detail
public static final java.lang.String COPYRIGHT
IBM copyright notice field.
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

ApproversNotifyCmdImpl

public ApproversNotifyCmdImpl()
Method Detail

getEntityId

public java.lang.Long getEntityId()
Gets the entity ID.
Returns:
EntityID

getFlowId

public java.lang.Long getFlowId()
Gets the flow ID.
Returns:
FlowID

getFlowTypeId

public java.lang.Long getFlowTypeId()
Gets the flow type ID.
Returns:
FlowTypeID

performExecute

public void performExecute()
                    throws ECException
Determines recipients and calls SendMsgCmd to create notification messages.

validateParameters() is called prior to this method to verify input.

Obtains Approver MemberIDs from Approval Status Records

For each Approver:

Determines preferred language (default is store language).

Generates Message Subject in preferred language (from ApprovalNotification Properties file)

Creates, Populates and Executes SendMsgCmd

Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException

setEntityId

public void setEntityId(java.lang.Long lngEntityId)
Sets the entity ID.
Specified by:
setEntityId in interface ApproversNotifyCmd
Parameters:
lngEntityId -

setFlowId

public void setFlowId(java.lang.Long lngFlowId)
Sets the flow ID.
Specified by:
setFlowId in interface ApproversNotifyCmd
Parameters:
lngFlowId -

setFlowTypeId

public void setFlowTypeId(java.lang.Long lngFlowTypeId)
Sets the flow type ID.
Specified by:
setFlowTypeId in interface ApproversNotifyCmd
Parameters:
lngFlowTypeId -

validateParameters

public void validateParameters()
                        throws ECException
Verifies that the entity ID and flow ID have been provided.
Specified by:
validateParameters in interface ECCommand
Overrides:
validateParameters in class AbstractECTargetableCommand
Throws:
ECException - If an error is found while verifying parameters.