atg.projects.store.pricing
Class StorePricingTools

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.commerce.messaging.SourceSinkTemplate
              extended by atg.commerce.pricing.PricingTools
                  extended by atg.projects.store.pricing.StorePricingTools
All Implemented Interfaces:
atg.dms.patchbay.MessageSink, atg.dms.patchbay.MessageSource, atg.naming.AbsoluteNameable, atg.naming.NameContextBindingListener, atg.naming.NameContextElement, atg.naming.NameContextParentable, atg.naming.NameResolver, atg.nucleus.AdminableService, atg.nucleus.Configured, 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, java.util.EventListener

public class StorePricingTools
extends atg.commerce.pricing.PricingTools

Store extension for the PricingTools.

Version:
$Id: //hosting-blueprint/B2CBlueprint/version/10.2.1/EStore/src/atg/projects/store/pricing/StorePricingTools.java#3 $$Change: 788983 $
Author:
ATG
See Also:
PricingTools

Field Summary
static java.lang.String CLASS_VERSION
          Class version string.
protected  atg.commerce.promotion.GWPManager mGwpManager
          Manager component for gift with purchase promotions
static java.lang.String SKIP_STACKING_RULES_MESSAGES_SENDING
           
 
Fields inherited from class atg.commerce.pricing.PricingTools
DETAILED_ITEM_PRICE_AMOUNT_PROPERTY, DETAILED_ITEM_PRICE_ORDER_DISCOUNT_SHARE_PROPERTY, DETAILED_ITEM_PRICE_ORDER_MANUAL_ADJUSTMENT_SHARE_PROPERTY, ERR_CANT_GET_PRICE_FOR_PROD, ERR_CANT_SEND_MESSAGE, ERR_PASSED_NULL_PRICE_INFO, ERR_PROMOTION_ANALYSIS_MODEL_HOLDER_NOT_FOUND, INF_MSG_NULL_PROFILE, LIST_PRICE, mItemPriceSourceHandlers, mUsingPriceLists, ON_SALE, SALE_PRICE, WRN_NO_PRICELIST_FOR_LOCALE, WRN_PARAMS_INVALID_PRICELIST, WRN_PARAMS_INVALID_PRICELIST_NAME
 
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
StorePricingTools()
           
 
Method Summary
 java.util.Map<java.lang.String,java.util.List<StoreUnitPriceBean>> generatePriceBeans(atg.commerce.order.Order pOrder)
          Generates a Map of unit price beans for all items in the order.
 java.util.List<StoreUnitPriceBean> generatePriceBeans(atg.commerce.order.Order pOrder, atg.commerce.order.CommerceItem pItem)
          Generate GWP aware price beans for the given commerce item.
 java.util.List<StoreUnitPriceBean> generatePriceBeans(atg.commerce.order.Order pOrder, atg.commerce.order.CommerceItem pItem, java.util.List<atg.commerce.pricing.DetailedItemPriceInfo> pInfos)
          Generate GWP aware price beans for the given commerce item and list of price infos.
 atg.commerce.promotion.GWPManager getGwpManager()
          Getter for the gift with purchase manager property.
 void populatePriceBeanSelections(StoreUnitPriceBean pPriceBean, java.util.Collection<atg.commerce.promotion.GiftWithPurchaseSelection> pGwpSelections)
          Populates price bean's GwpSelections list.
 void setGwpManager(atg.commerce.promotion.GWPManager pGwpManager)
          Setter for the gift with purchase manager property.
 
Methods inherited from class atg.commerce.pricing.PricingTools
addBypassPromotionVetoersParameter, addDisableAutoGWPParameter, addDisableGWPMessaging, addDisableStackingRuleProcessingParameter, addDiscountableMapParameter, addItemPriceSourceParameter, addPriceBeanForInfo, calculateItemsOrderManualAdjustmentShare, calculatePrice, calculatePrice, calculateTaxableAmount, calculateTaxableAmount, calculateTaxableAmountByAverage, calculateTaxableAmountByAverage, clearMessageTools, clearPromotionAnalysisData, compareClosenessQualifiers, compareQualifiers, createDetailedItemPriceInfo, createDetailedItemPriceInfo, createInitialSubSkuDetailedPriceInfo, createItemPriceSource, createItemPriceSource, createOrderPriceInfo, createPriceChangedEvent, createPricingCommerceItem, createSubSkuPriceInfo, deriveUsingPriceLists, doesOrderContainPriceLists, doStartService, findAdjustmentsByDescription, findHighestPrice, findMatchingSource, firePromotionClosenessMessage, generateItemPriceSources, generateItemPriceSources, generateItemPricingSourceMap, generateKeyForTieredProcessedItem, generatePriceBeans, generatePriceBeans, generatePriceListPrices, getAppliedPromotionsForUnprocessedEngines, getAverageItemPrice, getCatalogTools, getChildSKUsPropertyName, getClosenessQualificationMessageSender, getCommerceItemManager, getCommercePropertyManager, getCurrencySymbol, getCurrencySymbol, getDecimalFormatSymbols, getDecimalFormatSymbols, getDefaultLocale, getDetailedItemPriceInfoClass, getDetailedItemPriceTools, getDiscountableMap, getDiscountablePropertyName, getHighestPrice, getHighestPriceItem, getInternationalCurrencySymbol, getInternationalCurrencySymbol, getItemPriceSource, getItemPriceSourceHandlers, getItemPricingEngine, getItemsOrderDiscountShare, getListPriceListFromOrder, getLocale, getLoggingIdentifier, getLowestPrice, getMessageIdGenerator, getMessageIdSpaceName, getMessageTools, getNextMessageId, getOrderManager, getOrderPricingEngine, getOrderTools, getPriceFromItem, getPriceFromItem, getPriceList, getPriceListFromParameters, getPriceListManager, getPricingContextFactory, getPricingLocale, getProfile, getProfileItemType, getProfileRepository, getPromotionAnalysisManager, getPromotionAnalysisModelHolderPath, getPromotionClosenessDisqualificationJMSType, getPromotionClosenessQualificationJMSType, getRangeClassType, getRangeComparator, getRelationshipsSubtotal, getRoundingDecimalPlaces, getSalePriceListFromOrder, getScenarioEventPort, getShipItemRelPriceTotal, getShippingGroupCommerceItemRelationship, getShippingPricingEngine, getSubSkuPriceInfoClass, getTaxPricingEngine, getTotalQuantityForBulkPricing, getUnprocessedPricingEngines, isDiscountableItem, isDiscountableItem, isGeneratePriceChangedEvents, isGeneratePromotionAnalysisInfo, isMatchForBulkPricing, isSendEventsWithNoProfile, isSendGWPMessages, isSendPricingMessages, isSendPromotionClosenessMessages, isSendStackingRuleMessages, isSendUserMessages, isShippingSubtotalUsesAverageItemPrice, isTaxable, isUseDefaultLocaleIfNotSpecified, isUsePassedLocaleAsPricingLocale, isUsingPriceLists, isUsingPriceListsExplicitlySet, needsRounding, performPricingOperation, postPricingOperation, prePricingOperation, priceEachItem, priceEachItem, priceEachItem, priceEachItem, priceItem, priceItem, priceItem, priceItem, priceItemsForOrderTotal, priceItemsForOrderTotal, priceItemsForOrderTotal, priceItemsForOrderTotal, priceOrderForOrderTotal, priceOrderForOrderTotal, priceOrderForOrderTotal, priceOrderForOrderTotal, priceOrderSubtotal, priceOrderSubtotal, priceOrderSubtotal, priceOrderSubtotalShipping, priceOrderSubtotalShipping, priceOrderSubtotalShipping, priceOrderSubtotalTax, priceOrderSubtotalTax, priceOrderSubtotalTax, priceOrderTotal, priceOrderTotal, priceOrderTotal, priceOrderTotal, priceOrderTotal, priceShippingForOrderTotal, priceShippingForOrderTotal, priceShippingForOrderTotal, priceShippingForOrderTotal, priceTaxForOrderTotal, priceTaxForOrderTotal, priceTaxForOrderTotal, priceTaxForOrderTotal, recreateInitialDetailsForItemMarkedAsFinal, resolvePromotionAnalysisModelHolderComponent, retrieveHighestChildSKUPrice, retrieveHighestPriceListPrice, retrieveLowestChildSKUPrice, retrieveLowestPriceListPrice, round, round, roundDown, sendPriceChangedEvent, sendPricingMessage, sendPromotionClosenessQualificationMessage, sendStackingRuleMessages, sendUserMessage, setCatalogTools, setChildSKUsPropertyName, setClosenessQualificationMessageSender, setCommerceItemManager, setCommercePropertyManager, setDefaultLocale, setDetailedItemPriceInfoClass, setDiscountablePropertyName, setGeneratePriceChangedEvents, setGeneratePromotionAnalysisInfo, setItemPriceSourceHandlers, setItemPricingEngine, setLoggingIdentifier, setMessageIdGenerator, setMessageIdSpaceName, setMessageTools, setOrderManager, setOrderPricingEngine, setOrderTools, setPriceListManager, setPricingContextFactory, setProfileItemType, setProfileRepository, setPromotionAnalysisManager, setPromotionAnalysisModelHolderPath, setPromotionClosenessDisqualificationJMSType, setPromotionClosenessQualificationJMSType, setRangeClassType, setRangeComparator, setRoundingDecimalPlaces, setScenarioEventPort, setSendEventsWithNoProfile, setSendGWPMessages, setSendPricingMessages, setSendPromotionClosenessMessages, setSendStackingRuleMessages, setSendUserMessages, setShippingPricingEngine, setShippingSubtotalUsesAverageItemPrice, setSubSkuPrice, setSubSkuPriceInfoClass, setSubSkuSalePrice, setTaxPricingEngine, setUseDefaultLocaleIfNotSpecified, setUsePassedLocaleAsPricingLocale, setUsingPriceLists
 
Methods inherited from class atg.commerce.messaging.SourceSinkTemplate
getDelayOnSendRetry, getMessageSourceContext, getMessageSourceName, getTransactionManager, isAllowMessageSending, receiveMessage, sendCommerceMessage, sendObjectMessage, setAllowMessageSending, setDelayOnSendRetry, setMessageSourceContext, setMessageSourceName, setTransactionManager, startMessageSource, stopMessageSource
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, 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 final java.lang.String CLASS_VERSION
Class version string.

See Also:
Constant Field Values

SKIP_STACKING_RULES_MESSAGES_SENDING

public static java.lang.String SKIP_STACKING_RULES_MESSAGES_SENDING

mGwpManager

protected atg.commerce.promotion.GWPManager mGwpManager
Manager component for gift with purchase promotions

Constructor Detail

StorePricingTools

public StorePricingTools()
Method Detail

setGwpManager

public void setGwpManager(atg.commerce.promotion.GWPManager pGwpManager)
Setter for the gift with purchase manager property.

Overrides:
setGwpManager in class atg.commerce.pricing.PricingTools
Parameters:
pGwpManager - GWPManager

getGwpManager

public atg.commerce.promotion.GWPManager getGwpManager()
Getter for the gift with purchase manager property.

Overrides:
getGwpManager in class atg.commerce.pricing.PricingTools
Returns:
GWPManager

generatePriceBeans

public java.util.Map<java.lang.String,java.util.List<StoreUnitPriceBean>> generatePriceBeans(atg.commerce.order.Order pOrder)
Generates a Map of unit price beans for all items in the order. the key to the map is the commerce item id. Each value in the map is a list of UnitPriceBeans.

Parameters:
pOrder - - the order to process.
Returns:
map of unit price beans.

generatePriceBeans

public java.util.List<StoreUnitPriceBean> generatePriceBeans(atg.commerce.order.Order pOrder,
                                                             atg.commerce.order.CommerceItem pItem)
Generate GWP aware price beans for the given commerce item.

Parameters:
pOrder - The order commerce item belongs to.
pItem - The commerce item to generate price beans for.
Returns:
The list of GWP aware price beans for the given commerce item and price infos.

generatePriceBeans

public java.util.List<StoreUnitPriceBean> generatePriceBeans(atg.commerce.order.Order pOrder,
                                                             atg.commerce.order.CommerceItem pItem,
                                                             java.util.List<atg.commerce.pricing.DetailedItemPriceInfo> pInfos)
Generate GWP aware price beans for the given commerce item and list of price infos.

Parameters:
pOrder - The order commerce item belongs to.
pItem - The commerce item to generate price beans for.
pInfos - The list of detailed price infos to generate prcie beans for.
Returns:
The list of GWP aware price beans for the given commerce item and price infos.

populatePriceBeanSelections

public void populatePriceBeanSelections(StoreUnitPriceBean pPriceBean,
                                        java.util.Collection<atg.commerce.promotion.GiftWithPurchaseSelection> pGwpSelections)
Populates price bean's GwpSelections list. The method compares passed in commerce item's GWP selections within price bean's pricing models. If matching selections are found they are added to the price bean's GwpSelections list.

Parameters:
pPriceBean - The price bean to populate list of GWP selections for.
pGwpSelections - The list of GWP selections for the price bean's commerce item.