Class BaseStructuredArticleComponentValueResolver

java.lang.Object
com.sap.retail.commercesuite.saparticlesearch.provider.BaseStructuredArticleComponentValueResolver
All Implemented Interfaces:
de.hybris.platform.solrfacetsearch.provider.ValueResolver<ProductModel>
Direct Known Subclasses:
StructuredArticleComponentKeywordsValueResolver, StructuredArticleComponentNamesValueResolver

public abstract class BaseStructuredArticleComponentValueResolver extends Object implements de.hybris.platform.solrfacetsearch.provider.ValueResolver<ProductModel>
  • Field Details

    • OPTIONAL_PARAM

      public static final String OPTIONAL_PARAM
      Optional parameter.
      See Also:
    • OPTIONAL_PARAM_DEFAULT_VALUE

      public static final boolean OPTIONAL_PARAM_DEFAULT_VALUE
      Optional parameter default value.
      See Also:
    • SPLIT_PARAM

      public static final String SPLIT_PARAM
      Split parameter.
      See Also:
    • SPLIT_PARAM_DEFAULT_VALUE

      public static final boolean SPLIT_PARAM_DEFAULT_VALUE
      Split parameter default value.
      See Also:
    • SEPARATOR_PARAM

      public static final String SEPARATOR_PARAM
      Separator parameter.
      See Also:
    • SEPARATOR_PARAM_DEFAULT_VALUE

      public static final String SEPARATOR_PARAM_DEFAULT_VALUE
      Separator parameter default value.
      See Also:
  • Constructor Details

    • BaseStructuredArticleComponentValueResolver

      public BaseStructuredArticleComponentValueResolver()
  • Method Details

    • getCommonI18NService

      protected de.hybris.platform.servicelayer.i18n.CommonI18NService getCommonI18NService()
      Returns the CommonI18NService.
      Returns:
      CommonI18NService
    • setCommonI18NService

      public void setCommonI18NService(de.hybris.platform.servicelayer.i18n.CommonI18NService commonI18NService)
      Injection setter for CommonI18NService.
      Parameters:
      commonI18NService - CommonI18NService
    • resolve

      public void resolve(de.hybris.platform.solrfacetsearch.indexer.spi.InputDocument document, de.hybris.platform.solrfacetsearch.indexer.IndexerBatchContext batchContext, Collection<IndexedProperty> indexedProperties, ProductModel model) throws de.hybris.platform.solrfacetsearch.config.exceptions.FieldValueProviderException
      Specified by:
      resolve in interface de.hybris.platform.solrfacetsearch.provider.ValueResolver<ProductModel>
      Throws:
      de.hybris.platform.solrfacetsearch.config.exceptions.FieldValueProviderException
    • addFieldValues

      protected void addFieldValues(de.hybris.platform.solrfacetsearch.indexer.spi.InputDocument document, IndexedProperty indexedProperty, ProductModel product, LanguageModel language) throws de.hybris.platform.solrfacetsearch.config.exceptions.FieldValueProviderException
      Adds the field value depending from the configuration (multivalue, localized).
      Parameters:
      document - solr document to be enhanced
      indexedProperty - indexed property
      product - product model
      language - language
      Throws:
      de.hybris.platform.solrfacetsearch.config.exceptions.FieldValueProviderException - exception if field value cannot be provided
    • getComponentPropertyValuesAsString

      protected String getComponentPropertyValuesAsString(ProductModel product, LanguageModel language, String separator)
      Returns the values of the requested article component properties as string.
      Parameters:
      product - product model
      language - language
      separator - value separator
      Returns:
      component property values as string
    • getComponentPropertyValues

      protected List<Object> getComponentPropertyValues(ProductModel product, LanguageModel language, String separator)
      Returns the values of the requested article component properties.
      Parameters:
      product - product model
      language - language
      separator - value separator
      Returns:
      component property values as string
    • getComponentPropertyValue

      protected abstract Object getComponentPropertyValue(ArticleComponentModel articleComponent, LanguageModel language)
      Gets the property value of the article component.
      Parameters:
      articleComponent - article component model
      language - language model
      Returns:
      property value
    • getLogger

      protected abstract org.apache.log4j.Logger getLogger()
      Gets the logger of the current implementation class.
      Returns:
      logger