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.Object
Base functions for configuration facades, e.g. capabilities to create DTO representation of a configuration from the model representation.
Also seeConfigurationFacadeImpl
andConfigurationCartIntegrationFacadeImpl
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
INTERNAL_CODE_ERP_VARIANT_PRODUCT
-
Constructor Summary
Constructors Constructor Description ConfigurationBaseFacadeImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
applyAdditionalPopulators(ConfigurationData configData, ConfigModel configModel)
This method is used to apply populators which translateConfigModel
intoConfigurationData
.protected ConfigurationData
convert(KBKeyData kbKey, ConfigModel configModel)
Converts a configuration model to its DTO representationKBKeyData
convertKbKey(KBKey kbKey, java.lang.String productCode)
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 modelprotected 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.protected void
finalizeUiGroups(ConfigurationData configData, ConfigModel configModel)
protected AnalyticsService
getAnalyticsService()
protected ConfigurationClassificationCacheStrategy
getClassificationCacheStrategy()
protected ConfigPricing
getConfigPricing()
protected ConfigurationExpertModeFacade
getConfigurationExpertModeFacade()
protected ConfigModel
getConfigurationModel(KBKeyData kbKey)
protected ProductConfigurationService
getConfigurationService()
protected ConfigurationVariantUtil
getConfigurationVariantUtil()
protected SolvableConflictPopulator
getConflictPopulator()
protected java.util.List<UiGroupData>
getCsticGroupsFromModel(ConfigModel configModel, java.util.List<UiGroupData> csticGroupsFlat)
Reads characteristic groups from model representation of configurationprotected CsticTypeMapper
getCsticTypeMapper()
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 ConfigurationMessageMapper
getMessagesMapper()
protected PricingService
getPricingService()
protected ProductDao
getProductDao()
protected ProductService
getProductService()
protected UniqueUIKeyGenerator
getUiKeyGenerator()
protected boolean
isAnyVariantExisting(java.lang.String productCode)
protected boolean
isOfferVariantSearch()
protected boolean
isOneSubGroupConfigurable(java.util.List<UiGroupData> subGroups)
protected boolean
isShowLegend(java.util.List<UiGroupData> groups)
protected boolean
isUiGroupConfigurable(java.util.List<UiGroupData> subGroups)
protected void
logFacadeCallDone(java.lang.String operation, long startTime)
protected long
logFacadeCallStart(java.lang.String format, java.lang.Object... args)
protected void
markFirstAndLastGroup(java.util.List<UiGroupData> csticGroupsFlat)
Marks the first and last cstic-group of the whole model.protected void
populateConfigDataFromModel(ConfigurationData configData, ConfigModel configModel)
Populates the configuration DTO from our model.protected void
populateKbKey(KBKeyData target, KBKey source)
void
setAnalyticsService(AnalyticsService analyticsService)
void
setClassificationCacheStrategy(ConfigurationClassificationCacheStrategy configurationClassificationCacheStrategy)
void
setConfigPricing(ConfigPricing configPricing)
void
setConfigurationExpertModeFacade(ConfigurationExpertModeFacade configurationExpertModeFacade)
void
setConfigurationService(ProductConfigurationService configurationService)
void
setConfigurationVariantUtil(ConfigurationVariantUtil configurationVariantUtil)
void
setConflictPopulator(SolvableConflictPopulator conflictsPopulator)
void
setCsticTypeMapper(CsticTypeMapper csticTypeMapper)
void
setMessagesMapper(ConfigurationMessageMapper messagesMapper)
void
setOfferVariantSearch(boolean offerVariantSearch)
void
setPricingService(PricingService pricingService)
void
setProductDao(ProductDao productDao)
void
setProductService(ProductService productService)
void
setUiKeyGenerator(UniqueUIKeyGenerator uiKeyGenerator)
protected boolean
showVariants(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 translateConfigModel
intoConfigurationData
. In this default implementation,SolvableConflictPopulator
is 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 iftrue
similar 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
-
-