Oracle ATG Web Commerce uses similar mechanisms for assigning catalogs and price lists to customer profiles. It adds CatalogProfilePropertySetter and PriceListProfilePropertySetter components to the profilePropertySetters property of the /atg/dynamo/servlet/dafpipeline/ProfilePropertyServlet component in the DAF servlet pipeline:
profilePropertySetters+=/atg/userprofiling/CatalogProfilePropertySetter,\
/atg/userprofiling/PriceListProfilePropertySetter
To set the profile’s priceList and salePriceList properties, the PriceListProfilePropertySetter component calls the /atg/commerce/pricing/priceLists/PriceListManager component’s determinePriceList method, which calls the /atg/commerce/util/ContextValueRetriever component. If this component’s useProfile property is false (the default), the following logic is applied:
If there is a current site (the application is running in a multisite environment), use the value of the
defaultListPriceListanddefaultSalePriceListproperties of thesiteConfigurationitem for the current site. For more information, refer to Assigning Price Lists and Catalogs in a Multisite Configuration.Otherwise, use the
DefaultPriceListIdandDefaultSalePriceListIdvalues set in thePriceListManagercomponent.
For details on the ContextValueRetriever, including information on when you should override the useProfile property for price lists, see ContextValueRetriever Class.

