com.ibm.commerce.payment.commands
Class DoRefundPMCmdImpl

java.lang.Object
  |
  +--com.ibm.commerce.command.AbstractECCommand
        |
        +--com.ibm.commerce.command.TaskCommandImpl
              |
              +--com.ibm.commerce.command.BusinessPolicyCommandImpl
                    |
                    +--com.ibm.commerce.payment.commands.DoRefundPMCmdImpl
All Implemented Interfaces:
BusinessPolicyCommand, DoRefundPolicyCmd, ECCommand, TaskCommand

public class DoRefundPMCmdImpl
extends BusinessPolicyCommandImpl
implements DoRefundPolicyCmd

This DoRefundPolicy business policy command implementation class is the default implementation class for refunding payment through WebSphere Payment Manager.
(The original payment method of the Order may be different)

Parameter:
Parameter Name Type Descriptions
abRMA RMAAccessBean The RMA Access Bean
abOrder OrderAccessBean The Order Access Bean
bdRefundAmount BigDecimal The amount of the refund in the currency of the Order.
errorViewName String Optional error view name passed in by the Caller.

Behavior:

Error View Name: ErrorCodes:


Fields inherited from class com.ibm.commerce.command.BusinessPolicyCommandImpl
policyId, requestProperties
 
Fields inherited from class com.ibm.commerce.command.AbstractECCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.payment.commands.DoRefundPolicyCmd
COPYRIGHT, defaultCommandClassName, ERRTASK_NAME, NAME
 
Constructor Summary
DoRefundPMCmdImpl()
           
 
Method Summary
protected  void checkCurrencyAndGetChargeAmount()
          Checks the currency of the Order and the Store default currency.
protected  AccountAccessBean getAccount()
          This method will first check if the local variable is set or not.
protected  java.lang.Long getAccountId()
          Returns the Account ID.
protected  java.math.BigDecimal getChargeAmount()
          Returns the Charge Amount.
protected  java.lang.String getChargeAmountCurrency()
          Returns the currency of the Charge Amount.
protected  java.lang.String getErrorViewName()
          Retrieve the error view name passed in by the Caller.
protected  OrderAccessBean getOrder()
          Returns the OrderAccessBean representing the Order.
protected  java.math.BigInteger getPMRefundAmount()
          Returns the refund amount normalized for input to the Payment Manager.
protected  java.math.BigDecimal getRefundAmount()
          Returns the refund amount.
protected  RMAAccessBean getRMA()
          Returns the RMA AccessBean.
 boolean isReadyToCallExecute()
          This method is called by the Command Framework to check if all basic mandatory parameters have been set for this command.
 void performExecute()
          Performs the main business logic of the command.
 void reset()
          Resets the instance variables of the command.
protected  void retrieveActiveAccountIdFromOrder()
          This method is called by performExecute to retrieve the Account ID from the Trading Agreement associated with the RMA.
protected  void setAccountId(java.lang.Long nAccountId)
          Sets the accountId property of the command.
protected  void setChargeAmount(java.math.BigDecimal nChargeAmount)
          Sets the nChargeAmount property of the command.
protected  void setChargeAmountCurrency(java.lang.String sCurrency)
          Sets the chargeAmountCurrency property of the command.
protected  void setCurrencyExponent(java.lang.String astrCurrencyExponent)
          Sets the currencyExponent.
 void setErrorViewName(java.lang.String sEVN)
          Optional error view name passed in by the Caller.
protected  void setNumericCurrencyCode(java.lang.String astrCurrencyCode)
          Sets the numeric currency code.
 void setOrder(OrderAccessBean ab)
          Sets the order property of the command.
protected  void setPMRefundAmount(java.math.BigInteger biPMRefundAmount)
          Sets the refundAmount normalized for input to the Payment Manager.
 void setRefundAmount(java.math.BigDecimal refundAmount)
          Sets the refundAmount property of the command.
 void setRMA(RMAAccessBean ab)
          Sets the RMA AccessBean representing the Return Merchandise Authorization record.
protected  void setupNumericCurrencyCodeAndPMRefundAmount()
          This method retrieves the numeric currency code from the SETCURR Table and converts the refund amount into a normalized form required for input to the Payment Manager.
protected  void updateOrderPaymentMethod()
          This method is called by performExecute to update ORDPAYMTHD table with refund info
 
Methods inherited from class com.ibm.commerce.command.BusinessPolicyCommandImpl
getPolicyId, getRequestProperties, setPolicyId, setRequestProperties
 
Methods inherited from class com.ibm.commerce.command.AbstractECCommand
accessControlCheck, checkIsAllowed, checkResourcePermission, execute, finalize, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties, validateParameters
 
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.BusinessPolicyCommand
getPolicyId, getRequestProperties, setPolicyId, setRequestProperties
 
Methods inherited from interface com.ibm.commerce.command.ECCommand
checkIsAllowed, checkResourcePermission, execute, getAccCheck, getCommandContext, getCommandIfName, getCommandName, getDefaultProperties, getResources, getStoreId, getUser, getUserId, setAccCheck, setCommandContext, setCommandIfName, setDefaultProperties, validateParameters
 

Constructor Detail

DoRefundPMCmdImpl

public DoRefundPMCmdImpl()
Method Detail

checkCurrencyAndGetChargeAmount

protected void checkCurrencyAndGetChargeAmount()
                                        throws javax.ejb.CreateException,
                                               javax.ejb.FinderException,
                                               javax.naming.NamingException,
                                               java.rmi.RemoteException,
                                               ECException
Checks the currency of the Order and the Store default currency. Converts the refund amount to the Store default currency and stores in ChargeAmount if the two currencies are different. Otherwise, stores the refund amount as-is in the ChargeAmount.

getAccount

protected AccountAccessBean getAccount()
This method will first check if the local variable is set or not. If not set, the method will attempt to create a new AccessBean that represents the Account object.

getAccountId

protected java.lang.Long getAccountId()
Returns the Account ID.

getChargeAmount

protected java.math.BigDecimal getChargeAmount()
Returns the Charge Amount.

getChargeAmountCurrency

protected java.lang.String getChargeAmountCurrency()
Returns the currency of the Charge Amount.
Returns:
The currency of the Charge Amount.
See Also:
getChargeAmount

getErrorViewName

protected java.lang.String getErrorViewName()
Retrieve the error view name passed in by the Caller.

getOrder

protected OrderAccessBean getOrder()
Returns the OrderAccessBean representing the Order. This is the OrderAccessBean passed in to the command.

getPMRefundAmount

protected java.math.BigInteger getPMRefundAmount()
Returns the refund amount normalized for input to the Payment Manager.

getRefundAmount

protected java.math.BigDecimal getRefundAmount()
Returns the refund amount. This is the refund amount passed in to the command.

getRMA

protected RMAAccessBean getRMA()
Returns the RMA AccessBean.

isReadyToCallExecute

public boolean isReadyToCallExecute()
This method is called by the Command Framework to check if all basic mandatory parameters have been set for this command. This is done before the Framework calls the performExecute method of the command.
Overrides:
isReadyToCallExecute in class AbstractECCommand
Following copied from class: com.ibm.commerce.command.AbstractECCommand
Returns:
boolean - true if we can execute the command false if we canot execute the command

performExecute

public void performExecute()
                    throws ECException
Performs the main business logic of the command.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECCommand
Following copied from interface: com.ibm.commerce.command.ECCommand
Throws:
com.ibm.commerce.command.CommandException - The superclass for all ECExceptions.

reset

public void reset()
Resets the instance variables of the command. The reset() method will reset all instance variables. If the command includes any output values that are accessible via getters, then make sure those values are no longer needed before calling this method to reset the instance variables of the command.

This is useful if the command instance is to be called multiple times with different command parameters.

Overrides:
reset in class AbstractECCommand

retrieveActiveAccountIdFromOrder

protected void retrieveActiveAccountIdFromOrder()
                                         throws javax.ejb.CreateException,
                                                javax.ejb.FinderException,
                                                javax.naming.NamingException,
                                                java.rmi.RemoteException,
                                                ECException
This method is called by performExecute to retrieve the Account ID from the Trading Agreement associated with the RMA.

setAccountId

protected void setAccountId(java.lang.Long nAccountId)
Sets the accountId property of the command.
Parameters:
nAccountId - the Account ID..

setChargeAmount

protected void setChargeAmount(java.math.BigDecimal nChargeAmount)
Sets the nChargeAmount property of the command. The chargeAmount is the refund Amount in the default currency of the Store.
Parameters:
nChargeAmount - the Charge Amount.

setChargeAmountCurrency

protected void setChargeAmountCurrency(java.lang.String sCurrency)
Sets the chargeAmountCurrency property of the command.
Parameters:
sCurrency - the Charge Amount Currency.

setCurrencyExponent

protected void setCurrencyExponent(java.lang.String astrCurrencyExponent)
Sets the currencyExponent.

setErrorViewName

public void setErrorViewName(java.lang.String sEVN)
Optional error view name passed in by the Caller.
Specified by:
setErrorViewName in interface DoRefundPolicyCmd

setNumericCurrencyCode

protected void setNumericCurrencyCode(java.lang.String astrCurrencyCode)
Sets the numeric currency code.

setOrder

public void setOrder(OrderAccessBean ab)
Sets the order property of the command.
Specified by:
setOrder in interface DoRefundPolicyCmd
Parameters:
abOrder - the OrderAccessBean representing the Order associated with the Return Merchandise Authorization.

setPMRefundAmount

protected void setPMRefundAmount(java.math.BigInteger biPMRefundAmount)
Sets the refundAmount normalized for input to the Payment Manager.
Parameters:
biRefundAmount - the amount to be refunded.

setRefundAmount

public void setRefundAmount(java.math.BigDecimal refundAmount)
Sets the refundAmount property of the command.
Specified by:
setRefundAmount in interface DoRefundPolicyCmd
Parameters:
refundAmount - the amount to be refunded.

setRMA

public void setRMA(RMAAccessBean ab)
Sets the RMA AccessBean representing the Return Merchandise Authorization record.
Specified by:
setRMA in interface DoRefundPolicyCmd

setupNumericCurrencyCodeAndPMRefundAmount

protected void setupNumericCurrencyCodeAndPMRefundAmount()
                                                  throws javax.ejb.CreateException,
                                                         javax.ejb.FinderException,
                                                         javax.naming.NamingException,
                                                         java.rmi.RemoteException,
                                                         ECException
This method retrieves the numeric currency code from the SETCURR Table and converts the refund amount into a normalized form required for input to the Payment Manager. The normalized form of the amount is the amount converted to the lowest denomination of the currency.

updateOrderPaymentMethod

protected void updateOrderPaymentMethod()
                                 throws javax.ejb.CreateException,
                                        javax.ejb.FinderException,
                                        javax.naming.NamingException,
                                        java.rmi.RemoteException
This method is called by performExecute to update ORDPAYMTHD table with refund info