Class ProductConfigurationVariantSearchServiceImpl
java.lang.Object
de.hybris.platform.sap.productconfig.services.impl.ProductConfigurationVariantSearchServiceImpl
- All Implemented Interfaces:
ProductConfigurationVariantSearchService
public class ProductConfigurationVariantSearchServiceImpl
extends Object
implements ProductConfigurationVariantSearchService
Default implementaion of the
ProductConfigurationVariantSearchService.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddBaseProductToQuery(String productcode, SolrSearchQueryData searchQuery) protected voidappendTerm(SolrSearchQueryTermData term, StringBuilder debugOutput) protected List<VariantSearchResult>compileSearchResult(ProductSearchPageData<SolrSearchQueryData, SearchResultValueData> solrSearchResult) protected List<SolrSearchQueryTermData>convertToQueryDataList(CsticModel csticModel, Map<String, ClassificationSystemCPQAttributesContainer> hybrisNamesMap, Set<String> solrIndexedProperties) protected VariantSearchResultprotected SolrSearchQueryTermDatacreateQueryDataTerm(CsticModel csticModel, CsticValueModel value, ClassificationSystemCPQAttributesContainer cpqAttributes) protected SolrSearchQueryDatacreateSearchQueryData(String configId, String productCode) protected ConfigurationClassificationCacheStrategyprotected List<SolrSearchQueryTermData>getFilterTerms(String configId, String productCode) protected ProductConfigurationServiceprotected ProductSearchService<SolrSearchQueryData,SearchResultValueData, ProductSearchPageData<SolrSearchQueryData, SearchResultValueData>> protected List<CsticModel>getRootCharacteristics(String configId) Fetches the characteristics on root instance levelprotected SearchAttributeSelectionStrategyprotected ThreadContextServiceprotected StringgetValueName(CsticValueModel valueModel, CsticModel csticModel, ClassificationSystemCPQAttributesContainer cpqAttributes) getVariantsForConfiguration(String configId, String productCode) Searches variants that are similar to the currently configured product identified by the given config id.getVariantsForCustomQuery(SolrSearchQueryData searchQueryData) Searches variants that are similar to the currently configured product identified by the given config id.protected booleanisUsedForSearch(CsticModel csticModel, Set<String> solrIndexedProperties) Check on cstic level whether we consider the cstic for searching.protected booleanisUsedForSearch(CsticValueModel csticValueModel) Check on cstic value level whether we use it for search.voidsetConfigurationClassificationCacheStrategy(ConfigurationClassificationCacheStrategy configurationClassificationCacheStrategy) voidsetProductConfigurationService(ProductConfigurationService productConfigurationService) voidsetProductSearchService(ProductSearchService<SolrSearchQueryData, SearchResultValueData, ProductSearchPageData<SolrSearchQueryData, SearchResultValueData>> productSearchService) voidsetSearchAttributeSelectionStrategy(SearchAttributeSelectionStrategy searchAttributeSelectionStrategy) voidsetThreadContextService(ThreadContextService threadContextService) protected voidtraceQuery(SolrSearchQueryData searchQueryData)
-
Field Details
-
BASE_PRODUCT_ON_SOLR
- See Also:
-
-
Constructor Details
-
ProductConfigurationVariantSearchServiceImpl
public ProductConfigurationVariantSearchServiceImpl()
-
-
Method Details
-
getVariantsForConfiguration
Description copied from interface:ProductConfigurationVariantSearchServiceSearches variants that are similar to the currently configured product identified by the given config id.- Specified by:
getVariantsForConfigurationin interfaceProductConfigurationVariantSearchService- Parameters:
configId- configuration id of current configuration sessionproductCode- product code of the currently configured product- Returns:
- A List of variants that are similar to current configured product
-
traceQuery
-
appendTerm
-
getVariantsForCustomQuery
Description copied from interface:ProductConfigurationVariantSearchServiceSearches variants that are similar to the currently configured product identified by the given config id.- Specified by:
getVariantsForCustomQueryin interfaceProductConfigurationVariantSearchService- Parameters:
searchQueryData- search query to be used- Returns:
- A List of variants that are similar to current configured product
-
getThreadContextService
-
getProductConfigurationService
-
setProductConfigurationService
- Parameters:
productConfigurationService-
-
setProductSearchService
public void setProductSearchService(ProductSearchService<SolrSearchQueryData, SearchResultValueData, ProductSearchPageData<SolrSearchQueryData, SearchResultValueData>> productSearchService) - Parameters:
productSearchService- ProductSearchService
-
getProductSearchService
protected ProductSearchService<SolrSearchQueryData,SearchResultValueData, getProductSearchService()ProductSearchPageData<SolrSearchQueryData, SearchResultValueData>> -
createSearchQueryData
-
getRootCharacteristics
Fetches the characteristics on root instance level- Parameters:
configId- Must not be null- Returns:
- The characteristics on root level
-
isUsedForSearch
Check on cstic value level whether we use it for search. Default implementation: Use for search if not empty- Parameters:
csticValueModel-- Returns:
- Use value for search?
-
isUsedForSearch
Check on cstic level whether we consider the cstic for searching. We consultSearchAttributeSelectionStrategyto do this. Only characteristics of type STRING are supported by variant search.- Parameters:
csticModel- the cstic model, to check- Returns:
- Use cstic for search?
-
createQueryDataTerm
protected SolrSearchQueryTermData createQueryDataTerm(CsticModel csticModel, CsticValueModel value, ClassificationSystemCPQAttributesContainer cpqAttributes) -
getValueName
protected String getValueName(CsticValueModel valueModel, CsticModel csticModel, ClassificationSystemCPQAttributesContainer cpqAttributes) -
convertToQueryDataList
protected List<SolrSearchQueryTermData> convertToQueryDataList(CsticModel csticModel, Map<String, ClassificationSystemCPQAttributesContainer> hybrisNamesMap, Set<String> solrIndexedProperties) -
getFilterTerms
-
compileSearchResult
protected List<VariantSearchResult> compileSearchResult(ProductSearchPageData<SolrSearchQueryData, SearchResultValueData> solrSearchResult) -
convertToVariantSearchResult
- Parameters:
value-- Returns:
- Variant Search Result
-
setSearchAttributeSelectionStrategy
public void setSearchAttributeSelectionStrategy(SearchAttributeSelectionStrategy searchAttributeSelectionStrategy) - Parameters:
searchAttributeSelectionStrategy-
-
getSearchAttributeSelectionStrategy
-
setThreadContextService
- Parameters:
threadContextService-
-
addBaseProductToQuery
-
getConfigurationClassificationCacheStrategy
-
setConfigurationClassificationCacheStrategy
public void setConfigurationClassificationCacheStrategy(ConfigurationClassificationCacheStrategy configurationClassificationCacheStrategy)
-