In addition to the recordFilterBuilders property, the NavigationStateBuilder component has a rangeFilterBuilders property that can be set to an array of components of classes that implement the atg.endeca.assembler.navigation.filter.RangeFilterBuilder interface. Classes that implement this interface construct range filters that are applied to results returned from MDEX queries.

Commerce Reference Store configures the rangeFilterBuilders property as follows:

rangeFilterBuilders+=\
  /atg/endeca/assembler/cartridge/manager/filter/DateRangeFilterBuilder

The DateRangeFilterBuilder component, which is of class atg.endeca.assembler.navigation.filter.DateRangeFilterBuilder, builds range filters based on the startDate and endDate properties of products and SKUs. It has startDatePropertyNames and endDatePropertyNames properties that are configured like this:

startDatePropertyNames=\
  product.startDate,\
  sku.startDate

endDatePropertyNames=\
  product.endDate,\
  sku.endDate

By default, DateRangeFilterBuilder uses only the day portion of the startDate and endDate timestamp values in constructing filters. The granularity of the filters is controlled by the unitOfTime property, which is set by default to DAYS. You can make the time period more granular by changing the value of this property to HOURS or MINUTES. Note, however, that this can degrade filtering performance, because query caching becomes less effective.


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