Class ConfigurationBaseFacadeImpl

java.lang.Object
de.hybris.platform.sap.productconfig.facades.impl.ConfigurationBaseFacadeImpl
Direct Known Subclasses:
ConfigurationCartIntegrationFacadeImpl, ConfigurationFacadeImpl

public class ConfigurationBaseFacadeImpl extends Object
Base functions for configuration facades, e.g. capabilities to create DTO representation of a configuration from the model representation.
Also see ConfigurationFacadeImpl and ConfigurationCartIntegrationFacadeImpl
  • Constructor Details

    • ConfigurationBaseFacadeImpl

      public ConfigurationBaseFacadeImpl()
  • Method Details

    • convert

      protected ConfigurationData convert(KBKeyData kbKey, ConfigModel configModel)
      Converts a configuration model to its DTO representation
      Parameters:
      kbKey -
      configModel -
      Returns:
      DTO representation of model
    • populateKbKey

      protected void populateKbKey(KBKeyData target, KBKey source)
    • 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 change ConfigurationData.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 translate ConfigModel into ConfigurationData. In this default implementation, SolvableConflictPopulator is applied.
      Parameters:
      configData -
      configModel -
    • getCsticGroupsFromModel

      protected List<UiGroupData> getCsticGroupsFromModel(ConfigModel configModel, List<UiGroupData> csticGroupsFlat)
      Reads characteristic groups from model representation of configuration
      Parameters:
      configModel - Configuration
      csticGroupsFlat - flat list of cstic groups in correct order
      Returns:
      List of UI group DTO representations
    • markFirstAndLastGroup

      protected void markFirstAndLastGroup(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(List<UiGroupData> groups)
      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 model
      nameMap - cache
      csticGroupsFlat - flat list of cstic groups in correct order
      level -
      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 group
      nameMap -
      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 instance
      nameMap -
      csticGroupsFlat - flat list of cstic groups in correct order
      level -
      Returns:
      UI group, as transformation result of the (sub) instance
    • getConfigurationModel

      protected ConfigModel getConfigurationModel(KBKeyData kbKey)
    • getListOfCsticData

      protected List<CsticData> getListOfCsticData(ConfigModel configModel, List<CsticModel> csticModelList, String prefix, Map<String,ClassificationSystemCPQAttributesContainer> nameMap)
    • isUiGroupConfigurable

      protected boolean isUiGroupConfigurable(List<UiGroupData> subGroups)
    • isOneSubGroupConfigurable

      protected boolean isOneSubGroupConfigurable(List<UiGroupData> subGroups)
    • isAnyVariantExisting

      protected boolean isAnyVariantExisting(String productCode)
    • logFacadeCallDone

      protected void logFacadeCallDone(String operation, long startTime)
    • logFacadeCallStart

      protected long logFacadeCallStart(String format, Object... args)
    • showVariants

      protected boolean showVariants(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
    • getGroupStatusChecker

      protected GroupStatusChecker getGroupStatusChecker()
    • setGroupStatusChecker

      public void setGroupStatusChecker(GroupStatusChecker groupStatusChecker)
      Parameters:
      groupStatusChecker - the groupStatusChecker to set
    • isOfferVariantSearch

      protected boolean isOfferVariantSearch()
    • setOfferVariantSearch

      public void setOfferVariantSearch(boolean offerVariantSearch)
      Parameters:
      offerVariantSearch - only if true 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
    • convertKbKey

      public KBKeyData convertKbKey(KBKey kbKey, String productCode)