Class ConfigurationBaseFacadeImpl
- java.lang.Object
-
- de.hybris.platform.sap.productconfig.facades.impl.ConfigurationBaseFacadeImpl
-
- Direct Known Subclasses:
ConfigurationCartIntegrationFacadeImpl,ConfigurationFacadeImpl,DefaultCartIntegrationFacade
public class ConfigurationBaseFacadeImpl extends java.lang.ObjectBase functions for configuration facades, e.g. capabilities to create DTO representation of a configuration from the model representation.
Also seeConfigurationFacadeImplandConfigurationCartIntegrationFacadeImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringINTERNAL_CODE_ERP_VARIANT_PRODUCT
-
Constructor Summary
Constructors Constructor Description ConfigurationBaseFacadeImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidapplyAdditionalPopulators(ConfigurationData configData, ConfigModel configModel)This method is used to apply populators which translateConfigModelintoConfigurationData.protected ConfigurationDataconvert(KBKeyData kbKey, ConfigModel configModel)Converts a configuration model to its DTO representationKBKeyDataconvertKbKey(KBKey kbKey, java.lang.String productCode)protected UiGroupDatacreateCsticGroup(CsticGroup csticModelGroup, InstanceModel instance, java.util.Map<java.lang.String,ClassificationSystemCPQAttributesContainer> nameMap)Creates a new UI group based on the characteristic group modelprotected UiGroupDatacreateUiGroup(InstanceModel instance, java.util.Map<java.lang.String,ClassificationSystemCPQAttributesContainer> nameMap, java.util.List<UiGroupData> csticGroupsFlat, int level)Creates an UI group from an instance model.protected voidfinalizeUiGroups(ConfigurationData configData, ConfigModel configModel)protected AnalyticsServicegetAnalyticsService()protected ConfigurationClassificationCacheStrategygetClassificationCacheStrategy()protected ConfigPricinggetConfigPricing()protected ConfigurationExpertModeFacadegetConfigurationExpertModeFacade()protected ConfigModelgetConfigurationModel(KBKeyData kbKey)protected ProductConfigurationServicegetConfigurationService()protected ConfigurationVariantUtilgetConfigurationVariantUtil()protected SolvableConflictPopulatorgetConflictPopulator()protected java.util.List<UiGroupData>getCsticGroupsFromModel(ConfigModel configModel, java.util.List<UiGroupData> csticGroupsFlat)Reads characteristic groups from model representation of configurationprotected CsticTypeMappergetCsticTypeMapper()protected java.util.List<UiGroupData>getGroupsFromInstance(InstanceModel instance, java.util.Map<java.lang.String,ClassificationSystemCPQAttributesContainer> nameMap, java.util.List<UiGroupData> csticGroupsFlat, int level)Reads groups per instanceprotected java.util.List<CsticData>getListOfCsticData(java.util.List<CsticModel> csticModelList, java.lang.String prefix, java.util.Map<java.lang.String,ClassificationSystemCPQAttributesContainer> nameMap)protected ConfigurationMessageMappergetMessagesMapper()protected PricingServicegetPricingService()protected ProductDaogetProductDao()protected ProductServicegetProductService()protected UniqueUIKeyGeneratorgetUiKeyGenerator()protected booleanisAnyVariantExisting(java.lang.String productCode)protected booleanisOfferVariantSearch()protected booleanisOneSubGroupConfigurable(java.util.List<UiGroupData> subGroups)protected booleanisShowLegend(java.util.List<UiGroupData> groups)protected booleanisUiGroupConfigurable(java.util.List<UiGroupData> subGroups)protected voidlogFacadeCallDone(java.lang.String operation, long startTime)protected longlogFacadeCallStart(java.lang.String format, java.lang.Object... args)protected voidmarkFirstAndLastGroup(java.util.List<UiGroupData> csticGroupsFlat)Marks the first and last cstic-group of the whole model.protected voidpopulateConfigDataFromModel(ConfigurationData configData, ConfigModel configModel)Populates the configuration DTO from our model.protected voidpopulateKbKey(KBKeyData target, KBKey source)voidsetAnalyticsService(AnalyticsService analyticsService)voidsetClassificationCacheStrategy(ConfigurationClassificationCacheStrategy configurationClassificationCacheStrategy)voidsetConfigPricing(ConfigPricing configPricing)voidsetConfigurationExpertModeFacade(ConfigurationExpertModeFacade configurationExpertModeFacade)voidsetConfigurationService(ProductConfigurationService configurationService)voidsetConfigurationVariantUtil(ConfigurationVariantUtil configurationVariantUtil)voidsetConflictPopulator(SolvableConflictPopulator conflictsPopulator)voidsetCsticTypeMapper(CsticTypeMapper csticTypeMapper)voidsetMessagesMapper(ConfigurationMessageMapper messagesMapper)voidsetOfferVariantSearch(boolean offerVariantSearch)voidsetPricingService(PricingService pricingService)voidsetProductDao(ProductDao productDao)voidsetProductService(ProductService productService)voidsetUiKeyGenerator(UniqueUIKeyGenerator uiKeyGenerator)protected booleanshowVariants(java.lang.String productCode)
-
-
-
Field Detail
-
INTERNAL_CODE_ERP_VARIANT_PRODUCT
protected static final java.lang.String INTERNAL_CODE_ERP_VARIANT_PRODUCT
- See Also:
- Constant Field Values
-
-
Method Detail
-
convert
protected ConfigurationData convert(KBKeyData kbKey, ConfigModel configModel)
Converts a configuration model to its DTO representation- Parameters:
kbKey-configModel-- Returns:
- DTO representation of model
-
populateConfigDataFromModel
protected void populateConfigDataFromModel(ConfigurationData configData, ConfigModel configModel)
Populates the configuration DTO from our model.
Consider to override in case e.g. the support for analytics is desired for multilevel products on root item level (on sub item level, analytics won't be displayed in any case). In this case changeConfigurationData.setAnalyticsEnabled(boolean).- Parameters:
configData-configModel-
-
finalizeUiGroups
protected void finalizeUiGroups(ConfigurationData configData, ConfigModel configModel)
-
applyAdditionalPopulators
protected void applyAdditionalPopulators(ConfigurationData configData, ConfigModel configModel)
This method is used to apply populators which translateConfigModelintoConfigurationData. In this default implementation,SolvableConflictPopulatoris applied.- Parameters:
configData-configModel-
-
getCsticGroupsFromModel
protected java.util.List<UiGroupData> getCsticGroupsFromModel(ConfigModel configModel, java.util.List<UiGroupData> csticGroupsFlat)
Reads characteristic groups from model representation of configuration- Parameters:
configModel- ConfigurationcsticGroupsFlat- flat list of cstic groups in correct order- Returns:
- List of UI group DTO representations
-
markFirstAndLastGroup
protected void markFirstAndLastGroup(java.util.List<UiGroupData> csticGroupsFlat)
Marks the first and last cstic-group of the whole model.
If only one group exists, mark the group as "only one".- Parameters:
csticGroupsFlat-
-
isShowLegend
protected boolean isShowLegend(java.util.List<UiGroupData> groups)
- Parameters:
groups- List of UI groups, DTO representation- Returns:
- true is at least one mandatory cstic exists
-
getGroupsFromInstance
protected java.util.List<UiGroupData> getGroupsFromInstance(InstanceModel instance, java.util.Map<java.lang.String,ClassificationSystemCPQAttributesContainer> nameMap, java.util.List<UiGroupData> csticGroupsFlat, int level)
Reads groups per instance- Parameters:
instance- Instance modelnameMap- cachecsticGroupsFlat- flat list of cstic groups in correct orderlevel-- Returns:
- List of UI groups
-
createCsticGroup
protected UiGroupData createCsticGroup(CsticGroup csticModelGroup, InstanceModel instance, java.util.Map<java.lang.String,ClassificationSystemCPQAttributesContainer> nameMap)
Creates a new UI group based on the characteristic group model- Parameters:
csticModelGroup- Model representation of characteristic groupnameMap-- Returns:
- UI group
-
createUiGroup
protected UiGroupData createUiGroup(InstanceModel instance, java.util.Map<java.lang.String,ClassificationSystemCPQAttributesContainer> nameMap, java.util.List<UiGroupData> csticGroupsFlat, int level)
Creates an UI group from an instance model.- Parameters:
instance- Model representation of an instancenameMap-csticGroupsFlat- flat list of cstic groups in correct orderlevel-- Returns:
- UI group, as transformation result of the (sub) instance
-
getConfigurationModel
protected ConfigModel getConfigurationModel(KBKeyData kbKey)
-
getListOfCsticData
protected java.util.List<CsticData> getListOfCsticData(java.util.List<CsticModel> csticModelList, java.lang.String prefix, java.util.Map<java.lang.String,ClassificationSystemCPQAttributesContainer> nameMap)
-
isUiGroupConfigurable
protected boolean isUiGroupConfigurable(java.util.List<UiGroupData> subGroups)
-
isOneSubGroupConfigurable
protected boolean isOneSubGroupConfigurable(java.util.List<UiGroupData> subGroups)
-
isAnyVariantExisting
protected boolean isAnyVariantExisting(java.lang.String productCode)
-
logFacadeCallDone
protected void logFacadeCallDone(java.lang.String operation, long startTime)
-
logFacadeCallStart
protected long logFacadeCallStart(java.lang.String format, java.lang.Object... args)
-
showVariants
protected boolean showVariants(java.lang.String productCode)
-
getConfigurationService
protected ProductConfigurationService getConfigurationService()
-
setConfigurationService
public void setConfigurationService(ProductConfigurationService configurationService)
- Parameters:
configurationService- the cpq config service, which is the service counter part for this facade
-
getConflictPopulator
protected SolvableConflictPopulator getConflictPopulator()
-
setConflictPopulator
public void setConflictPopulator(SolvableConflictPopulator conflictsPopulator)
- Parameters:
conflictsPopulator- populator for conflicts
-
getConfigPricing
protected ConfigPricing getConfigPricing()
-
setConfigPricing
public void setConfigPricing(ConfigPricing configPricing)
- Parameters:
configPricing- contains pricing data
-
getProductDao
protected ProductDao getProductDao()
-
setProductDao
public void setProductDao(ProductDao productDao)
- Parameters:
productDao- for accessing product master data
-
getCsticTypeMapper
protected CsticTypeMapper getCsticTypeMapper()
-
setCsticTypeMapper
public void setCsticTypeMapper(CsticTypeMapper csticTypeMapper)
- Parameters:
csticTypeMapper- used to map the cstic model(serice layer object) to cstsic data (facade layer object) and vice versa
-
getProductService
protected ProductService getProductService()
-
setProductService
public void setProductService(ProductService productService)
- Parameters:
productService- accessing product master data related services
-
isOfferVariantSearch
protected boolean isOfferVariantSearch()
-
setOfferVariantSearch
public void setOfferVariantSearch(boolean offerVariantSearch)
- Parameters:
offerVariantSearch- only iftruesimilar variants will be searched during interactive configuration on the UI
-
getConfigurationVariantUtil
protected ConfigurationVariantUtil getConfigurationVariantUtil()
-
setConfigurationVariantUtil
public void setConfigurationVariantUtil(ConfigurationVariantUtil configurationVariantUtil)
- Parameters:
configurationVariantUtil- for accessing variant related services
-
getUiKeyGenerator
protected UniqueUIKeyGenerator getUiKeyGenerator()
-
setUiKeyGenerator
public void setUiKeyGenerator(UniqueUIKeyGenerator uiKeyGenerator)
- Parameters:
uiKeyGenerator- for generating uniqueKeys
-
getPricingService
protected PricingService getPricingService()
-
setPricingService
public void setPricingService(PricingService pricingService)
- Parameters:
pricingService- the pricingService to set
-
getAnalyticsService
protected AnalyticsService getAnalyticsService()
-
setAnalyticsService
public void setAnalyticsService(AnalyticsService analyticsService)
- Parameters:
analyticsService- the analytics service to set
-
getMessagesMapper
protected ConfigurationMessageMapper getMessagesMapper()
-
setMessagesMapper
public void setMessagesMapper(ConfigurationMessageMapper messagesMapper)
- Parameters:
messagesMapper- maps the messages from model to data for the configuration, characteristics and characteristics values
-
getClassificationCacheStrategy
protected ConfigurationClassificationCacheStrategy getClassificationCacheStrategy()
-
setClassificationCacheStrategy
public void setClassificationCacheStrategy(ConfigurationClassificationCacheStrategy configurationClassificationCacheStrategy)
-
getConfigurationExpertModeFacade
protected ConfigurationExpertModeFacade getConfigurationExpertModeFacade()
-
setConfigurationExpertModeFacade
public void setConfigurationExpertModeFacade(ConfigurationExpertModeFacade configurationExpertModeFacade)
- Parameters:
configurationExpertModeFacade- expert mode facade
-
-