atg.projects.store.assembler.cartridge.handler
Class StoreRefinementMenuHandler

java.lang.Object
  extended by com.endeca.infront.cartridge.NavigationCartridgeHandler<com.endeca.infront.cartridge.RefinementMenuConfig,com.endeca.infront.cartridge.RefinementMenu>
      extended by com.endeca.infront.cartridge.RefinementMenuHandler
          extended by atg.commerce.endeca.assembler.cartridge.handler.CategoryMenuHandler
              extended by atg.projects.store.assembler.cartridge.handler.StoreRefinementMenuHandler
All Implemented Interfaces:
com.endeca.infront.assembler.CartridgeHandler<com.endeca.infront.cartridge.RefinementMenuConfig>

public class StoreRefinementMenuHandler
extends atg.commerce.endeca.assembler.cartridge.handler.CategoryMenuHandler

Extends RefinementMenuHandler to override preprocess method to use CategoryToDimensionAttributeAliasManager to get the source name for attribute alias. Process method is overridden to update unlocalized category names to localized ones.


Field Summary
protected static java.lang.String DISPLAY_NAME_PROPERTY
           
protected static java.lang.String DISPLAY_NAME_PROPERTY_ALIAS
           
 
Fields inherited from class atg.commerce.endeca.assembler.cartridge.handler.CategoryMenuHandler
sLogger
 
Constructor Summary
StoreRefinementMenuHandler()
           
 
Method Summary
 java.lang.String findLocalizedLabel(java.util.Map<java.lang.String,java.lang.String> pProperties, java.lang.String pLabel, java.lang.String pDisplayNameProperty)
          Looks for localized label for refinements
 atg.search.record.alias.AttributeAliasManager getLocaleAttributeAliasManager()
           
 void preprocess(com.endeca.infront.cartridge.RefinementMenuConfig pCartridgeConfig)
          Determine the source property name for aliased display name property before calling super.preprocess method
 com.endeca.infront.cartridge.RefinementMenu process(com.endeca.infront.cartridge.RefinementMenuConfig pCartridgeConfig)
          Creates a new RefinementMenu with localized category labels
 void setLocaleAttributeAliasManager(atg.search.record.alias.AttributeAliasManager pLocaleAttributeAliasManager)
           
protected  com.endeca.infront.cartridge.RefinementMenuConfig wrapConfig(com.endeca.infront.assembler.ContentItem pContentItem)
          Create a new StoreRefinementMenuConfig using the passed in ContentItem
 
Methods inherited from class atg.commerce.endeca.assembler.cartridge.handler.CategoryMenuHandler
filterFacets, getCatalogFilterBuilder, getCatalogsPropertyName, getCategoryDimensionName, getSeparator, getSiteFilterBuilder, getSitesPropertyName, isRelevant, setCatalogFilterBuilder, setCatalogsPropertyName, setCategoryDimensionName, setSeparator, setSiteFilterBuilder, setSitesPropertyName
 
Methods inherited from class com.endeca.infront.cartridge.NavigationCartridgeHandler
createMdexRequest, dispatchNavigationEventInformation, executeMdexRequest, getActionPathProvider, getContentItemInitializer, getMdexRequestBroker, getNavigationState, initialize, populateNavigationPathDefaults, setActionPathProvider, setContentItemInitializer, setMdexRequestBroker, setNavigationState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DISPLAY_NAME_PROPERTY

protected static final java.lang.String DISPLAY_NAME_PROPERTY
See Also:
Constant Field Values

DISPLAY_NAME_PROPERTY_ALIAS

protected static final java.lang.String DISPLAY_NAME_PROPERTY_ALIAS
See Also:
Constant Field Values
Constructor Detail

StoreRefinementMenuHandler

public StoreRefinementMenuHandler()
Method Detail

getLocaleAttributeAliasManager

public atg.search.record.alias.AttributeAliasManager getLocaleAttributeAliasManager()
Returns:
The Manager component used to determine the source property for the display name aliased property.

setLocaleAttributeAliasManager

public void setLocaleAttributeAliasManager(atg.search.record.alias.AttributeAliasManager pLocaleAttributeAliasManager)
Parameters:
pLocaledAttributeAliasManager - the mLocaleAttributeAliasResolver to set

wrapConfig

protected com.endeca.infront.cartridge.RefinementMenuConfig wrapConfig(com.endeca.infront.assembler.ContentItem pContentItem)
Create a new StoreRefinementMenuConfig using the passed in ContentItem

Overrides:
wrapConfig in class com.endeca.infront.cartridge.RefinementMenuHandler

preprocess

public void preprocess(com.endeca.infront.cartridge.RefinementMenuConfig pCartridgeConfig)
                throws com.endeca.infront.assembler.CartridgeHandlerException
Determine the source property name for aliased display name property before calling super.preprocess method

Specified by:
preprocess in interface com.endeca.infront.assembler.CartridgeHandler<com.endeca.infront.cartridge.RefinementMenuConfig>
Overrides:
preprocess in class com.endeca.infront.cartridge.RefinementMenuHandler
Throws:
com.endeca.infront.assembler.CartridgeHandlerException

process

public com.endeca.infront.cartridge.RefinementMenu process(com.endeca.infront.cartridge.RefinementMenuConfig pCartridgeConfig)
                                                    throws com.endeca.infront.assembler.CartridgeHandlerException
Creates a new RefinementMenu with localized category labels

Specified by:
process in interface com.endeca.infront.assembler.CartridgeHandler<com.endeca.infront.cartridge.RefinementMenuConfig>
Overrides:
process in class atg.commerce.endeca.assembler.cartridge.handler.CategoryMenuHandler
Throws:
com.endeca.infront.assembler.CartridgeHandlerException

findLocalizedLabel

public java.lang.String findLocalizedLabel(java.util.Map<java.lang.String,java.lang.String> pProperties,
                                           java.lang.String pLabel,
                                           java.lang.String pDisplayNameProperty)
Looks for localized label for refinements

Parameters:
pProperties - the properties of current refinement
pLabel - the non-localized label of refinement
pDisplayNameProperty - the localized display name property
Returns: