Class ConfigurationBaseFacadeImpl

    • Field Detail

      • INTERNAL_CODE_ERP_VARIANT_PRODUCT

        protected static final java.lang.String INTERNAL_CODE_ERP_VARIANT_PRODUCT
        See Also:
        Constant Field Values
    • Constructor Detail

      • ConfigurationBaseFacadeImpl

        public ConfigurationBaseFacadeImpl()
    • 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
      • 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 -
      • getCsticGroupsFromModel

        protected java.util.List<UiGroupData> getCsticGroupsFromModel​(ConfigModel configModel,
                                                                      java.util.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​(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 model
        nameMap - cache
        csticGroupsFlat - flat list of cstic groups in correct order
        level -
        Returns:
        List of UI groups
      • 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 instance
        nameMap -
        csticGroupsFlat - flat list of cstic groups in correct order
        level -
        Returns:
        UI group, as transformation result of the (sub) instance
      • 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)
      • setConfigurationService

        public void setConfigurationService​(ProductConfigurationService configurationService)
        Parameters:
        configurationService - the cpq config service, which is the service counter part for this facade
      • setConflictPopulator

        public void setConflictPopulator​(SolvableConflictPopulator conflictsPopulator)
        Parameters:
        conflictsPopulator - populator for conflicts
      • 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
      • 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
      • 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 if true similar variants will be searched during interactive configuration on the UI
      • setConfigurationVariantUtil

        public void setConfigurationVariantUtil​(ConfigurationVariantUtil configurationVariantUtil)
        Parameters:
        configurationVariantUtil - for accessing variant related services
      • setUiKeyGenerator

        public void setUiKeyGenerator​(UniqueUIKeyGenerator uiKeyGenerator)
        Parameters:
        uiKeyGenerator - for generating uniqueKeys
      • setPricingService

        public void setPricingService​(PricingService pricingService)
        Parameters:
        pricingService - the pricingService to set
      • setAnalyticsService

        public void setAnalyticsService​(AnalyticsService analyticsService)
        Parameters:
        analyticsService - the analytics service to set
      • setMessagesMapper

        public void setMessagesMapper​(ConfigurationMessageMapper messagesMapper)
        Parameters:
        messagesMapper - maps the messages from model to data for the configuration, characteristics and characteristics values
      • setConfigurationExpertModeFacade

        public void setConfigurationExpertModeFacade​(ConfigurationExpertModeFacade configurationExpertModeFacade)
        Parameters:
        configurationExpertModeFacade - expert mode facade
      • convertKbKey

        public KBKeyData convertKbKey​(KBKey kbKey,
                                      java.lang.String productCode)