public class PriceEachItemDroplet extends ItemPricingDroplet
The following parameters are optional:
userPricingModelsPath
property.
profilePath
.
With these parameters the supplied or constructed CommerceItems, the user's current promotions, their profile
and locale are passed to the PricingTools.priceEachItem
method. This then calls into the ItemPricingEngine.
The CommerceItems, which have now been priced, are made available as a parameter in the output
oparam.
By default the name of this collection 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/PriceEachItem"> <param name="items" value="param:product.childSKUs"> <!-- the product param is already defined in this scope so we do not need to set it --> <oparam name="output"> <!-- Now iterate over each of the CommerceItems to display the prices --> <droplet bean="/atg/dynamo/droplet/ForEach"> <param name="array" value="param:element"> <param name="elementName" value="pricedItem"> <oparam name="output"> <valueof param="pricedItem.auxiliaryData.catalogRef.displayName"></valueof> - <!-- Toggle a different display depending if the item is on sale or not --> <droplet bean="Switch"> <param name="value" value="param:pricedItem.priceInfo.onSale"> <oparam name="false"> <valueof param="pricedItem.priceInfo.amount" currency>no price</valueof> </oparam> <oparam name="true"> List price for <valueof param="pricedItem.priceInfo.listPrice" currency>no price</valueof> on sale for <valueof param="pricedItem.priceInfo.salePrice" currency></valueof>! </oparam> </droplet><BR> </oparam> </droplet> </oparam> </droplet>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
static java.util.ResourceBundle |
sResourceBundle
Resource Bundle
|
mProfilePath, mUserPricingModelsPath
mAllowCleanupRequest, mParameters
SERVLET_INFO_KEY
SERVICE_INFO_KEY
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
PriceEachItemDroplet()
Constructs an instanceof PriceEachItemDroplet
|
Modifier and Type | Method and Description |
---|---|
protected java.util.List |
convertItemsToPrice(CommerceItem[] pItems,
DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
Return the array of CommerceItems as a list
|
protected java.util.List |
convertItemsToPrice(java.util.List pItems,
DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
Convert, as needed, each element of the list into a CommerceItem and then return the new list
|
protected java.util.List |
convertItemsToPrice(RepositoryItem[] pItems,
DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
Convert each supplied RepositoryItem into a CommerceItem and return the new list
|
protected java.util.Map |
getExtraParams(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
Intended to be used to extract a map of extra parameters for passing in to ItemPricingEngines
for their use in pricing the input item.
|
protected java.util.List |
getItemsToPrice(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
Return the list of CommerceItems to price (pricing has not occured yet).
|
protected java.lang.Object |
performPricing(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
Returns the list of CommerceItems which have been priced.
|
createCommerceItem, getCatalogRefId, getDefaultLocale, getOrderTools, getPricingModels, getPricingTools, getProduct, getProductId, getProfile, getProfilePath, getUserLocale, getUserPricingModelsPath, isUseRequestLocale, service, setDefaultLocale, setOrderTools, setPricingTools, setProfilePath, setUseRequestLocale, setUserPricingModelsPath
doDelete, doGet, doPost, doPut, getParameter, getParameters, getServletContext, init, service, service, setParameter
destroy, getServletConfig, getServletInfo, setServletInfo
getAverageRequestHandlingTime, getHandledRequestCount, getRequestStartTime, getTotalRequestHandlingTime, isKeepingStatistics, notifyHandledRequest, resetStatistics, setKeepingStatistics
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
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public static java.lang.String CLASS_VERSION
public static final java.util.ResourceBundle sResourceBundle
public PriceEachItemDroplet()
protected java.lang.Object performPricing(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException, java.io.IOException
performPricing
in class ItemPricingDroplet
javax.servlet.ServletException
java.io.IOException
protected java.util.List getItemsToPrice(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws CommerceException, javax.servlet.ServletException, java.io.IOException
CommerceException
javax.servlet.ServletException
java.io.IOException
protected java.util.Map getExtraParams(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws javax.servlet.ServletException
pRequest
- the request object which holds the extra pararameters map in its parameters tablepResponse
- the response objectjavax.servlet.ServletException
- if there was a problem getting the request parameter valueprotected java.util.List convertItemsToPrice(java.util.List pItems, DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws CommerceException, javax.servlet.ServletException, java.io.IOException
CommerceException
javax.servlet.ServletException
java.io.IOException
protected java.util.List convertItemsToPrice(RepositoryItem[] pItems, DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws CommerceException, javax.servlet.ServletException, java.io.IOException
CommerceException
javax.servlet.ServletException
java.io.IOException
protected java.util.List convertItemsToPrice(CommerceItem[] pItems, DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse) throws CommerceException, javax.servlet.ServletException, java.io.IOException
CommerceException
javax.servlet.ServletException
java.io.IOException