The ATG-Endeca integration includes the /atg/endeca/assembler/cartridge/handler/ResultsList component. This component’s class, atg.endeca.assembler.cartridge.handler.ResultsListHandler, overwrites the com.endeca.infront.cartridge.ResultsListHandler class and includes an additional sorters property of type atg.Nucleus.ServiceMap. The keys of this ServiceMap are descriptive names for the sorting options and the values are the components that perform the actual sorting. Out of the box, the ResultsList component sets the sorters property as follows:

sorters=\
   NameDescending=/atg/endeca/assembler/cartridge/sort/NameDescending,\
   Relevance=/atg/endeca/assembler/cartridge/sort/Relevance,\
   NameAscending=/atg/endeca/assembler/cartridge/sort/NameAscending,\

The atg.endeca.assembler.cartridge.handler.ResultsListHandler.setSorters() method transforms the sorters ServiceMap into a List of com.endeca.infront.cartridge.model.SortOptionConfig components. It then passes that List when it calls the com.endeca.infront.cartridge.model.SortOptionConfig.setSortOptions() method to set the sort options. This technique of creating a ServiceMap and then using it to create a List of components is necessary because Nucleus cannot set Lists of components directly.


Copyright © 1997, 2012 Oracle and/or its affiliates. All rights reserved.

Legal Notices