atg.commerce.pricing
Class PriceItemDroplet
java.lang.Object
   atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
       atg.nucleus.GenericService
atg.nucleus.GenericService
           atg.nucleus.TimedOperationService
atg.nucleus.TimedOperationService
               atg.nucleus.servlet.ServletService
atg.nucleus.servlet.ServletService
                   atg.nucleus.servlet.HttpServletService
atg.nucleus.servlet.HttpServletService
                       atg.servlet.DynamoServlet
atg.servlet.DynamoServlet
                           atg.commerce.pricing.ItemPricingDroplet
atg.commerce.pricing.ItemPricingDroplet
                               atg.commerce.pricing.PriceItemDroplet
atg.commerce.pricing.PriceItemDroplet
- All Implemented Interfaces: 
- atg.naming.AbsoluteNameable, NameContextBindingListener, NameContextElement, atg.naming.NameContextParentable, NameResolver, AdminableService, atg.nucleus.Configured, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, ParameterServlet, java.util.EventListener, javax.servlet.Servlet
- public class PriceItemDroplet 
- extends ItemPricingDroplet
This Dynamo Servlet Bean is used to price a single item. The only required parameter is named item.
 This can be either a RepositoryItem, which represents the item to be priced, or a CommerceItem which can be 
 directly priced. If the item supplied is a RepositoryItem then a new CommerceItem is created to be priced.
 
 The following parameters are optional:
 
 - pricingModels
 
- A collection of pricing models that should be used to price the items. 
 If this value if not supplied then by default a collection of pricing models are
 used from the user's PricingModelHolder component. This component is resolved through the
 userPricingModelsPathproperty.
- locale
 
- The locale the the pricing should take place within
 
- profile
 
- The user for whom pricing is performed. If this parameter is null, then the profile
 is resolved through the property profilePath.
- product
 
- The object which represents the product definition of the item to price. Typically
 the items which are priced are skus. In that case this is the product which encompasses all the skus.
 
- elementName
 
- The name to use as the parameter set within the output oparam.
 
- quantity
 
- The Long quantity of the input product which should be priced. Used when constructing a 
     CommerceItem out of the supplied information.
 
 With these parameters the supplied or constructed CommerceItem, the user's current promotions, their profile
 and locale are passed to the PricingTools.priceItem method. This then calls into the ItemPricingEngine. 
 The CommerceItem, which has now been priced, is made available as a parameter in the output oparam. 
 By default the name of this CommerceItem parameter is element, however as described above this can be changed 
 through the elementName input parameter.
 For example:
 NOTE: the promotions, locale and profile are extracted from the request, since they are not supplied as parameters.
 
 <droplet bean="/atg/commerce/pricing/PriceItem">
 <param name="item" value="param:sku">
 <param name="product" value="param:product">
 <param name="quantity" value="param:quantity">
 <param name="elementName" value="pricedItem">
 <oparam name="output">
    <valueof param="pricedItem.priceInfo.amount" currency>no price</valueof>
 </oparam>
 </droplet>
 
 
 
 
 
 
| Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging | 
| DEFAULT_LOG_TRACE_STATUS | 
 
 
| Constructor Summary | 
| PriceItemDroplet()Constructs an instanceof PriceItemDroplet
 | 
 
 
| Methods inherited from class atg.commerce.pricing.ItemPricingDroplet | 
| getCatalogRefId, getDefaultLocale, getOrderTools, getPricingModels, getPricingTools, getProduct, getProductId, getProfile, getProfilePath, getUserLocale, getUserPricingModelsPath, isUseRequestLocale, service, setDefaultLocale, setOrderTools, setPricingTools, setProfilePath, setUseRequestLocale, setUserPricingModelsPath | 
 
| Methods inherited from class atg.servlet.DynamoServlet | 
| doDelete, doGet, doPost, doPut, getParameter, getParameters, getServletContext, init, service, service, setParameter | 
 
 
 
| 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 | 
 
CLASS_VERSION
public static java.lang.String CLASS_VERSION
- Class version string
 
 
mPricingQualifierService
protected Qualifier mPricingQualifierService
PriceItemDroplet
public PriceItemDroplet()
- Constructs an instanceof PriceItemDroplet
 
getPricingQualifierService
public Qualifier getPricingQualifierService()
- Returns the qualifier service that is used to price promotions
 during the pricing operation.
 
- 
- Returns:
 
setPricingQualifierService
public void setPricingQualifierService(Qualifier pPricingQualifierService)
- 
 
createCommerceItem
protected CommerceItem createCommerceItem(java.lang.String pCatalogRefId,
                                          java.lang.Object pCatalogRef,
                                          java.lang.String pProductId,
                                          java.lang.Object pProductRef,
                                          long pQuantity)
                                   throws CommerceException
- With the given parameters create a new CommerceItem that will be used for pricing.
 
- 
- Overrides:
- createCommerceItemin class- ItemPricingDroplet
 
- 
- Throws:
- CommerceException
 
performPricing
protected java.lang.Object performPricing(DynamoHttpServletRequest pRequest,
                                          DynamoHttpServletResponse pResponse)
                                   throws javax.servlet.ServletException,
                                          java.io.IOException
- Returns the CommerceItem which has been priced. This method gathers the user's promotions, locale and profile
 and calls into the PricingTools to price the item.
 
- 
- Specified by:
- performPricingin class- ItemPricingDroplet
 
- 
- Throws:
- javax.servlet.ServletException
- java.io.IOException
 
getExtraParams
protected java.util.Map getExtraParams(DynamoHttpServletRequest pRequest,
                                       DynamoHttpServletResponse pResponse)
                                throws javax.servlet.ServletException
- Intended to be used to build a map of extra parameters for passing in to ItemPricingEngines
 for their use in pricing the input item.  
 
 By default, this method will create a parameter map containing the configured qualifier service
 to be used in the pricing operation. Otherwise, it returns null. 
 
 Note: override this method if you've created a new implementation of ItemPricingEngine
 which uses the 'ExtraParameters' param that's passed in to its pricing methods.
 
 
- 
- Parameters:
- pRequest- the request object which holds the extra pararameters map in its parameters table
- pResponse- the response object
- Returns:
- the Map in pRequest's "extra parameters" parameter, if any
- Throws:
- javax.servlet.ServletException- if there was a problem getting the request parameter value