Class ConfigurationBaseFacadeImpl
java.lang.Object
de.hybris.platform.sap.productconfig.facades.impl.ConfigurationBaseFacadeImpl
- Direct Known Subclasses:
ConfigurationCartIntegrationFacadeImpl,ConfigurationFacadeImpl
Base functions for configuration facades, e.g. capabilities to create DTO representation of a configuration from the
model representation.
Also see
Also see
ConfigurationFacadeImpl and ConfigurationCartIntegrationFacadeImpl-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected 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 representationconvertKbKey(KBKey kbKey, String productCode) protected UiGroupDatacreateCsticGroup(ConfigModel configModel, CsticGroup csticModelGroup, InstanceModel instance, Map<String, ClassificationSystemCPQAttributesContainer> nameMap) Creates a new UI group based on the characteristic group modelprotected UiGroupDatacreateUiGroup(ConfigModel configModel, InstanceModel instance, Map<String, ClassificationSystemCPQAttributesContainer> nameMap, List<UiGroupData> csticGroupsFlat, int level) Creates an UI group from an instance model.protected voidfinalizeUiGroups(ConfigurationData configData, ConfigModel configModel) protected AnalyticsServiceprotected ConfigurationClassificationCacheStrategyprotected ConfigPricingprotected ConfigurationExpertModeFacadeprotected ConfigModelgetConfigurationModel(KBKeyData kbKey) protected ProductConfigurationServiceprotected ConfigurationVariantUtilprotected SolvableConflictPopulatorprotected List<UiGroupData>getCsticGroupsFromModel(ConfigModel configModel, List<UiGroupData> csticGroupsFlat) Reads characteristic groups from model representation of configurationprotected CsticTypeMapperprotected List<UiGroupData>getGroupsFromInstance(ConfigModel configModel, InstanceModel instance, Map<String, ClassificationSystemCPQAttributesContainer> nameMap, List<UiGroupData> csticGroupsFlat, int level) Reads groups per instanceprotected GroupStatusCheckergetListOfCsticData(ConfigModel configModel, List<CsticModel> csticModelList, String prefix, Map<String, ClassificationSystemCPQAttributesContainer> nameMap) protected ConfigurationMessageMapperprotected PricingServiceprotected ProductDaoprotected ProductServiceprotected UniqueUIKeyGeneratorprotected booleanisAnyVariantExisting(String productCode) protected booleanprotected booleanisOneSubGroupConfigurable(List<UiGroupData> subGroups) protected booleanisShowLegend(List<UiGroupData> groups) protected booleanisUiGroupConfigurable(List<UiGroupData> subGroups) protected voidlogFacadeCallDone(String operation, long startTime) protected longlogFacadeCallStart(String format, Object... args) protected voidmarkFirstAndLastGroup(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) voidsetGroupStatusChecker(GroupStatusChecker groupStatusChecker) voidsetMessagesMapper(ConfigurationMessageMapper messagesMapper) voidsetOfferVariantSearch(boolean offerVariantSearch) voidsetPricingService(PricingService pricingService) voidsetProductDao(ProductDao productDao) voidsetProductService(ProductService productService) voidsetUiKeyGenerator(UniqueUIKeyGenerator uiKeyGenerator) protected booleanshowVariants(String productCode)
-
Constructor Details
-
ConfigurationBaseFacadeImpl
public ConfigurationBaseFacadeImpl()
-
-
Method Details
-
convert
Converts a configuration model to its DTO representation- Parameters:
kbKey-configModel-- Returns:
- DTO representation of model
-
populateKbKey
-
populateConfigDataFromModel
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
-
applyAdditionalPopulators
This method is used to apply populators which translateConfigModelintoConfigurationData. In this default implementation,SolvableConflictPopulatoris applied.- Parameters:
configData-configModel-
-
getCsticGroupsFromModel
protected List<UiGroupData> getCsticGroupsFromModel(ConfigModel configModel, 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
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
- Parameters:
groups- List of UI groups, DTO representation- Returns:
- true is at least one mandatory cstic exists
-
getGroupsFromInstance
protected List<UiGroupData> getGroupsFromInstance(ConfigModel configModel, InstanceModel instance, Map<String, ClassificationSystemCPQAttributesContainer> nameMap, 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(ConfigModel configModel, CsticGroup csticModelGroup, InstanceModel instance, Map<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(ConfigModel configModel, InstanceModel instance, Map<String, ClassificationSystemCPQAttributesContainer> nameMap, 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
-
getListOfCsticData
protected List<CsticData> getListOfCsticData(ConfigModel configModel, List<CsticModel> csticModelList, String prefix, Map<String, ClassificationSystemCPQAttributesContainer> nameMap) -
isUiGroupConfigurable
-
isOneSubGroupConfigurable
-
isAnyVariantExisting
-
logFacadeCallDone
-
logFacadeCallStart
-
showVariants
-
getConfigurationService
-
setConfigurationService
- Parameters:
configurationService- the cpq config service, which is the service counter part for this facade
-
getConflictPopulator
-
setConflictPopulator
- Parameters:
conflictsPopulator- populator for conflicts
-
getConfigPricing
-
setConfigPricing
- Parameters:
configPricing- contains pricing data
-
getProductDao
-
setProductDao
- Parameters:
productDao- for accessing product master data
-
getCsticTypeMapper
-
setCsticTypeMapper
- Parameters:
csticTypeMapper- used to map the cstic model(serice layer object) to cstsic data (facade layer object) and vice versa
-
getProductService
-
setProductService
- Parameters:
productService- accessing product master data related services
-
getGroupStatusChecker
-
setGroupStatusChecker
- Parameters:
groupStatusChecker- the groupStatusChecker to set
-
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
-
setConfigurationVariantUtil
- Parameters:
configurationVariantUtil- for accessing variant related services
-
getUiKeyGenerator
-
setUiKeyGenerator
- Parameters:
uiKeyGenerator- for generating uniqueKeys
-
getPricingService
-
setPricingService
- Parameters:
pricingService- the pricingService to set
-
getAnalyticsService
-
setAnalyticsService
- Parameters:
analyticsService- the analytics service to set
-
getMessagesMapper
-
setMessagesMapper
- Parameters:
messagesMapper- maps the messages from model to data for the configuration, characteristics and characteristics values
-
getClassificationCacheStrategy
-
setClassificationCacheStrategy
public void setClassificationCacheStrategy(ConfigurationClassificationCacheStrategy configurationClassificationCacheStrategy) -
getConfigurationExpertModeFacade
-
setConfigurationExpertModeFacade
public void setConfigurationExpertModeFacade(ConfigurationExpertModeFacade configurationExpertModeFacade) - Parameters:
configurationExpertModeFacade- expert mode facade
-
convertKbKey
-