Class ProductConfigurationVariantSearchServiceImpl
- java.lang.Object
-
- de.hybris.platform.sap.productconfig.services.impl.ProductConfigurationVariantSearchServiceImpl
-
- All Implemented Interfaces:
ProductConfigurationVariantSearchService
public class ProductConfigurationVariantSearchServiceImpl extends java.lang.Object implements ProductConfigurationVariantSearchService
Default implementaion of theProductConfigurationVariantSearchService.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringBASE_PRODUCT_ON_SOLR
-
Constructor Summary
Constructors Constructor Description ProductConfigurationVariantSearchServiceImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddBaseProductToQuery(java.lang.String productcode, SolrSearchQueryData searchQuery)protected voidappendTerm(SolrSearchQueryTermData term, java.lang.StringBuilder debugOutput)protected java.util.List<VariantSearchResult>compileSearchResult(ProductSearchPageData<SolrSearchQueryData,SearchResultValueData> solrSearchResult)protected java.util.List<SolrSearchQueryTermData>convertToQueryDataList(CsticModel csticModel, java.util.Map<java.lang.String,ClassificationSystemCPQAttributesContainer> hybrisNamesMap, java.util.Set<java.lang.String> solrIndexedProperties)protected VariantSearchResultconvertToVariantSearchResult(SearchResultValueData value)protected SolrSearchQueryTermDatacreateQueryDataTerm(CsticModel csticModel, CsticValueModel value, ClassificationSystemCPQAttributesContainer cpqAttributes)protected SolrSearchQueryDatacreateSearchQueryData(java.lang.String configId, java.lang.String productCode)protected ConfigurationClassificationCacheStrategygetConfigurationClassificationCacheStrategy()protected java.util.List<SolrSearchQueryTermData>getFilterTerms(java.lang.String configId, java.lang.String productCode)protected ProductConfigurationServicegetProductConfigurationService()protected ProductSearchService<SolrSearchQueryData,SearchResultValueData,ProductSearchPageData<SolrSearchQueryData,SearchResultValueData>>getProductSearchService()protected java.util.List<CsticModel>getRootCharacteristics(java.lang.String configId)Fetches the characteristics on root instance levelprotected SearchAttributeSelectionStrategygetSearchAttributeSelectionStrategy()protected ThreadContextServicegetThreadContextService()protected java.lang.StringgetValueName(CsticValueModel valueModel, CsticModel csticModel, ClassificationSystemCPQAttributesContainer cpqAttributes)java.util.List<VariantSearchResult>getVariantsForConfiguration(java.lang.String configId, java.lang.String productCode)Searches variants that are similar to the currently configured product identified by the given config id.java.util.List<VariantSearchResult>getVariantsForCustomQuery(SolrSearchQueryData searchQueryData)Searches variants that are similar to the currently configured product identified by the given config id.protected booleanisUsedForSearch(CsticModel csticModel, java.util.Set<java.lang.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 Detail
-
BASE_PRODUCT_ON_SOLR
protected static final java.lang.String BASE_PRODUCT_ON_SOLR
- See Also:
- Constant Field Values
-
-
Method Detail
-
getVariantsForConfiguration
public java.util.List<VariantSearchResult> getVariantsForConfiguration(java.lang.String configId, java.lang.String productCode)
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
protected void traceQuery(SolrSearchQueryData searchQueryData)
-
appendTerm
protected void appendTerm(SolrSearchQueryTermData term, java.lang.StringBuilder debugOutput)
-
getVariantsForCustomQuery
public java.util.List<VariantSearchResult> getVariantsForCustomQuery(SolrSearchQueryData searchQueryData)
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
protected ThreadContextService getThreadContextService()
-
getProductConfigurationService
protected ProductConfigurationService getProductConfigurationService()
-
setProductConfigurationService
public void setProductConfigurationService(ProductConfigurationService productConfigurationService)
- Parameters:
productConfigurationService-
-
setProductSearchService
public void setProductSearchService(ProductSearchService<SolrSearchQueryData,SearchResultValueData,ProductSearchPageData<SolrSearchQueryData,SearchResultValueData>> productSearchService)
- Parameters:
productSearchService- ProductSearchService
-
getProductSearchService
protected ProductSearchService<SolrSearchQueryData,SearchResultValueData,ProductSearchPageData<SolrSearchQueryData,SearchResultValueData>> getProductSearchService()
-
createSearchQueryData
protected SolrSearchQueryData createSearchQueryData(java.lang.String configId, java.lang.String productCode)
-
getRootCharacteristics
protected java.util.List<CsticModel> getRootCharacteristics(java.lang.String configId)
Fetches the characteristics on root instance level- Parameters:
configId- Must not be null- Returns:
- The characteristics on root level
-
isUsedForSearch
protected boolean isUsedForSearch(CsticValueModel csticValueModel)
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
protected boolean isUsedForSearch(CsticModel csticModel, java.util.Set<java.lang.String> solrIndexedProperties)
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 java.lang.String getValueName(CsticValueModel valueModel, CsticModel csticModel, ClassificationSystemCPQAttributesContainer cpqAttributes)
-
convertToQueryDataList
protected java.util.List<SolrSearchQueryTermData> convertToQueryDataList(CsticModel csticModel, java.util.Map<java.lang.String,ClassificationSystemCPQAttributesContainer> hybrisNamesMap, java.util.Set<java.lang.String> solrIndexedProperties)
-
getFilterTerms
protected java.util.List<SolrSearchQueryTermData> getFilterTerms(java.lang.String configId, java.lang.String productCode)
-
compileSearchResult
protected java.util.List<VariantSearchResult> compileSearchResult(ProductSearchPageData<SolrSearchQueryData,SearchResultValueData> solrSearchResult)
-
convertToVariantSearchResult
protected VariantSearchResult convertToVariantSearchResult(SearchResultValueData value)
- Parameters:
value-- Returns:
- Variant Search Result
-
setSearchAttributeSelectionStrategy
public void setSearchAttributeSelectionStrategy(SearchAttributeSelectionStrategy searchAttributeSelectionStrategy)
- Parameters:
searchAttributeSelectionStrategy-
-
getSearchAttributeSelectionStrategy
protected SearchAttributeSelectionStrategy getSearchAttributeSelectionStrategy()
-
setThreadContextService
public void setThreadContextService(ThreadContextService threadContextService)
- Parameters:
threadContextService-
-
addBaseProductToQuery
protected void addBaseProductToQuery(java.lang.String productcode, SolrSearchQueryData searchQuery)
-
getConfigurationClassificationCacheStrategy
protected ConfigurationClassificationCacheStrategy getConfigurationClassificationCacheStrategy()
-
setConfigurationClassificationCacheStrategy
public void setConfigurationClassificationCacheStrategy(ConfigurationClassificationCacheStrategy configurationClassificationCacheStrategy)
-
-