The IncrementalLoader component monitors when changes are made to the values of properties specified in an EndecaIndexingOutputConfig component’s definition file, and adds the modified items to the incremental item queue. So, for example, if the color property of a SKU in the product catalog is modified, that SKU is added to the incremental item queue for reindexing.

Prices in price lists, however, are not referenced directly by catalog items; instead, price items in the price list repository have references to the products or SKUs they apply to. So changes to price items do not automatically trigger reindexing of the corresponding product or SKU.

The atg.repository.search.indexing.listener.QueueingPropertiesChangeListener class addresses this issue by providing a mechanism for triggering reindexing of items in one repository based on changes to items in another repository. Oracle Commerce includes a component of this class, /atg/commerce/search/PriceListPropertiesChangedListener, that is configured to monitor changes to price items in the price list repository and add products and SKUs that they reference to the incremental item queue.

The following describes key properties of the QueueingPropertiesChangeListener class, and their default settings in the PriceListPropertiesChangedListener component.

incrementalLoader

The IncrementalLoader component to use. This component is responsible for queueing changes in the incremental item queue. This property is set to:

incrementalLoader=/atg/search/repository/IncrementalLoader
repository

The repository whose items are monitored for changes. This property is set to the price list repository:

repository=/atg/commerce/pricing/priceLists/PriceLists
itemDescriptorName

The item type of the repository items to monitor for changes. This property is set to:

itemDescriptorName=price
referencingPropertyToIndexedRepositoryAndType

A Map in which each key is the name of a property of the monitored item type, and the corresponding value is the Nucleus pathname and item type of the item descriptor in the indexed repository that the monitored properties reference. The values are of the form repositoryPathName:itemDescriptorName. For PriceListPropertiesChangedListener, the keys are productId and skuId properties of price items in the price list repository, and the values represent product and sku item descriptors in the catalog repository:

referencingPropertyToIndexedRepositoryAndType=\
  productId=/atg/commerce/catalog/ProductCatalog:product,\
  skuId=/atg/commerce/catalog/ProductCatalog:sku
monitoredPropertyNames

A list of properties of the item type specified by the itemDescriptorName property. If the value of monitoredPropertyNames is null (the default), all properties of the item type are monitored, and changes to the values of any of them triggers reindexing of the associated products or SKUs. If the value of monitoredPropertyNames is not null, only the listed properties are monitored.


Copyright © 1997, 2017 Oracle and/or its affiliates. All rights reserved. Legal Notices