public abstract class AbstractProductConfigController
extends AbstractPageController
| Modifier and Type | Field and Description |
|---|---|
static String |
ADDON_PREFIX |
static String |
AJAX_SUFFIX |
static String |
CONFIG_ERROR_ROOT |
static String |
CONFIG_PAGE_ROOT |
static String |
CONFIGURATOR_TYPE |
static String |
LOG_CONFIG_DATA |
static String |
LOG_URL |
static String |
OVERVIEW_PAGE_ROOT |
static String |
PRODUCT_ATTRIBUTE |
protected UiStateHandler |
uiStateHandler |
protected UiStatusSync |
uiStatusSync |
| Constructor and Description |
|---|
AbstractProductConfigController() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
cleanUpSessionAttribute(String baseProduct) |
protected KBKeyData |
createKBKeyForProduct(ProductData productData) |
protected BindingResult |
getBindingResultForConfig(ConfigurationData configData,
UiStatus uiStatus) |
protected ProductConfigureBreadcrumbBuilder |
getBreadcrumbBuilder() |
protected Integer |
getCartEntryNumber(KBKeyData kbKey) |
protected ConfigurationCartIntegrationFacade |
getConfigCartFacade() |
protected ConfigurationData |
getConfigData(KBKeyData kbKey,
String configId) |
protected ConfigurationFacade |
getConfigFacade() |
protected List<Map<String,ImageData>> |
getGalleryImages(ProductData productData) |
protected OrderEntryData |
getOrderEntry(int entryNumber,
CartData cart) |
protected AbstractPageModel |
getPageForProduct() |
protected ConflictChecker |
getProductConfigurationConflictChecker() |
protected Validator |
getProductConfigurationValidator() |
protected ProductData |
getProductDataForProductCode(String productCode) |
protected ProductFacade |
getProductFacade() |
protected ProductService |
getProductService() |
protected SessionAccessFacade |
getSessionAccessFacade() |
protected UiTrackingRecorder |
getUiRecorder() |
protected void |
handleRequestContext(HttpServletRequest request,
String productCode) |
protected void |
ifProductVariant(HttpServletRequest request,
Model model,
ProductData productData,
KBKeyData kbKey) |
protected void |
initBinder(WebDataBinder binder) |
protected boolean |
isProductVariant(ProductData productData) |
protected ConfigurationData |
loadNewConfiguration(KBKeyData kbKey,
ProductData productData,
String cartItemHandle)
Creates a new configuration session.
|
protected void |
logConfigurationCheckDeviation(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. |
protected void |
logModelmetaData(ConfigurationData configData) |
protected void |
logRequestMetaData(ConfigurationData configData,
HttpServletRequest request) |
protected void |
populateProductData(ProductData productData,
Model model) |
protected ProductData |
populateProductData(String productCode,
Model model,
HttpServletRequest request) |
protected ProductData |
populateProductDetailForDisplay(String productCode,
Model model) |
protected ConfigurationData |
reloadConfiguration(KBKeyData kbKey,
String configId,
UiStatus uiStatus) |
protected void |
removeNullCstics(List<UiGroupData> groups) |
protected void |
removeNullCsticsFromGroup(List<CsticData> dirtyList) |
void |
setBreadcrumbBuilder(ProductConfigureBreadcrumbBuilder productConfigurationBreadcrumbBuilder) |
protected void |
setCartItemPk(ConfigurationData configData) |
void |
setConfigCartFacade(ConfigurationCartIntegrationFacade configCartFacade) |
void |
setConfigFacade(ConfigurationFacade configFacade) |
void |
setProductConfigurationConflictChecker(ConflictChecker productConfigurationConflictChecker) |
void |
setProductConfigurationValidator(Validator productConfigurationValidator) |
void |
setProductFacade(ProductFacade productFacade) |
void |
setProductService(ProductService productService) |
void |
setSessionAccessFacade(SessionAccessFacade sessionAccessFacade) |
void |
setUiRecorder(UiTrackingRecorder uiRecorder) |
protected void |
updatePageTitle(String productCode,
Model model) |
public static final String LOG_URL
public static final String ADDON_PREFIX
public static final String PRODUCT_ATTRIBUTE
public static final String LOG_CONFIG_DATA
public static final String CONFIGURATOR_TYPE
public static final String CONFIG_PAGE_ROOT
public static final String CONFIG_ERROR_ROOT
public static final String OVERVIEW_PAGE_ROOT
public static final String AJAX_SUFFIX
protected final UiStatusSync uiStatusSync
protected final UiStateHandler uiStateHandler
protected void initBinder(WebDataBinder binder)
protected BindingResult getBindingResultForConfig(ConfigurationData configData, UiStatus uiStatus)
protected void logConfigurationCheckDeviation(BindingResult errors,
ConfigurationData configData)
protected void setCartItemPk(ConfigurationData configData)
protected ConfigurationData loadNewConfiguration(KBKeyData kbKey, ProductData productData, String cartItemHandle)
protected ConfigurationData reloadConfiguration(KBKeyData kbKey, String configId, UiStatus uiStatus)
protected ConfigurationData getConfigData(KBKeyData kbKey, String configId)
protected ProductData populateProductData(String productCode, Model model, HttpServletRequest request) throws CMSItemNotFoundException
CMSItemNotFoundExceptionprotected ProductData populateProductDetailForDisplay(String productCode, Model model) throws CMSItemNotFoundException
CMSItemNotFoundExceptionprotected ProductData getProductDataForProductCode(String productCode)
protected void populateProductData(ProductData productData, Model model)
protected List<Map<String,ImageData>> getGalleryImages(ProductData productData)
protected boolean isProductVariant(ProductData productData)
protected void ifProductVariant(HttpServletRequest request,
Model model,
ProductData productData,
KBKeyData kbKey)
throws CMSItemNotFoundException
CMSItemNotFoundExceptionprotected void cleanUpSessionAttribute(String baseProduct)
protected AbstractPageModel getPageForProduct() throws CMSItemNotFoundException
CMSItemNotFoundExceptionprotected KBKeyData createKBKeyForProduct(ProductData productData)
protected void removeNullCstics(List<UiGroupData> groups)
protected void handleRequestContext(HttpServletRequest request,
String productCode)
protected void logModelmetaData(ConfigurationData configData)
protected void logRequestMetaData(ConfigurationData configData, HttpServletRequest request)
protected void updatePageTitle(String productCode, Model model)
protected ConfigurationFacade getConfigFacade()
protected ConfigurationCartIntegrationFacade getConfigCartFacade()
protected SessionAccessFacade getSessionAccessFacade()
protected Validator getProductConfigurationValidator()
protected ConflictChecker getProductConfigurationConflictChecker()
protected ProductFacade getProductFacade()
protected ProductService getProductService()
protected OrderEntryData getOrderEntry(int entryNumber, CartData cart) throws CommerceCartModificationException
CommerceCartModificationExceptionprotected ProductConfigureBreadcrumbBuilder getBreadcrumbBuilder()
public void setConfigFacade(ConfigurationFacade configFacade)
configFacade - CPQ facadepublic void setConfigCartFacade(ConfigurationCartIntegrationFacade configCartFacade)
configCartFacade - CPQ cart integration facadepublic void setSessionAccessFacade(SessionAccessFacade sessionAccessFacade)
sessionAccessFacade - CPQ session cache accesspublic void setProductConfigurationValidator(Validator productConfigurationValidator)
productConfigurationValidator - CPQ validatorpublic void setProductConfigurationConflictChecker(ConflictChecker productConfigurationConflictChecker)
productConfigurationConflictChecker - status and UI error handling&checkingpublic void setProductFacade(ProductFacade productFacade)
productFacade - for accessing product master datapublic void setProductService(ProductService productService)
productService - for accessing product related servicepublic void setBreadcrumbBuilder(ProductConfigureBreadcrumbBuilder productConfigurationBreadcrumbBuilder)
productConfigurationBreadcrumbBuilder - for building UI breadcrumbsprotected UiTrackingRecorder getUiRecorder()
public void setUiRecorder(UiTrackingRecorder uiRecorder)
uiRecorder - triggering CPQ trackingCopyright © 2017 SAP SE. All Rights Reserved.