atg.commerce.csr.order
Class ClaimableLookup

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.nucleus.TimedOperationService
              extended by atg.nucleus.servlet.ServletService
                  extended by atg.nucleus.servlet.HttpServletService
                      extended by atg.servlet.DynamoServlet
                          extended by atg.commerce.csr.order.ClaimableLookup
All Implemented Interfaces:
atg.naming.NameContextBindingListener, atg.naming.NameContextElement, atg.naming.NameResolver, atg.nucleus.AdminableService, atg.nucleus.logging.ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, atg.nucleus.naming.ComponentNameResolver, atg.nucleus.Service, atg.nucleus.ServiceListener, atg.servlet.ParameterServlet, java.util.EventListener, javax.servlet.Servlet

public class ClaimableLookup
extends atg.servlet.DynamoServlet

This droplet takes the payment group and returns the payment item such as claimable item in case of store credit and gift certificate, and payment group's maximum remaining amount. This droplet is used in the billing, order view and order review pages to display the remaining out. Also this droplet is used to enforce a maximum amount limitation in the billing page. This droplet could be customized to return the maximum amount for each payment group type. This droplet is not renamed to remain backward compatible. Currently this droplet is not used for any other purpose.


Field Summary
static atg.nucleus.naming.ParameterName CLAIMABLE_ID
           
static java.lang.String CLAIMABLE_ITEM
           
static java.lang.String CLASS_VERSION
           
static atg.nucleus.naming.ParameterName ERROR
           
static java.lang.String ERROR_MSG
           
protected static java.lang.String GIFT_CERTIFICATE_TYPE
           
static java.lang.String IS_SUPPORTED
           
static java.lang.String MSG_ERROR_WHILE_FETCHING_CLAIMABLE_ITEM
           
static java.lang.String MSG_NO_CLAIMABLE_ID
           
static java.lang.String MSG_NO_CLAIMABLE_ITEM
           
static java.lang.String MSG_NULL_PAYMENT_GROUP
           
static atg.nucleus.naming.ParameterName ORDER
           
static atg.nucleus.naming.ParameterName OUTPUT
           
static atg.nucleus.naming.ParameterName PAYMENT_GROUP
           
static java.lang.String REMAINING_AMOUNT
           
protected static java.lang.String STORE_CREDIT_TYPE
           
 
Fields inherited from class atg.servlet.DynamoServlet
mAllowCleanupRequest, mParameters
 
Fields inherited from class atg.nucleus.servlet.ServletService
SERVLET_INFO_KEY
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
ClaimableLookup()
           
 
Method Summary
 java.lang.String getClaimableId()
          Deprecated.  
 atg.repository.RepositoryItem getClaimableItem(atg.commerce.order.PaymentGroup pPaymentGroup, atg.commerce.order.Order pOrder)
          This method only returns the claimable repository item for the Store Credit and Gift Certificate.
 java.lang.String getClaimableType(atg.repository.RepositoryItem pClaimableItem)
          Given the claimable item, this gets the claimable type as store credit or gift certificate.
 CSRAgentTools getCSRAgentTools()
          Returns the cSRAgentTools.
 java.lang.Object getInputParameter(atg.servlet.DynamoHttpServletRequest pReq, atg.nucleus.naming.ParameterName pInputParamter)
          Gets the input parameter values.
 atg.commerce.order.Order getOrder()
          Return the Order property.
 atg.commerce.order.PaymentGroup getPaymentGroup()
          Deprecated. in favor of paymentOption
 java.lang.Object getPaymentOption()
           
 double getRemainingAmount(java.lang.Object pPaymentOption, atg.commerce.order.Order pOrder)
          This method only returns the remaining amount for the Store Credit and Gift Certificate.
 double getRemainingAmount(atg.repository.RepositoryItem pClaimable, java.lang.String pClaimableType)
          Returns the remaining amount for the claimable.
 void initializeRequestParameters(atg.servlet.DynamoHttpServletRequest pRequest)
          The initializeRequestParameters method gathers the necessary input parameters and uses them to adjust initialization requirements.
 boolean isSupportedPaymentType(java.lang.Object pPaymentOption, atg.commerce.order.Order pOrder)
          This method returns whether the payment group is supported by this droplet.
 void service(atg.servlet.DynamoHttpServletRequest pRequest, atg.servlet.DynamoHttpServletResponse pResponse)
          Determines if the given order component is modifiable.
 void setClaimableId(java.lang.String pClaimableId)
          Deprecated.  
 void setCSRAgentTools(CSRAgentTools pAgentTools)
          Sets the cSRAgentTools.
 void setOrder(atg.commerce.order.Order pOrder)
          Set the Order property.
 void setPaymentGroup(atg.commerce.order.PaymentGroup pPaymentGroup)
          Deprecated. in favor of paymentOption
 void setPaymentOption(java.lang.Object pPaymentOption)
           
 
Methods inherited from class atg.servlet.DynamoServlet
doDelete, doGet, doPost, doPut, getParameter, getParameters, getServletContext, service, service, setParameter
 
Methods inherited from class atg.nucleus.servlet.ServletService
destroy, getServletConfig, getServletInfo, init, setServletInfo
 
Methods inherited from class atg.nucleus.TimedOperationService
getAverageRequestHandlingTime, getHandledRequestCount, getRequestStartTime, getTotalRequestHandlingTime, isKeepingStatistics, notifyHandledRequest, resetStatistics, setKeepingStatistics
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION

CLAIMABLE_ID

public static final atg.nucleus.naming.ParameterName CLAIMABLE_ID

PAYMENT_GROUP

public static final atg.nucleus.naming.ParameterName PAYMENT_GROUP

ORDER

public static final atg.nucleus.naming.ParameterName ORDER

OUTPUT

public static final atg.nucleus.naming.ParameterName OUTPUT

ERROR

public static final atg.nucleus.naming.ParameterName ERROR

CLAIMABLE_ITEM

public static final java.lang.String CLAIMABLE_ITEM
See Also:
Constant Field Values

REMAINING_AMOUNT

public static final java.lang.String REMAINING_AMOUNT
See Also:
Constant Field Values

IS_SUPPORTED

public static final java.lang.String IS_SUPPORTED
See Also:
Constant Field Values

ERROR_MSG

public static final java.lang.String ERROR_MSG
See Also:
Constant Field Values

MSG_NO_CLAIMABLE_ITEM

public static final java.lang.String MSG_NO_CLAIMABLE_ITEM
See Also:
Constant Field Values

MSG_NO_CLAIMABLE_ID

public static final java.lang.String MSG_NO_CLAIMABLE_ID
See Also:
Constant Field Values

MSG_ERROR_WHILE_FETCHING_CLAIMABLE_ITEM

public static final java.lang.String MSG_ERROR_WHILE_FETCHING_CLAIMABLE_ITEM
See Also:
Constant Field Values

MSG_NULL_PAYMENT_GROUP

public static final java.lang.String MSG_NULL_PAYMENT_GROUP
See Also:
Constant Field Values

GIFT_CERTIFICATE_TYPE

protected static final java.lang.String GIFT_CERTIFICATE_TYPE
See Also:
Constant Field Values

STORE_CREDIT_TYPE

protected static final java.lang.String STORE_CREDIT_TYPE
See Also:
Constant Field Values
Constructor Detail

ClaimableLookup

public ClaimableLookup()
Method Detail

getPaymentOption

public java.lang.Object getPaymentOption()
Returns:
the paymentOption

setPaymentOption

public void setPaymentOption(java.lang.Object pPaymentOption)
Parameters:
pPaymentOption - the paymentOption to set

getPaymentGroup

public atg.commerce.order.PaymentGroup getPaymentGroup()
Deprecated. in favor of paymentOption

Returns the paymentGroup.

Returns:
paymentGroup

setPaymentGroup

public void setPaymentGroup(atg.commerce.order.PaymentGroup pPaymentGroup)
Deprecated. in favor of paymentOption

Sets the paymentGroup.

Parameters:
pPaymentGroup -

getCSRAgentTools

public CSRAgentTools getCSRAgentTools()
Returns the cSRAgentTools.

Returns:
cSRAgentTools

setCSRAgentTools

public void setCSRAgentTools(CSRAgentTools pAgentTools)
Sets the cSRAgentTools.

Parameters:
pAgentTools -

getClaimableId

public java.lang.String getClaimableId()
Deprecated. 

Returns the claimableId.

Returns:
claimableId

setClaimableId

public void setClaimableId(java.lang.String pClaimableId)
Deprecated. 

Sets the claimableId.

Parameters:
pClaimableId -

setOrder

public void setOrder(atg.commerce.order.Order pOrder)
Set the Order property.

Parameters:
pOrder - an Order value

getOrder

public atg.commerce.order.Order getOrder()
Return the Order property.

Returns:
an Order value

service

public void service(atg.servlet.DynamoHttpServletRequest pRequest,
                    atg.servlet.DynamoHttpServletResponse pResponse)
             throws javax.servlet.ServletException,
                    java.io.IOException
Determines if the given order component is modifiable. Renders the appropriate open parameters.

Overrides:
service in class atg.servlet.DynamoServlet
Parameters:
pRequest - the HTTP request
pResponse - the HTTP response
Throws:
javax.servlet.ServletException
java.io.IOException

getRemainingAmount

public double getRemainingAmount(atg.repository.RepositoryItem pClaimable,
                                 java.lang.String pClaimableType)
Returns the remaining amount for the claimable. If the current order is in the clone edit mode, then the current payment group parameter's amount should be used to calculate the remaining amount.

Parameters:
pClaimable - the claimable item
pClaimableType - the type of claimable
Returns:
double the maximum amount that can be credited to this credit card

initializeRequestParameters

public void initializeRequestParameters(atg.servlet.DynamoHttpServletRequest pRequest)
The initializeRequestParameters method gathers the necessary input parameters and uses them to adjust initialization requirements.

Parameters:
pRequest - a DynamoHttpServletRequest value

getInputParameter

public java.lang.Object getInputParameter(atg.servlet.DynamoHttpServletRequest pReq,
                                          atg.nucleus.naming.ParameterName pInputParamter)
Gets the input parameter values.

Parameters:
pReq -
pInputParamter -
Returns:
Input parameter value

getClaimableType

public java.lang.String getClaimableType(atg.repository.RepositoryItem pClaimableItem)
Given the claimable item, this gets the claimable type as store credit or gift certificate.

Parameters:
pClaimableItem -
Returns:
String

getRemainingAmount

public double getRemainingAmount(java.lang.Object pPaymentOption,
                                 atg.commerce.order.Order pOrder)
                          throws atg.commerce.CommerceException
This method only returns the remaining amount for the Store Credit and Gift Certificate. If you want to compute remaining amount for any other payment group type, you need to extend this method. For other payment group type, this method returns 0.00.

Parameters:
pPaymentGroup - -- This method only fetches the remaining amount for store credit and gift certificate.
pOrder - -- This is provided as an optional parameter. if there is any future need, you may make use of this parameter.
Returns:
-- returns remaining amount. For unsupported payment group types, this method returns 0.00
Throws:
atg.commerce.CommerceException

getClaimableItem

public atg.repository.RepositoryItem getClaimableItem(atg.commerce.order.PaymentGroup pPaymentGroup,
                                                      atg.commerce.order.Order pOrder)
                                               throws atg.commerce.CommerceException
This method only returns the claimable repository item for the Store Credit and Gift Certificate. For other payment group type, this method returns null. if you want to return claimable item for any other type, you need to extend this method.

Parameters:
pPaymentGroup -
pOrder - -- This is provided as an optional parameter. if there is any future need, you may make use of this parameter.
Returns:
Throws:
atg.commerce.CommerceException

isSupportedPaymentType

public boolean isSupportedPaymentType(java.lang.Object pPaymentOption,
                                      atg.commerce.order.Order pOrder)
                               throws atg.commerce.CommerceException
This method returns whether the payment group is supported by this droplet. This information is used in the billing page. The store credit and gift certificate are the only supported types for this droplet. This could be extended to support more payment types. If the payment group is supported by this droplet, then the remaining amount is added as the maximum allowed amount for the payment group type. If you want the custom payment group to be supported, you need to extend this method.

Parameters:
pPaymentGroup -
pOrder -
Returns:
-- if the payment group type is store credit or gift certificate returns true, otherwise false.
Throws:
atg.commerce.CommerceException