com.ibm.commerce.returns.commands
Class ReturnProcessCmdImpl
java.lang.Object
|
+--CacheableCommandImpl
|
+--com.ibm.commerce.command.AbstractECTargetableCommand
|
+--com.ibm.commerce.command.ControllerCommandImpl
|
+--com.ibm.commerce.returns.commands.ReturnProcessCmdImpl
- All Implemented Interfaces:
-
AccCommand,
ControllerCommand,
ECCommand,
ECTargetableCommand,
ReturnProcessCmd
- public class ReturnProcessCmdImpl
- extends
ControllerCommandImpl
- implements
ReturnProcessCmd
Default implementation of the controller command
ReturnProcessCmd
interface.
Finalizes the agreement between the merchant and the customer as to the
terms of a return mechandise authorization (RMA).
Parameters
- RMAId (mandatory)
- The Id of the RMA to finalize.
- refundPolicyId (optional)
- The policy Id of the refund mechanism to use. This is mandatory if there is
more than one possible refund policy and it was not specified in a prior call
to ReturnProcess for this RMA.
- URL (mandatory)
- The URL to redirect to if the RMA is approved.
- URL2 (optional)
- The URL to redirect to if the RMA is not approved. If not specified, the
value specified in the URL parameter will be used.
- RMAExpiryURL (optional)
- The URL to redirect to if the RMA had expired and was
re-prepared.
Behaviour
- Checks to see if the RMA exists. If not, ECApplicationException is thrown
with message _ERR_RMA_IN_INVALID_STATE_FOR_COMMAND.
- Checks to see if a refund policy has been specified, either within the
command call or previously, or because there is only one choice. If not,
returns an error. If not, ECApplicationException is thrown with
message_ERR_BAD_MISSING_CMD_PARAMETER.
- Checks to see if the RMA has been prepared. If not, ECApplicationException
is thrown with message _ERR_RMA_IN_INVALID_STATE_FOR_COMMAND.
- Calls the RePrepareExpiredRMACmd task command to check to see if the
RMAGOODFOR time frame has expired for any RMA Item. If so, calls the
ReturnPrepare command and a redirection will take place to the RMAExpiryURL if
it is specified. If the RMAExpiryURL parameter is not specified, then
ReturnProcess completes normally.
- Calls the CalculateRMAApprovalCmd task command to calculate the overall
status of the Return. If the RMA is approved, then the command marks it as
approved (RMA.status='APP'), logs the authorization notice, and
redirects to the URL specified. If the RMA is not approved, then the command
marks it as pending (RMA.status='PND') and redirects to URL2.
Utilizes these access beans
- See Also:
- Serialized
Form
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,
setRequestProperties,
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,
getStoreId,
getUser,
getUserId,
isReadyToCallExecute,
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,
setRequestProperties,
setRetriable,
setViewInputProperties |
Methods inherited from interface
com.ibm.commerce.command.
ECCommand |
checkIsAllowed,
checkResourcePermission,
createCommandExecutionEvent,
getCommandContext,
getCommandIfName,
getCommandName,
getCommandStoreId,
getDefaultProperties,
getStoreId,
getUser,
getUserId,
setCommandContext,
setCommandIfName,
setCommandStoreId,
setDefaultProperties |
ReturnProcessCmdImpl
public ReturnProcessCmdImpl()
- ReturnProcessCmdImpl constructor.
extendCommand
protected void extendCommand()
throws ECException
- Extend the command here. This implementation calls the task command
ExtendReturnProcessCmd.
-
-
ECException
getResources
public AccessVector getResources()
throws ECException
- Gets the vector of resources accessed by this command.
-
- Specified by:
-
getResources
in interface
ECCommand
- Overrides:
-
getResources
in class
AbstractECTargetableCommand
-
- Returns:
- AccessVector - a vector of resource action pairs
-
ECException
public void performExecute()
throws ECException
- Execute the command.
-
- Specified by:
-
performExecute
in interface
ECCommand
- Overrides:
-
performExecute
in class
AbstractECTargetableCommand
-
- Throws:
-
ECApplicationException
- If the RMA is not in the prepared state
throws com.ibm.commerce.exception.ECApplicationException with
ECMessage.ECMessage._ERR_RMA_IN_INVALID_STATE_FOR_COMMAND
-
ECException
reset
public void reset()
- Reset the command.
-
- Overrides:
-
reset
in class
AbstractECTargetableCommand
validateParameters
public void validateParameters()
throws ECException
- Check mandatory parameters.
Parameters
- RMA.status
- the status of the RMA must be in process or in edit state
- URL
- The URL to redirect to if the RMA is approved.
- refundPolicyId
- the refundPolicyId id for the RMA.
-
- Specified by:
-
validateParameters
in interface
ECCommand
- Overrides:
-
validateParameters
in class
AbstractECTargetableCommand
-
- Throws:
-
ECApplicationException
- If the RMA.status is not in the right
state,(Process or edit) throws
com.ibm.commerce.exception.ECApplicationException with
ECMessage.ECMessage._ERR_RMA_IN_INVALID_STATE_FOR_COMMAND
-
ECApplicationException
- If there is no refundPolicyId or if no
"approved" redirect URL has been specified, throws
com.ibm.commerce.exception.ECApplicationException with
ECMessage._ERR_BAD_MISSING_CMD_PARAMETER
-
ECException