atg.b2bcommerce.order.purchase
Class CostCenterDroplet

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.b2bcommerce.order.purchase.CostCenterDroplet
All Implemented Interfaces:
atg.b2bcommerce.order.CostCenterConstants, NameContextBindingListener, NameContextElement, NameResolver, AdminableService, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, ParameterServlet, java.util.EventListener, javax.servlet.Servlet

public class CostCenterDroplet
extends DynamoServlet
implements atg.b2bcommerce.order.CostCenterConstants

The CostCenterDroplet is a DynamoServlet that is used to initialize CostCenters and CommerceIdentifierCostCenter objects for use by the CostCenterFormHandler. the CostCenterDroplet is composed of the following containers:

CostCenterMapContainer - container for the user's named CostCenters

CommerceIdentifierCostCenterContainer - container for the user's CommerceIdentifierCostCenter objects for a particular Order's CommerceIdentifiers

The service method ensures the following:

CostCenter initialization - the user's CostCenters are created and added to the CostCenterMapContainer. Once this is done the user can begin to select from these during the checkout process.

CommerceIdentifierCostCenter initialization - the Order CommerceIdentifiers of interest are used to instantiate CommerceIdentifierCostCenter objects, and these are added to the CommerceIdentifierCostCenterContainer.

A complete description of the parameters to the CostCenterDroplet are:

order
This parameter may be used to override the component's default setting for the user's order. For convenience the user's Order is also exposed as an output parameter.
clearCostCenterContainer
When set to true this parameter will clear the user's CommerceIdentifierCostCenterContainer. This should be done at least once per new order.
clearCostCenterMap
When set to true this parameter will clear the user's CostCenterMapContainer.
clear
When set to true this parameter will clear both the CommerceIdentifierCostCenterContainer and the CostCenterMapContainer.
initCostCenters
When this parameter is set to true, the user's CostCenters will be initialized and added to the CostCenterMapContainer.
loadCostCenters
When set to true this parameter will create a CommerceIdentifierCostCenter for each CostCenter relationship in the Order. These are then added to the CommerceIdentifierCostCenterContainer.
initItemCostCenters
When set to true this parameter will create a CommerceIdentifierCostCenter for each CommerceItem in the Order. These are then added to the CommerceIdentifierCostCenterContainer.
initShippingCostCenters
When set to true this parameter will create a CommerceIdentifierCostCenter for each ShippingGroup in the Order. These are then added to the CommerceIdentifierCostCenterContainer.
initTaxCostCenters
When set to true this parameter will create a CommerceIdentifierCostCenter for the tax and add it to the CommerceIdentifierCostCenterContainer.
initOrderCostCenters
When set to true this parameter will create a CommerceIdentifierCostCenter for the Order and add it to the CommerceIdentifierCostCenterContainer.
costCenters
This output parameter is set to the Map referenced by the CostCenterMapContainer.
ciccMap
This output parameter is set to the Map refereneced by the CommerceIdentifierCostCenterMap.
useAmount
When set to true this parameter will create CostCenterCommerceItem relationships of type CCAMOUNT. Otherwise the relationships are of type CCQUANTITY.


Field Summary
static java.lang.String CLASS_VERSION
           
protected  java.lang.String mInitializeCostCenterIdentifier
           
protected static java.util.ResourceBundle sResourceBundle
          Resource Bundle
 
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.b2bcommerce.order.CostCenterConstants
CICC_MAP, CLEAR_ALL, CLEAR_COST_CENTER_CONTAINER, CLEAR_COST_CENTER_MAP, COST_CENTERS, INIT_CC, INIT_ITEM_COSTCENTERS, INIT_ORDER_COSTCENTERS, INIT_SHIPPING_COSTCENTERS, INIT_TAX_COSTCENTERS, LOAD_COSTCENTERS, MSG_INVALID_SPLIT_QUANTITY, ONE_COST_CENTER, ORDER, OUTPUT, USE_AMOUNT
 
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
CostCenterDroplet()
          Creates a new CostCenterDroplet instance.
 
Method Summary
protected  void consolidateCommerceIdentifierCostCenters(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          consolidateCommerceIdentifierCostCenters consolidates CommerceIdentifierCostCenters by ensuring there is no redundant data.
 CommerceIdentifierCostCenterContainer getCommerceIdentifierCostCenterContainer()
          Return the CommerceIdentifierCostCenterContainer property.
 CostCenterManager getCostCenterManager()
          Return the CostCenterManager property.
 CostCenterMapContainer getCostCenterMapContainer()
          Return the CostCenterMapContainer property.
 java.lang.String getCostCentersPropertyName()
          Return the CostCentersPropertyName property.
 CostCenter getDefaultCostCenter()
          The getDefaultCostCenterName method returns the default CostCenter based on the CostCenterMapContainer's default CostCenter name.
 java.lang.String getDefaultCostCenterPropertyName()
          Return the DefaultCostCenterPropertyName property.
 java.lang.String getInitializeCostCenterIdentifier()
          Returns the cost center identifier that was created by initializeCostCenters and assigned as the cost center name to all the CommerceIdentifierCostCenter objects when they were first initialized.
 Order getOrder()
          Overriding getOrder to use the getOrderFromId property Return the Order property.
 java.lang.String getOrderId()
          Return the OrderId property.
 SimpleOrderManager getOrderManager()
          Return the OrderManager property.
 RepositoryItem getProfile()
          Return the Profile property.
 atg.b2bcommerce.profile.B2BCommercePropertyManager getPropertyManager()
          Return the PropertyManager property.
 int getRelationshipCount()
          Return the RelationshipCount property.
 java.lang.String getSingleCostCenter()
          Return the SingleCostCenter property.
protected  void initializeCommerceIdentifierCostCenters(DynamoHttpServletRequest pRequest, Order pOrder)
          initializeCommerceIdentifierCostCenters creates CommerceIdentifierCostCenter objects for the Order, the Order's CommerceItems, and the Order's ShippingGroups.
protected  void initializeCostCenters(RepositoryItem pProfile)
          initializeCostCenters uses the CostCenterManager to create the user's CostCenters based on the Profile properties given by getCostCentersPropertyName and getDefaultCostCenterPropertyName.
protected  void initializeItemCostCenters(Order pOrder)
          The initializeItemCostCenters method creates a CommerceIdentifierCostCenter for each CommerceItem in the Order, and adds them to the CommerceIdentifierCostCenterContainer.
protected  void initializeOrderCostCenters(Order pOrder)
          The initializeItemCostCenters method creates a CommerceIdentifierCostCenter for the Order, and adds it to the CommerceIdentifierCostCenterContainer.
protected  void initializeRequestParameters(DynamoHttpServletRequest pRequest)
          The initializeRequestParameters method gathers the necessary input parameters and uses them to adjust initialization requirements.
protected  void initializeShippingCostCenters(Order pOrder)
          The initializeItemCostCenters method creates a CommerceIdentifierCostCenter for each ShippingGroup in the Order, and adds them to the CommerceIdentifierCostCenterContainer.
protected  void initializeTaxCostCenters(Order pOrder)
          The initializeItemCostCenters method creates a CommerceIdentifierCostCenter for the tax, and adds it to the CommerceIdentifierCostCenterContainer.
protected  void initializeUserCostCenters(DynamoHttpServletRequest pRequest, RepositoryItem pProfile)
          initializeUserCostCenters is used to add the user's CostCenters to the CostCenterMapContainer.
 boolean isClearAll()
          Return the ClearAll property.
 boolean isClearCostCenterContainer()
          Return the ClearCostCenterContainer property.
 boolean isClearCostCenterMap()
          Return the ClearCostCenterMap property.
 boolean isContainsCCOrderRel()
          Return the ContainsCCOrderRel property.
 boolean isGetOrderFromId()
          Return the GetOrderFromId property.
 boolean isInitCostCenters()
          Return the InitCostCenters property.
 boolean isInitItemCostCenters()
          Return the InitItemCostCenters property.
 boolean isInitOrderCostCenters()
          Return the InitOrderCostCenters property.
 boolean isInitShippingCostCenters()
          Return the InitShippingCostCenters property.
 boolean isInitTaxCostCenters()
          Return the InitTaxCostCenters property.
 boolean isLoadCostCenters()
          Return the LoadCostCenters property.
 boolean isUseAmount()
          Return the useAmount property.
protected  void loadItemCostCenters(Order pOrder)
          The loadItemCostCenters method creates a CommerceIdentifierCostCenter for each CostCenterCommerceItemRelationship in the Order, and adds them to the CommerceIdentifierCostCenterContainer.
protected  void loadOrderCostCenters(Order pOrder)
          The loadShippingCostCenters method creates a CommerceIdentifierCostCenter for each CostCenterOrderRelationship in the Order, and adds them to the CommerceIdentifierCostCenterContainer.
protected  void loadShippingCostCenters(Order pOrder)
          The loadShippingCostCenters method creates a CommerceIdentifierCostCenter for each CostCenterShippingGroup in the Order, and adds them to the CommerceIdentifierCostCenterContainer.
protected  CommerceIdentifierCostCenter mergeCommerceIdentifierCostCenters(CommerceIdentifierCostCenter cicc1, CommerceIdentifierCostCenter cicc2)
          mergeCommerceIdentifierCostCenters merges 2 CommerceIdentifierCostCenters into one by combining their amounts and quantities.
 void service(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          The service method is used to initialize CostCenters and CommerceIdentifierCostCenter objects.
 void setClearAll(boolean pClearAll)
          Set the ClearAll property.
 void setClearCostCenterContainer(boolean pClearCostCenterContainer)
          Set the ClearCostCenterContainer property.
 void setClearCostCenterMap(boolean pClearCostCenterMap)
          Set the ClearCostCenterMap property.
 void setCommerceIdentifierCostCenterContainer(CommerceIdentifierCostCenterContainer pCommerceIdentifierCostCenterContainer)
          Set the CommerceIdentifierCostCenterContainer property.
 void setContainsCCOrderRel(boolean pContainsCCOrderRel)
          Set the ContainsCCOrderRel property.
 void setCostCenterManager(CostCenterManager pCostCenterManager)
          Set the CostCenterManager property.
 void setCostCenterMapContainer(CostCenterMapContainer pCostCenterMapContainer)
          Set the CostCenterMapContainer property.
 void setCostCentersPropertyName(java.lang.String pCostCentersPropertyName)
          Set the CostCentersPropertyName property.
 void setDefaultCostCenterPropertyName(java.lang.String pDefaultCostCenterPropertyName)
          Set the DefaultCostCenterPropertyName property.
 void setGetOrderFromId(boolean pGetOrderFromId)
          Set the GetOrderFromId property.
 void setInitCostCenters(boolean pInitCostCenters)
          Set the InitCostCenters property.
 void setInitItemCostCenters(boolean pInitItemCostCenters)
          Set the InitItemCostCenters property.
 void setInitOrderCostCenters(boolean pInitOrderCostCenters)
          Set the InitOrderCostCenters property.
 void setInitShippingCostCenters(boolean pInitShippingCostCenters)
          Set the InitShippingCostCenters property.
 void setInitTaxCostCenters(boolean pInitTaxCostCenters)
          Set the InitTaxCostCenters property.
 void setLoadCostCenters(boolean pLoadCostCenters)
          Set the LoadCostCenters property.
 void setOrder(Order pOrder)
          Set the Order property.
 void setOrderId(java.lang.String pOrderId)
          Set the OrderId property.
 void setOrderManager(SimpleOrderManager pOrderManager)
          Set the OrderManager property.
 void setProfile(RepositoryItem pProfile)
          Set the Profile property.
 void setPropertyManager(atg.b2bcommerce.profile.B2BCommercePropertyManager pPropertyManager)
          Set the PropertyManager property.
 void setRelationshipCount(int pRelationshipCount)
          Set the RelationshipCount property.
 void setSingleCostCenter(java.lang.String pSingleCostCenter)
          Set the SingleCostCenter property.
 void setUseAmount(boolean pUseAmount)
          Set the useAmount property.
 
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, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, 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, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, 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

sResourceBundle

protected static java.util.ResourceBundle sResourceBundle
Resource Bundle


mInitializeCostCenterIdentifier

protected java.lang.String mInitializeCostCenterIdentifier
Constructor Detail

CostCenterDroplet

public CostCenterDroplet()
Creates a new CostCenterDroplet instance.

Method Detail

setGetOrderFromId

public void setGetOrderFromId(boolean pGetOrderFromId)
Set the GetOrderFromId property.

Parameters:
pGetOrderFromId - a boolean value

isGetOrderFromId

public boolean isGetOrderFromId()
Return the GetOrderFromId property.

Returns:
a boolean value

setOrderId

public void setOrderId(java.lang.String pOrderId)
Set the OrderId property.

Parameters:
pOrderId - a String value

getOrderId

public java.lang.String getOrderId()
Return the OrderId property.

Returns:
a String value

setOrderManager

public void setOrderManager(SimpleOrderManager pOrderManager)
Set the OrderManager property.

Parameters:
pOrderManager - a SimpleOrderManager value

getOrderManager

public SimpleOrderManager getOrderManager()
Return the OrderManager property.

Returns:
a SimpleOrderManager value

setOrder

public void setOrder(Order pOrder)
Set the Order property.

Parameters:
pOrder - an Order value

getOrder

public Order getOrder()
Overriding getOrder to use the getOrderFromId property Return the Order property.

Returns:
an Order value

setProfile

public void setProfile(RepositoryItem pProfile)
Set the Profile property.

Parameters:
pProfile - a Profile value

getProfile

public RepositoryItem getProfile()
Return the Profile property.

Returns:
a Profile value

setClearCostCenterContainer

public void setClearCostCenterContainer(boolean pClearCostCenterContainer)
Set the ClearCostCenterContainer property.

Parameters:
pClearCostCenterContainer - a boolean value

isClearCostCenterContainer

public boolean isClearCostCenterContainer()
Return the ClearCostCenterContainer property.

Returns:
a boolean value

setClearCostCenterMap

public void setClearCostCenterMap(boolean pClearCostCenterMap)
Set the ClearCostCenterMap property.

Parameters:
pClearCostCenterMap - a boolean value

isClearCostCenterMap

public boolean isClearCostCenterMap()
Return the ClearCostCenterMap property.

Returns:
a boolean value

setClearAll

public void setClearAll(boolean pClearAll)
Set the ClearAll property.

Parameters:
pClearAll - a boolean value

isClearAll

public boolean isClearAll()
Return the ClearAll property.

Returns:
a boolean value

setInitCostCenters

public void setInitCostCenters(boolean pInitCostCenters)
Set the InitCostCenters property.

Parameters:
pInitCostCenters - a boolean value

isInitCostCenters

public boolean isInitCostCenters()
Return the InitCostCenters property.

Returns:
a boolean value

setInitItemCostCenters

public void setInitItemCostCenters(boolean pInitItemCostCenters)
Set the InitItemCostCenters property.

Parameters:
pInitItemCostCenters - a boolean value

isInitItemCostCenters

public boolean isInitItemCostCenters()
Return the InitItemCostCenters property.

Returns:
a boolean value

setLoadCostCenters

public void setLoadCostCenters(boolean pLoadCostCenters)
Set the LoadCostCenters property.

Parameters:
pLoadCostCenters - a boolean value

isLoadCostCenters

public boolean isLoadCostCenters()
Return the LoadCostCenters property.

Returns:
a boolean value

setSingleCostCenter

public void setSingleCostCenter(java.lang.String pSingleCostCenter)
Set the SingleCostCenter property.

Parameters:
pSingleCostCenter - a CostCenter value

getSingleCostCenter

public java.lang.String getSingleCostCenter()
Return the SingleCostCenter property.

Returns:
a CostCenter value

setUseAmount

public void setUseAmount(boolean pUseAmount)
Set the useAmount property. If "true", then by default CostCenterCommerceItem relationships are created of type CCAMOUNT. If false, they are created of type CCQUANTITY.

Parameters:
pUseAmount - a boolean value

isUseAmount

public boolean isUseAmount()
Return the useAmount property.

Returns:
a String value

setInitShippingCostCenters

public void setInitShippingCostCenters(boolean pInitShippingCostCenters)
Set the InitShippingCostCenters property.

Parameters:
pInitShippingCostCenters - a boolean value

isInitShippingCostCenters

public boolean isInitShippingCostCenters()
Return the InitShippingCostCenters property.

Returns:
a boolean value

setInitOrderCostCenters

public void setInitOrderCostCenters(boolean pInitOrderCostCenters)
Set the InitOrderCostCenters property.

Parameters:
pInitOrderCostCenters - a boolean value

isInitOrderCostCenters

public boolean isInitOrderCostCenters()
Return the InitOrderCostCenters property.

Returns:
a boolean value

setInitTaxCostCenters

public void setInitTaxCostCenters(boolean pInitTaxCostCenters)
Set the InitTaxCostCenters property.

Parameters:
pInitTaxCostCenters - a boolean value

isInitTaxCostCenters

public boolean isInitTaxCostCenters()
Return the InitTaxCostCenters property.

Returns:
a boolean value

setCommerceIdentifierCostCenterContainer

public void setCommerceIdentifierCostCenterContainer(CommerceIdentifierCostCenterContainer pCommerceIdentifierCostCenterContainer)
Set the CommerceIdentifierCostCenterContainer property.

Parameters:
pCommerceIdentifierCostCenterContainer - a CommerceIdentifierCostCenterContainer value

getCommerceIdentifierCostCenterContainer

public CommerceIdentifierCostCenterContainer getCommerceIdentifierCostCenterContainer()
Return the CommerceIdentifierCostCenterContainer property.

Returns:
a CommerceIdentifierCostCenterContainer value

setCostCenterMapContainer

public void setCostCenterMapContainer(CostCenterMapContainer pCostCenterMapContainer)
Set the CostCenterMapContainer property.

Parameters:
pCostCenterMapContainer - a CostCenterMapContainer value

getCostCenterMapContainer

public CostCenterMapContainer getCostCenterMapContainer()
Return the CostCenterMapContainer property.

Returns:
a CostCenterMapContainer value

setCostCenterManager

public void setCostCenterManager(CostCenterManager pCostCenterManager)
Set the CostCenterManager property.

Parameters:
pCostCenterManager - a CostCenterManager value

getCostCenterManager

public CostCenterManager getCostCenterManager()
Return the CostCenterManager property.

Returns:
a CostCenterManager value

setPropertyManager

public void setPropertyManager(atg.b2bcommerce.profile.B2BCommercePropertyManager pPropertyManager)
Set the PropertyManager property.

Parameters:
pPropertyManager - a B2BCommercePropertyManager value

getPropertyManager

public atg.b2bcommerce.profile.B2BCommercePropertyManager getPropertyManager()
Return the PropertyManager property.

Returns:
a B2BCommercePropertyManager value

setCostCentersPropertyName

public void setCostCentersPropertyName(java.lang.String pCostCentersPropertyName)
Set the CostCentersPropertyName property.

Parameters:
pCostCentersPropertyName - a String value

getCostCentersPropertyName

public java.lang.String getCostCentersPropertyName()
Return the CostCentersPropertyName property.

Returns:
a String value

setDefaultCostCenterPropertyName

public void setDefaultCostCenterPropertyName(java.lang.String pDefaultCostCenterPropertyName)
Set the DefaultCostCenterPropertyName property.

Parameters:
pDefaultCostCenterPropertyName - a String value

getDefaultCostCenterPropertyName

public java.lang.String getDefaultCostCenterPropertyName()
Return the DefaultCostCenterPropertyName property.

Returns:
a String value

setContainsCCOrderRel

public void setContainsCCOrderRel(boolean pContainsCCOrderRel)
Set the ContainsCCOrderRel property.

Parameters:
pContainsCCOrderRel - a boolean value

isContainsCCOrderRel

public boolean isContainsCCOrderRel()
Return the ContainsCCOrderRel property.

Returns:
a boolean value

setRelationshipCount

public void setRelationshipCount(int pRelationshipCount)
Set the RelationshipCount property.

Parameters:
pRelationshipCoiunt - a int value

getRelationshipCount

public int getRelationshipCount()
Return the RelationshipCount property.

Returns:
a int value

initializeUserCostCenters

protected void initializeUserCostCenters(DynamoHttpServletRequest pRequest,
                                         RepositoryItem pProfile)
initializeUserCostCenters is used to add the user's CostCenters to the CostCenterMapContainer. This invokes the initializeCostCenters method.

Parameters:
pRequest - a DynamoHttpServletRequest value
pProfile - a Profile value

getInitializeCostCenterIdentifier

public java.lang.String getInitializeCostCenterIdentifier()
Returns the cost center identifier that was created by initializeCostCenters and assigned as the cost center name to all the CommerceIdentifierCostCenter objects when they were first initialized.

Returns:
the cost center identifier that was created by initializeCostCenters and assigned as the cost center name to all the CommerceIdentifierCostCenter objects when they were first initialized.

initializeCostCenters

protected void initializeCostCenters(RepositoryItem pProfile)
initializeCostCenters uses the CostCenterManager to create the user's CostCenters based on the Profile properties given by getCostCentersPropertyName and getDefaultCostCenterPropertyName.

All of these CostCenters are added to the CostCenterMapContainer.

Parameters:
pProfile - a Profile value

initializeCommerceIdentifierCostCenters

protected void initializeCommerceIdentifierCostCenters(DynamoHttpServletRequest pRequest,
                                                       Order pOrder)
initializeCommerceIdentifierCostCenters creates CommerceIdentifierCostCenter objects for the Order, the Order's CommerceItems, and the Order's ShippingGroups.

Parameters:
pRequest - a DynamoHttpServletRequest value
pOrder - an Order value

initializeItemCostCenters

protected void initializeItemCostCenters(Order pOrder)
The initializeItemCostCenters method creates a CommerceIdentifierCostCenter for each CommerceItem in the Order, and adds them to the CommerceIdentifierCostCenterContainer.

Parameters:
pOrder - an Order value

loadItemCostCenters

protected void loadItemCostCenters(Order pOrder)
The loadItemCostCenters method creates a CommerceIdentifierCostCenter for each CostCenterCommerceItemRelationship in the Order, and adds them to the CommerceIdentifierCostCenterContainer.

Parameters:
pOrder - an Order value

initializeShippingCostCenters

protected void initializeShippingCostCenters(Order pOrder)
The initializeItemCostCenters method creates a CommerceIdentifierCostCenter for each ShippingGroup in the Order, and adds them to the CommerceIdentifierCostCenterContainer.

Parameters:
pOrder - an Order value

loadShippingCostCenters

protected void loadShippingCostCenters(Order pOrder)
The loadShippingCostCenters method creates a CommerceIdentifierCostCenter for each CostCenterShippingGroup in the Order, and adds them to the CommerceIdentifierCostCenterContainer.

Parameters:
pOrder - an Order value

initializeOrderCostCenters

protected void initializeOrderCostCenters(Order pOrder)
The initializeItemCostCenters method creates a CommerceIdentifierCostCenter for the Order, and adds it to the CommerceIdentifierCostCenterContainer.

Parameters:
pOrder - an Order value

loadOrderCostCenters

protected void loadOrderCostCenters(Order pOrder)
The loadShippingCostCenters method creates a CommerceIdentifierCostCenter for each CostCenterOrderRelationship in the Order, and adds them to the CommerceIdentifierCostCenterContainer.

Parameters:
pOrder - an Order value

initializeTaxCostCenters

protected void initializeTaxCostCenters(Order pOrder)
The initializeItemCostCenters method creates a CommerceIdentifierCostCenter for the tax, and adds it to the CommerceIdentifierCostCenterContainer.

Parameters:
pOrder - an Order value

initializeRequestParameters

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

Parameters:
pRequest - a DynamoHttpServletRequest value

getDefaultCostCenter

public CostCenter getDefaultCostCenter()
The getDefaultCostCenterName method returns the default CostCenter based on the CostCenterMapContainer's default CostCenter name. Any .jhtml form can manipulate this item directly.

Returns:
a String value

service

public void service(DynamoHttpServletRequest pRequest,
                    DynamoHttpServletResponse pResponse)
             throws javax.servlet.ServletException,
                    java.io.IOException
The service method is used to initialize CostCenters and CommerceIdentifierCostCenter objects. Initialization is based on input parameters describing which CommerceIdentifiers in the Order will be associated with CostCenters. The resulting Collections of CostCenters and CommerceIdentifierCostCenters are exposed via output parameters.

Overrides:
service in class DynamoServlet
Parameters:
pRequest - a DynamoHttpServletRequest value
pResponse - a DynamoHttpServletResponse value
Throws:
javax.servlet.ServletException - if an error occurs
java.io.IOException - if an error occurs

consolidateCommerceIdentifierCostCenters

protected void consolidateCommerceIdentifierCostCenters(DynamoHttpServletRequest pRequest,
                                                        DynamoHttpServletResponse pResponse)
                                                 throws javax.servlet.ServletException,
                                                        java.io.IOException
consolidateCommerceIdentifierCostCenters consolidates CommerceIdentifierCostCenters by ensuring there is no redundant data. CommerceIdentifierCostCenters that have zero amounts and quantities are removed, and those that refer to the same CommerceIdentifier are merged into one CommerceIdentifierCostCenter.

Parameters:
pRequest - a DynamoHttpServletRequest value
pResponse - a DynamoHttpServletResponse value
Throws:
javax.servlet.ServletException - if an error occurs
java.io.IOException - if an error occurs

mergeCommerceIdentifierCostCenters

protected CommerceIdentifierCostCenter mergeCommerceIdentifierCostCenters(CommerceIdentifierCostCenter cicc1,
                                                                          CommerceIdentifierCostCenter cicc2)
mergeCommerceIdentifierCostCenters merges 2 CommerceIdentifierCostCenters into one by combining their amounts and quantities.

Parameters:
cicc1 - a CommerceIdentifierCostCenter value
cicc2 - a CommerceIdentifierCostCenter value
Returns:
a CommerceIdentifierCostCenter value