com.ibm.commerce.approval.commands
Class ApprovalProcessRecordsCmdImpl

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

public class ApprovalProcessRecordsCmdImpl
extends TaskCommandImpl
implements ApprovalProcessRecordsCmd

Processes an approval action with respect to the approval records. Approval actions include the approver approving or rejecting or the submitter canceling. The approver may supply an optional comment which will be stored in the approval request's record in the APRVSTATUS table.

Before executing this task command the following sets should be performed:

Behaviour

This command loop through the records in the APRVSTATUS table for the given entity. Records that are for the given entity, but whose approver_id does not match the actor, get deleted. If there is a record whose approver_id matches the actor for the given entity, the status and action timestamp are updated.

See Also:

This command uses the following AccessBeans:

, Serialized Form

Field Summary
protected  java.lang.Integer action
          action.
protected  java.lang.Long actorId
          actor id.
protected  java.lang.Long businessEntityId
          entity id.
protected  java.lang.Long businessFlowId
          flow id.
static java.lang.String COPYRIGHT
          IBM copyright notice field.
 
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.approval.commands. ApprovalProcessRecordsCmd
defaultCommandClassName, NAME
 
Fields inherited from interface com.ibm.commerce.command. ECCommand
defaultCommandClassName
 
Constructor Summary
ApprovalProcessRecordsCmdImpl()
          Default constructor.
 
Method Summary
 boolean isReadyToCallExecute()
          Check if the command is ready to be executed.
 void performExecute()
          The main logic.
 void setAction(java.lang.Integer newAction)
          Sets the action being performed: approve, reject, or cancel.
 void setActorId(java.lang.Long newActorId)
          Sets the user performing the action.
 void setBusinessEntityId(java.lang.Long newBusinessEntityId)
          Sets the ID of the object being acted on.
 void setBusinessFlowId(java.lang.Long newBusinessFlowId)
          Sets the flow being used for this approval process.
 void setComment(java.lang.String newComment)
          Sets a comment that the actor wants included with the action.
 
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, reset, setAccCheck, setCommandContext, setCommandIfName, setCommandStoreId, setDefaultProperties, validateParameters
 
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

action

protected java.lang.Integer action
action.

businessFlowId

protected java.lang.Long businessFlowId
flow id.

businessEntityId

protected java.lang.Long businessEntityId
entity id.

actorId

protected java.lang.Long actorId
actor id.
Constructor Detail

ApprovalProcessRecordsCmdImpl

public ApprovalProcessRecordsCmdImpl()
Default constructor.
Method Detail

isReadyToCallExecute

public boolean isReadyToCallExecute()
Check if the command is ready to be executed.
Overrides:
isReadyToCallExecute in class AbstractECTargetableCommand
Returns:
boolean

performExecute

public void performExecute()
                    throws ECException
The main logic.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException.
ECException

setAction

public void setAction(java.lang.Integer newAction)
Sets the action being performed: approve, reject, or cancel. Represented as an integer.
Specified by:
setAction in interface ApprovalProcessRecordsCmd
Parameters:
newAction - The action being performed: approve, reject, or cancel

setActorId

public void setActorId(java.lang.Long newActorId)
Sets the user performing the action.
Specified by:
setActorId in interface ApprovalProcessRecordsCmd
Parameters:
newActorId - The user acting on the approval

setBusinessEntityId

public void setBusinessEntityId(java.lang.Long newBusinessEntityId)
Sets the ID of the object being acted on.
Specified by:
setBusinessEntityId in interface ApprovalProcessRecordsCmd
Parameters:
newBusinessEntityId - The entity on which the approval is being done

setBusinessFlowId

public void setBusinessFlowId(java.lang.Long newBusinessFlowId)
Sets the flow being used for this approval process.
Specified by:
setBusinessFlowId in interface ApprovalProcessRecordsCmd
Parameters:
newBusinessFlowId - The flow being used for this approval

setComment

public void setComment(java.lang.String newComment)
Sets a comment that the actor wants included with the action.
Specified by:
setComment in interface ApprovalProcessRecordsCmd
Parameters:
newComment - The reason supplied by actor for performing the action