com.ibm.commerce.payment.commands
Class DoDepositPMCmdImpl

java.lang.Object
  |
  +--CacheableCommandImpl
        |
        +--com.ibm.commerce.command.AbstractECTargetableCommand
              |
              +--com.ibm.commerce.command.TaskCommandImpl
                    |
                    +--com.ibm.commerce.command.BusinessPolicyCommandImpl
                          |
                          +--com.ibm.commerce.payment.commands.DoDepositPMCmdImpl
All Implemented Interfaces:
BusinessPolicyCommand, DoDepositPolicyCmd, ECCommand, ECTargetableCommand, TaskCommand

public class DoDepositPMCmdImpl
extends BusinessPolicyCommandImpl
implements DoDepositPolicyCmd

This DoPaymentPolicyPolicy business policy command implementation class is the default implementation class for depositing payment previously authorized through WebSphere Commerce Payments.

Parameters:

Parameter Name Type Descriptions
order OrderAccessBean The Order Access Bean
depositAmount BigDecimal The amount of the deposit
errorViewName String Optional error view name passed in by the Caller.

Behavior:

Default Error View Name:

ErrorCodes:

This command uses the following AccessBeans:

This command does not call other TaskCommand.

See Also:
Serialized Form

Field Summary
static java.lang.String PAYMENT_NUMBER
           
 
Fields inherited from class com.ibm.commerce.command. BusinessPolicyCommandImpl
policyId, requestProperties
 
Fields inherited from class com.ibm.commerce.command. AbstractECTargetableCommand
commandContext
 
Fields inherited from interface com.ibm.commerce.payment.commands. DoDepositPolicyCmd
COPYRIGHT, defaultCommandClassName, ERRTASK_NAME, NAME
 
Fields inherited from interface com.ibm.commerce.command. ECTargetableCommand
COPYRIGHT
 
Fields inherited from interface com.ibm.commerce.command. ECCommand
defaultCommandClassName
 
Constructor Summary
DoDepositPMCmdImpl()
           
 
Method Summary
protected  void convertAmountToStoreDefaultCurrency(java.lang.Long nOrderId)
          Converts the Deposit Amount in the currency of the order to the default currency of the Store.
protected  java.lang.String getBuyerLanguageId()
          Get the Language ID of the Buyer.
protected  java.math.BigDecimal getChargeAmount()
          Returns the Charge Amount.
protected  java.lang.String getCurrencyExponent()
          Returns the currency exponent.
protected  java.lang.Double getCurrencyFactor()
          Deprecated.  
 java.math.BigDecimal getDepositAmount()
          Gets the depositAmount property of the command.
protected  java.lang.String getErrorViewName()
          Returns the name of the error view to use for reporting error.
protected  OrderAccessBean getOrder()
          Returns the OrderAccessBean representing the order whose payment is to be deposited.
protected  java.lang.String getStoreDefaultCurrency()
          Returns the default currency of the Store.
 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.
 java.util.Hashtable query(java.lang.String queryString)
          The Cashier calls this method to construct a Hashtable of keywords and values resulted from processing the input query string against the Commerce Database.
 void reset()
          Resets the instance variables of the command.
protected  void setChargeAmount(java.math.BigDecimal n)
          Sets the Charge Amount.
protected  void setCurrencyExponent(java.lang.String astrCurrencyExponent)
          Sets Currency Exponent.
protected  void setCurrencyFactor(java.lang.Double d)
          Deprecated.  
 void setDepositAmount(java.math.BigDecimal depositAmount)
          Sets the depositAmount property of the command.
 void setErrorViewName(java.lang.String sEVN)
          Sets the error view to be used to report error.
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 setPMDepositAmount(java.math.BigInteger depositAmount)
          Sets the deposit amount normalized for input to WebSphere Commerce Payments.
protected  void setStoreDefaultCurrency(java.lang.String s)
          Sets the Store Default Currency
protected  void setupNumericCurrencyCodeAndPMDepositAmount()
          This method retrieves the numeric currency code from the SETCURR Table and converts the deposit amount to a normalized form required for input to WebSphere Commerce Payments.
protected  void updateOrderPaymentMethod()
          Updates ORDPAYMTHD table with deposit info for the order.
 
Methods inherited from class com.ibm.commerce.command. BusinessPolicyCommandImpl
getPolicyId, getRequestProperties, setPolicyId, setRequestProperties
 
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, setAccCheck, setCommandContext, setCommandIfName, setCommandStoreId, 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
 

Field Detail

PAYMENT_NUMBER

public static final java.lang.String PAYMENT_NUMBER
See Also:
Constant Field Values
Constructor Detail

DoDepositPMCmdImpl

public DoDepositPMCmdImpl()
Method Detail

convertAmountToStoreDefaultCurrency

protected void convertAmountToStoreDefaultCurrency(java.lang.Long nOrderId)
                                            throws javax.ejb.CreateException,
                                                   javax.ejb.FinderException,
                                                   javax.naming.NamingException,
                                                   java.rmi.RemoteException,
ECException
Converts the Deposit Amount in the currency of the order to the default currency of the Store.
Parameters:
nOrderId - the ID of the Order whose payment is to be deposited
Throws:
javax.ejb.CreateException
javax.ejb.FinderException
javax.naming.NamingException
java.rmi.RemoteException
ECException

getBuyerLanguageId

protected java.lang.String getBuyerLanguageId()
                                       throws javax.ejb.CreateException,
                                              javax.ejb.FinderException,
                                              javax.naming.NamingException,
                                              java.rmi.RemoteException
Get the Language ID of the Buyer.

This method may return null if the memberId is not a UserId or an empty String if the user has no preferred language.

Returns:
the language ID of the Buyer
javax.ejb.CreateException
javax.ejb.FinderException
javax.naming.NamingException
java.rmi.RemoteException

getChargeAmount

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

The Charge Amount is the Deposit Amount converted to the default currency of the Store. If the default currency of the Store is the same as the currency of the order, then the Charge Amount is the same as the Deposit Amount.

Returns:
the Charge Amount

getCurrencyExponent

protected java.lang.String getCurrencyExponent()
Returns the currency exponent.
Returns:
the currency exponent for the currency of the order

getCurrencyFactor

protected java.lang.Double getCurrencyFactor()
Deprecated.  
Returns the currency factor.

Currency factor is the multiplication factor that could be used to convert a currency amount to its lowest denomination. For example, the currency factor for US Dollar is 100. To convert US $5.00 to cents, multiply the currency amount by the currency factor of 100. You get 500 cents.

Returns:
the currency factor for the currency of the order

getDepositAmount

public java.math.BigDecimal getDepositAmount()
Gets the depositAmount property of the command.
Returns:
the amount to be deposited.

getErrorViewName

protected java.lang.String getErrorViewName()
Returns the name of the error view to use for reporting error.
Returns:
the error view name

getOrder

protected OrderAccessBean getOrder()
Returns the OrderAccessBean representing the order whose payment is to be deposited.
Returns:
the OrderAccessBean

getStoreDefaultCurrency

protected java.lang.String getStoreDefaultCurrency()
Returns the default currency of the Store.
Returns:
the alpha currency code

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 AbstractECTargetableCommand
Returns:
true if we can execute the command; false otherwise.

performExecute

public void performExecute()
                    throws ECException
Performs the main business logic of the command.
Specified by:
performExecute in interface ECCommand
Overrides:
performExecute in class AbstractECTargetableCommand
Throws:
ECException

query

public java.util.Hashtable query(java.lang.String queryString)
                          throws CashierException
The Cashier calls this method to construct a Hashtable of keywords and values resulted from processing the input query string against the Commerce Database.

This method is defined by the com.ibm.etill.cashier.Queryable interface.

Parameters:
queryString - an SQL Select statement from a Cashier profile
Throws:
CashierException - if there is an error creating and populating the result Hashtable.

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 AbstractECTargetableCommand

setChargeAmount

protected void setChargeAmount(java.math.BigDecimal n)
Sets the Charge Amount.

The Charge Amount is the Deposit Amount converted to the default currency of the Store. If the default currency of the Store is the same as the currency of the order, then the Charge Amount is the same as the Deposit Amount.

Parameters:
n - the amount to be deposited converted to the default currency of the Store

setCurrencyExponent

protected void setCurrencyExponent(java.lang.String astrCurrencyExponent)
Sets Currency Exponent.
Parameters:
astrCurrencyExponent - the currency exponent of the currency used for the order

setCurrencyFactor

protected void setCurrencyFactor(java.lang.Double d)
Deprecated.  
Sets Currency Factor

Currency factor is the multiplication factor that could be used to convert a currency amount to its lowest denomination. For example, the currency factor for US Dollar is 100. To convert US $5.00 to cents, multiply the currency amount by the currency factor of 100. You get 500 cents.

Parameters:
d - the currency factor for the currency used for the order

setDepositAmount

public void setDepositAmount(java.math.BigDecimal depositAmount)
Sets the depositAmount property of the command.
Specified by:
setDepositAmount in interface DoDepositPolicyCmd
Parameters:
depositAmount - the amount to be deposited.

setErrorViewName

public void setErrorViewName(java.lang.String sEVN)
Sets the error view to be used to report error. This overrides the default error view of the command.
Specified by:
setErrorViewName in interface DoDepositPolicyCmd
Parameters:
sEVN - the Error View name
See Also:
DoDepositPolicyCmd.ERRTASK_NAME

setNumericCurrencyCode

protected void setNumericCurrencyCode(java.lang.String astrCurrencyCode)
Sets the numeric currency code
Parameters:
astrCurrencyCode - the currency code of the currency used for the order

setOrder

public void setOrder(OrderAccessBean ab)
Sets the order property of the command.
Specified by:
setOrder in interface DoDepositPolicyCmd
Parameters:
ab - the OrderAccessBean of the Order whose payment is to be deposited

setPMDepositAmount

protected void setPMDepositAmount(java.math.BigInteger depositAmount)
Sets the deposit amount normalized for input to WebSphere Commerce Payments.

The normalized amount is the amount converted to the smallest denomination for the currency. For example, if the total amount is US $10.95, PMDepositAmount is 1095 in cents, which is the lowest denomination for this currency. If there is no smaller denomination other than the main currency unit for the currency, the normalized amount is the same as the depositAmount.

Parameters:
depositAmount - the deposit amount normalized for WebSphere Commerce Payments

setStoreDefaultCurrency

protected void setStoreDefaultCurrency(java.lang.String s)
Sets the Store Default Currency
Parameters:
s - the alpha currency code representing the default currency of the Store

setupNumericCurrencyCodeAndPMDepositAmount

protected void setupNumericCurrencyCodeAndPMDepositAmount()
                                                   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 deposit amount to a normalized form required for input to WebSphere Commerce Payments. The normalized form of the amount is the amount converted to the lowest denomination of the currency.

For example, if the amount is US $10.95, the normalized amount is 1095 in cents, which is the lowest denomination for this currency.

Throws:
javax.ejb.CreateException
javax.ejb.FinderException
javax.naming.NamingException
java.rmi.RemoteException
ECException

updateOrderPaymentMethod

protected void updateOrderPaymentMethod()
                                 throws javax.ejb.CreateException,
                                        javax.ejb.FinderException,
                                        javax.naming.NamingException,
                                        java.rmi.RemoteException
Updates ORDPAYMTHD table with deposit info for the order.
Throws:
javax.ejb.CreateException
javax.ejb.FinderException
javax.naming.NamingException
java.rmi.RemoteException