Class TravelSearchResponseFilteredFacetsPopulator<FACET_SEARCH_CONFIG_TYPE,INDEXED_TYPE_TYPE,INDEXED_TYPE_SORT_TYPE,ITEM>

java.lang.Object
de.hybris.platform.travelservices.search.solrfacetsearch.populators.TravelSearchResponseFilteredFacetsPopulator<FACET_SEARCH_CONFIG_TYPE,INDEXED_TYPE_TYPE,INDEXED_TYPE_SORT_TYPE,ITEM>
All Implemented Interfaces:
de.hybris.platform.converters.Populator<SolrSearchResponse<FACET_SEARCH_CONFIG_TYPE,INDEXED_TYPE_TYPE,IndexedProperty,de.hybris.platform.solrfacetsearch.search.SearchQuery,INDEXED_TYPE_SORT_TYPE,de.hybris.platform.solrfacetsearch.search.SearchResult>,FacetSearchPageData<SolrSearchQueryData,ITEM>>

public class TravelSearchResponseFilteredFacetsPopulator<FACET_SEARCH_CONFIG_TYPE,INDEXED_TYPE_TYPE,INDEXED_TYPE_SORT_TYPE,ITEM> extends Object implements de.hybris.platform.converters.Populator<SolrSearchResponse<FACET_SEARCH_CONFIG_TYPE,INDEXED_TYPE_TYPE,IndexedProperty,de.hybris.platform.solrfacetsearch.search.SearchQuery,INDEXED_TYPE_SORT_TYPE,de.hybris.platform.solrfacetsearch.search.SearchResult>,FacetSearchPageData<SolrSearchQueryData,ITEM>>
Populator to populate the facets on which the results have been filtered.
  • Constructor Details

    • TravelSearchResponseFilteredFacetsPopulator

      public TravelSearchResponseFilteredFacetsPopulator()
  • Method Details

    • populate

      public void populate(SolrSearchResponse<FACET_SEARCH_CONFIG_TYPE,INDEXED_TYPE_TYPE,IndexedProperty,de.hybris.platform.solrfacetsearch.search.SearchQuery,INDEXED_TYPE_SORT_TYPE,de.hybris.platform.solrfacetsearch.search.SearchResult> source, FacetSearchPageData<SolrSearchQueryData,ITEM> target)
      Specified by:
      populate in interface de.hybris.platform.converters.Populator<FACET_SEARCH_CONFIG_TYPE,INDEXED_TYPE_TYPE>
    • buildFilteredFacets

      protected List<FilteredFacetSearchPageData<SolrSearchQueryData>> buildFilteredFacets(SolrSearchQueryData currentSearchQuery, List<IndexedPropertyValueData<IndexedProperty>> indexedPropertyValues, de.hybris.platform.solrfacetsearch.search.SearchQuery searchQuery)
    • createClearFacetQueryData

      protected SolrSearchQueryData createClearFacetQueryData(SolrSearchQueryData searchQueryData, String facetCode)
      Creates SolrSearchQueryData to clear all the selected facet values for the specific facet from the filter.
      Parameters:
      searchQueryData - the instance to clone
      facetCode -
      Returns:
      filteredFacetSearchPageData instance of FilteredFacetSearchPageData
    • refineQueryRemoveFacet

      protected SolrSearchQueryData refineQueryRemoveFacet(SolrSearchQueryData searchQueryData, String facetCode, String facetValue)
      Refines the query for the facet. The resulting query can be used to filter the records with all previous selected facets without the selected.
      Parameters:
      searchQueryData - the instance to clone
      facetCode -
      facetValue -
      Returns:
      solrSearchQueryData
    • cloneSearchQueryData

      protected SolrSearchQueryData cloneSearchQueryData(SolrSearchQueryData source)
      Shallow clone of the source SearchQueryData
      Parameters:
      source - the instance to clone
      Returns:
      the shallow clone
    • getFacetDisplayNameProvider

      protected de.hybris.platform.solrfacetsearch.provider.FacetValueDisplayNameProvider getFacetDisplayNameProvider(IndexedProperty property)
    • isValidProperty

      protected boolean isValidProperty(String indexedPropertyCode, List<String> requiredFacetCodes)
    • createSearchQueryData

      protected SolrSearchQueryData createSearchQueryData()
    • createFacetData

      protected FilteredFacetSearchPageData<SolrSearchQueryData> createFacetData()
    • createFacetValueData

      protected FacetValueData<SolrSearchQueryData> createFacetValueData()
    • getRequiredFacetCodes

      protected List<String> getRequiredFacetCodes()
      This method will return a list of Strings taken from the TravelservicesConstants.ACCOMMODATION_LISTING_FACET_CODES property, where the delimiter between the codes is a comma ","
      Returns:
      list of String
    • getConfigurationService

      protected de.hybris.platform.servicelayer.config.ConfigurationService getConfigurationService()
      Returns:
      the configurationService
    • setConfigurationService

      public void setConfigurationService(de.hybris.platform.servicelayer.config.ConfigurationService configurationService)
      Parameters:
      configurationService - the configurationService to set