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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected List<FilteredFacetSearchPageData<SolrSearchQueryData>>buildFilteredFacets(SolrSearchQueryData currentSearchQuery, List<IndexedPropertyValueData<IndexedProperty>> indexedPropertyValues, de.hybris.platform.solrfacetsearch.search.SearchQuery searchQuery) protected SolrSearchQueryDataShallow clone of the source SearchQueryDataprotected SolrSearchQueryDatacreateClearFacetQueryData(SolrSearchQueryData searchQueryData, String facetCode) Creates SolrSearchQueryData to clear all the selected facet values for the specific facet from the filter.protected FilteredFacetSearchPageData<SolrSearchQueryData>protected FacetValueData<SolrSearchQueryData>protected SolrSearchQueryDataprotected de.hybris.platform.servicelayer.config.ConfigurationServiceprotected de.hybris.platform.solrfacetsearch.provider.FacetValueDisplayNameProvidergetFacetDisplayNameProvider(IndexedProperty property) This method will return a list of Strings taken from theTravelservicesConstants.ACCOMMODATION_LISTING_FACET_CODESproperty, where the delimiter between the codes is a comma ","protected booleanisValidProperty(String indexedPropertyCode, List<String> requiredFacetCodes) voidpopulate(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) protected SolrSearchQueryDatarefineQueryRemoveFacet(SolrSearchQueryData searchQueryData, String facetCode, String facetValue) Refines the query for the facet.voidsetConfigurationService(de.hybris.platform.servicelayer.config.ConfigurationService configurationService)
-
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:
populatein interfacede.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 clonefacetCode-- 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 clonefacetCode-facetValue-- Returns:
- solrSearchQueryData
-
cloneSearchQueryData
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
-
createSearchQueryData
-
createFacetData
-
createFacetValueData
-
getRequiredFacetCodes
This method will return a list of Strings taken from theTravelservicesConstants.ACCOMMODATION_LISTING_FACET_CODESproperty, 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
-