Class AbstractProductConfigController

    • Constructor Detail

      • AbstractProductConfigController

        public AbstractProductConfigController()
    • Method Detail

      • initBinderConfigData

        @InitBinder("config")
        protected void initBinderConfigData​(org.springframework.web.bind.WebDataBinder binder)
      • getBindingResultForConfigAndSaveUiStatus

        protected org.springframework.validation.BindingResult getBindingResultForConfigAndSaveUiStatus​(ConfigurationData configData,
                                                                                                        UiStatus uiStatus)
      • getBindingResultForConfiguration

        protected org.springframework.validation.BindingResult getBindingResultForConfiguration​(ConfigurationData configData,
                                                                                                UiStatus uiStatus)
      • logConfigurationCheckDeviation

        protected void logConfigurationCheckDeviation​(org.springframework.validation.BindingResult errors,
                                                      ConfigurationData configData)
        The ConflictChecker checks only visible characteristics for consistency and completeness as only those characteristics might be changed by the user.

        If the model is modeled in a way that a conflict appears for an invisible characteristic or an invisible characteristic is mandatory but not filled this would not be identified by those checks but the overall configuration status is not consistent/complete. This leads to a situation where the configuration cannot be sent to the backend system.

        In this case the modeler needs to improve the model to avoid such situations. The user cannot do anything about this so this is only logged as an error as a hint for the modeler.
      • setCartEntryLinks

        protected void setCartEntryLinks​(ConfigurationData configData)
      • getCartItemByProductCode

        protected java.lang.String getCartItemByProductCode​(java.lang.String productCode)
      • getCartItemByConfigId

        protected java.lang.String getCartItemByConfigId​(java.lang.String configId)
      • isConfigLinkedToCart

        protected boolean isConfigLinkedToCart​(java.lang.String configId)
      • getUiStatusForConfigId

        protected UiStatus getUiStatusForConfigId​(java.lang.String configId)
      • logLoadConfig

        protected void logLoadConfig​(ConfigurationData configData,
                                     java.lang.String action)
      • populateProductData

        protected ProductData populateProductData​(java.lang.String productCode,
                                                  org.springframework.ui.Model model,
                                                  javax.servlet.http.HttpServletRequest request)
      • getPageId

        protected java.lang.String getPageId()
      • getPageType

        protected java.lang.String getPageType()
      • populateProductDetailForDisplay

        protected ProductData populateProductDetailForDisplay​(java.lang.String productCode,
                                                              org.springframework.ui.Model model)
      • getProductDataForProductCode

        protected ProductData getProductDataForProductCode​(java.lang.String productCode)
      • populateProductData

        protected void populateProductData​(ProductData productData,
                                           org.springframework.ui.Model model)
      • getGalleryImages

        protected java.util.List<java.util.Map<java.lang.String,​ImageData>> getGalleryImages​(ProductData productData)
      • cleanUpSessionAttribute

        protected void cleanUpSessionAttribute​(java.lang.String productCode)
      • removeNullCsticsFromGroup

        protected void removeNullCsticsFromGroup​(java.util.List<CsticData> dirtyList)
      • removeNullCstics

        protected void removeNullCstics​(java.util.List<UiGroupData> groups)
      • handleRequestContext

        protected void handleRequestContext​(javax.servlet.http.HttpServletRequest request,
                                            java.lang.String productCode)
      • logModelmetaData

        protected void logModelmetaData​(ConfigurationData configData)
      • logRequestMetaData

        protected void logRequestMetaData​(ConfigurationData configData,
                                          javax.servlet.http.HttpServletRequest request)
      • updatePageTitle

        protected void updatePageTitle​(java.lang.String productCode,
                                       org.springframework.ui.Model model)
      • getProductConfigurationValidator

        protected org.springframework.validation.Validator getProductConfigurationValidator()
      • getProductConfigurationConflictChecker

        protected ConflictChecker getProductConfigurationConflictChecker()
      • setConfigFacade

        public void setConfigFacade​(ConfigurationFacade configFacade)
        Parameters:
        configFacade - CPQ facade
      • setConfigCartFacade

        public void setConfigCartFacade​(ConfigurationCartIntegrationFacade configCartFacade)
        Parameters:
        configCartFacade - CPQ cart integration facade
      • setSessionAccessFacade

        public void setSessionAccessFacade​(SessionAccessFacade sessionAccessFacade)
        Parameters:
        sessionAccessFacade - CPQ session cache access
      • setProductConfigurationValidator

        public void setProductConfigurationValidator​(org.springframework.validation.Validator productConfigurationValidator)
        Parameters:
        productConfigurationValidator - CPQ validator
      • setProductConfigurationConflictChecker

        public void setProductConfigurationConflictChecker​(ConflictChecker productConfigurationConflictChecker)
        Parameters:
        productConfigurationConflictChecker - status and UI error handling&checking
      • setProductFacade

        public void setProductFacade​(ProductFacade productFacade)
        Parameters:
        productFacade - for accessing product master data
      • setProductService

        public void setProductService​(ProductService productService)
        Parameters:
        productService - for accessing product related service
      • setBreadcrumbBuilder

        public void setBreadcrumbBuilder​(ProductConfigureBreadcrumbBuilder productConfigurationBreadcrumbBuilder)
        Parameters:
        productConfigurationBreadcrumbBuilder - for building UI breadcrumbs
      • setUiRecorder

        public void setUiRecorder​(UiTrackingRecorder uiRecorder)
        Parameters:
        uiRecorder - triggering CPQ tracking
      • isConfigRemoved

        protected boolean isConfigRemoved​(java.lang.String productCode)
      • getConfigurationErrorHandler

        public ConfigErrorHandler getConfigurationErrorHandler()
        Returns:
        configuration error handler
      • setConfigurationErrorHandler

        public void setConfigurationErrorHandler​(ConfigErrorHandler configurationErrorHandler)
        Parameters:
        configurationErrorHandler - for handling configuration errors
      • setUiStateHandler

        public void setUiStateHandler​(UiStateHandler uiStateHandler)
        Parameters:
        uiStateHandler - UI state handler
      • getUiStatusSync

        protected UiStatusSync getUiStatusSync()
      • setUiStatusSync

        public void setUiStatusSync​(UiStatusSync uiStatusSync)
        Parameters:
        uiStatusSync - UI status sync
      • getCartFacade

        protected CartFacade getCartFacade()
      • setCartFacade

        public void setCartFacade​(CartFacade cartFacade)