Class ConfigurationCartIntegrationFacadeImpl
java.lang.Object
de.hybris.platform.sap.productconfig.facades.impl.ConfigurationBaseFacadeImpl
de.hybris.platform.sap.productconfig.facades.impl.ConfigurationCartIntegrationFacadeImpl
- All Implemented Interfaces:
ConfigurationCartIntegrationFacade
public class ConfigurationCartIntegrationFacadeImpl
extends ConfigurationBaseFacadeImpl
implements ConfigurationCartIntegrationFacade
Default implementation of
ConfigurationCartIntegrationFacade-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddConfigurationToCart(ConfigurationData configContent) Adds the current configuration to shopping cart.addProductConfigurationToCart(String productCode, Long quantity, String configId) Adds the current configuration to shopping cart.configureCartItem(String cartItemKey) Returns the runtime configuration for a configurable cart item.configureCartItemOnExistingDraft(String cartEntryKey) Returns the runtime configuration for a configurable cart item, assuming that a configuration draft already exists! May returnnullin case the runtime configuration is not available (anymore).protected PKconvertStringToPK(String pkString) Converts a string to the primary key wrapping itprotected AbstractOrderEntryModelcreateCartItem(ProductModel product, ConfigurationData configData, CommerceCartParameter commerceCartParameter, CartModel cart) draftConfig(String cartItemHandle, KBKeyData kbKey, String configId, boolean copyRequired, String extConfig) Creates a draft from the given external configuration for the associated cart itemprotected voidfillCommerceCartParameterForAddToCart(CommerceCartParameter parameter, CartModel cart, ProductModel product, long l, UnitModel unit, boolean forceNewEntry, String configId) protected voidfillCommerceCartParameterForUpdate(CommerceCartParameter parameter, CartModel sessionCart, String configId, Long entryNumber) protected AbstractOrderEntryModelfindCartItemByPK(PK cartItemPk) protected CartServiceprotected CommerceCartServiceprotected ConfigConsistenceCheckerprotected ConfigurationCopyStrategyprotected ConfigurationLifecycleStrategyprotected ModelServiceprotected AbstractOrderEntryModelgetOrCreateCartItem(ProductModel product, ConfigurationData configData) Creates a new entry in the session cart or returns the entry belonging to the current configuration and updates the price and its external configuration.protected AbstractOrderEntryModelgetOrderEntry(String cartItemKey) protected StringgetPKStringForConfigId(String configId) protected ProductConfigurationPricingStrategyprotected ConfigurationProductLinkStrategyprotected SessionAccessFacadebooleanisItemInCartByKey(String key) Checks whether item is in cartprotected voidlinkEntryWithConfigInfos(AbstractOrderEntryModel entry, List<AbstractOrderEntryProductInfoModel> configInlineModels) voidremoveConfigurationLink(String productCode) Clears the link from a product to a runtime configurationprotected voidremoveLinkToProduct(String code) voidresetConfiguration(String configId) Resets the configuration to the initial stateprotected ConfigModelrestoreConfigModel(String cartEntryKey) restoreConfiguration(KBKeyData kbKey, String cartEntryKey) Restores a configuration from a cart entry specified by its key.voidsetAbstractOrderEntryLinkStrategy(ConfigurationAbstractOrderEntryLinkStrategy configurationAbstractOrderEntryLinkStrategy) voidsetCartModificationConverter(Converter<CommerceCartModification, CartModificationData> cartModificationConverter) voidsetCartService(CartService cartService) voidsetCommerceCartService(CommerceCartService commerceCartService) voidsetConfigConsistenceChecker(ConfigConsistenceChecker configConsistenceChecker) voidsetConfigCopyStrategy(ConfigurationCopyStrategy configCopyStrategy) voidsetConfigInfoPopulator(ConfigurationOrderEntryProductInfoModelPopulator configInfoPopulator) voidsetConfigLifecycleStrategy(ConfigurationLifecycleStrategy configLifecycleStrategy) voidsetConfigurationAbstractOrderIntegrationStrategy(ConfigurationAbstractOrderIntegrationStrategy configurationAbstractOrderIntegrationStrategy) voidsetConfigurationPricingOrderIntegrationService(ProductConfigurationOrderIntegrationService configurationPricingOrderIntegrationService) voidsetModelService(ModelService modelService) voidsetProductConfigurationPricingStrategy(ProductConfigurationPricingStrategy productConfigurationPricingStrategy) voidsetProductLinkStrategy(ConfigurationProductLinkStrategy configurationProductLinkStrategy) voidsetSessionAccessFacade(SessionAccessFacade sessionAccessFacade) protected voidupdateCartItem(ProductModel product, String configId, AbstractOrderEntryModel cartItem, CommerceCartParameter commerceCartParameter, CartModel cart) voidupdateKBKeyForVariants(ConfigurationData draftConfig) protected voidupdateLinkToCartItem(String configId, String cartItemKey) updateProductConfigurationInCart(String productCode, String configId) Updates the current configuration in shopping cart.Methods inherited from class de.hybris.platform.sap.productconfig.facades.impl.ConfigurationBaseFacadeImpl
applyAdditionalPopulators, convert, convertKbKey, createCsticGroup, createUiGroup, finalizeUiGroups, getAnalyticsService, getClassificationCacheStrategy, getConfigPricing, getConfigurationExpertModeFacade, getConfigurationModel, getConfigurationService, getConfigurationVariantUtil, getConflictPopulator, getCsticGroupsFromModel, getCsticTypeMapper, getGroupsFromInstance, getGroupStatusChecker, getListOfCsticData, getMessagesMapper, getPricingService, getProductDao, getProductService, getUiKeyGenerator, isAnyVariantExisting, isOfferVariantSearch, isOneSubGroupConfigurable, isShowLegend, isUiGroupConfigurable, logFacadeCallDone, logFacadeCallStart, markFirstAndLastGroup, populateConfigDataFromModel, populateKbKey, setAnalyticsService, setClassificationCacheStrategy, setConfigPricing, setConfigurationExpertModeFacade, setConfigurationService, setConfigurationVariantUtil, setConflictPopulator, setCsticTypeMapper, setGroupStatusChecker, setMessagesMapper, setOfferVariantSearch, setPricingService, setProductDao, setProductService, setUiKeyGenerator, showVariants
-
Constructor Details
-
ConfigurationCartIntegrationFacadeImpl
public ConfigurationCartIntegrationFacadeImpl()
-
-
Method Details
-
addConfigurationToCart
public String addConfigurationToCart(ConfigurationData configContent) throws CommerceCartModificationException Description copied from interface:ConfigurationCartIntegrationFacadeAdds the current configuration to shopping cart. The configuration is attached to the shopping cart item as external configuration, which is an XML-String.- Specified by:
addConfigurationToCartin interfaceConfigurationCartIntegrationFacade- Parameters:
configContent- configuration to add to the shopping cart- Returns:
- key/handle to re-identify the item within the session
- Throws:
CommerceCartModificationException- in case the update of the cart failed
-
updateLinkToCartItem
-
addProductConfigurationToCart
public CartModificationData addProductConfigurationToCart(String productCode, Long quantity, String configId) throws CommerceCartModificationException Description copied from interface:ConfigurationCartIntegrationFacadeAdds the current configuration to shopping cart. The configuration is attached to the shopping cart item as external configuration, which is an XML-String.- Specified by:
addProductConfigurationToCartin interfaceConfigurationCartIntegrationFacade- Parameters:
productCode- code of product to addquantity- quantity to addconfigId- configuration to add to the shopping cart- Returns:
- CartModificationData
- Throws:
CommerceCartModificationException- in case the update of the cart failed
-
updateProductConfigurationInCart
Description copied from interface:ConfigurationCartIntegrationFacadeUpdates the current configuration in shopping cart.- Specified by:
updateProductConfigurationInCartin interfaceConfigurationCartIntegrationFacade- Parameters:
productCode- code of product to addconfigId- configuration to add to the shopping cart- Returns:
- CartModificationData
-
getOrCreateCartItem
protected AbstractOrderEntryModel getOrCreateCartItem(ProductModel product, ConfigurationData configData) throws CommerceCartModificationException Creates a new entry in the session cart or returns the entry belonging to the current configuration and updates the price and its external configuration. The link between cart entry and configuration is established viaConfigurationData.getCartItemPK()- Parameters:
product-configData- DTO representation of configuration runtime instance- Returns:
- Corresponding cart entry model
- Throws:
CommerceCartModificationException
-
getPKStringForConfigId
-
createCartItem
protected AbstractOrderEntryModel createCartItem(ProductModel product, ConfigurationData configData, CommerceCartParameter commerceCartParameter, CartModel cart) throws CommerceCartModificationException -
updateCartItem
protected void updateCartItem(ProductModel product, String configId, AbstractOrderEntryModel cartItem, CommerceCartParameter commerceCartParameter, CartModel cart) -
removeLinkToProduct
-
addConfigAttributesToCartEntry
-
linkEntryWithConfigInfos
protected void linkEntryWithConfigInfos(AbstractOrderEntryModel entry, List<AbstractOrderEntryProductInfoModel> configInlineModels) -
fillCommerceCartParameterForAddToCart
protected void fillCommerceCartParameterForAddToCart(CommerceCartParameter parameter, CartModel cart, ProductModel product, long l, UnitModel unit, boolean forceNewEntry, String configId) -
fillCommerceCartParameterForUpdate
protected void fillCommerceCartParameterForUpdate(CommerceCartParameter parameter, CartModel sessionCart, String configId, Long entryNumber) - Parameters:
parameter-sessionCart-configId-
-
convertStringToPK
Converts a string to the primary key wrapping it- Parameters:
pkString-- Returns:
- Primary key
-
findCartItemByPK
-
isItemInCartByKey
Description copied from interface:ConfigurationCartIntegrationFacadeChecks whether item is in cart- Specified by:
isItemInCartByKeyin interfaceConfigurationCartIntegrationFacade- Parameters:
key- /handle to re-identify the item within the session- Returns:
true, only if the item is in the cart
-
resetConfiguration
Description copied from interface:ConfigurationCartIntegrationFacadeResets the configuration to the initial state- Specified by:
resetConfigurationin interfaceConfigurationCartIntegrationFacade- Parameters:
configId- ID of existing configuration
-
restoreConfiguration
Description copied from interface:ConfigurationCartIntegrationFacadeRestores a configuration from a cart entry specified by its key. This is needed if there is no SSC session connected to the cart entry yet.- Specified by:
restoreConfigurationin interfaceConfigurationCartIntegrationFacade- Parameters:
kbKey- knowledgebase keycartEntryKey- cart entry key- Returns:
- Configuration runtime object. Null if configuration could not be restored
-
restoreConfigModel
-
configureCartItem
Description copied from interface:ConfigurationCartIntegrationFacadeReturns the runtime configuration for a configurable cart item. May returnnullin case the runtime configuration is not available (anymore). Callers should check fornulland take appropriate action.- Specified by:
configureCartItemin interfaceConfigurationCartIntegrationFacade- Parameters:
cartItemKey- key of the cart item for which the runtime configuration should be retrieved- Returns:
- runtime configuration, or
nullif not available anymore
-
getOrderEntry
-
updateKBKeyForVariants
-
draftConfig
public ConfigurationData draftConfig(String cartItemHandle, KBKeyData kbKey, String configId, boolean copyRequired, String extConfig) Description copied from interface:ConfigurationCartIntegrationFacadeCreates a draft from the given external configuration for the associated cart item- Specified by:
draftConfigin interfaceConfigurationCartIntegrationFacade- Parameters:
cartItemHandle- cart item for which a draft is to be generatedkbKey- knowledgebase for the productconfigId- configuration runtime id for the configuration attached to the cart itemcopyRequired- should the configuration be copiedextConfig- external configuration associated with the configId- Returns:
- draft configuration data
-
getCartService
-
setCartService
- Parameters:
cartService- injects the cart service for interaction with the cart
-
getModelService
-
setModelService
- Parameters:
modelService- injects the hybris model service
-
getCommerceCartService
-
setCommerceCartService
- Parameters:
commerceCartService- injects the commerce cart service
-
getConfigInfoPopulator
-
setConfigInfoPopulator
public void setConfigInfoPopulator(ConfigurationOrderEntryProductInfoModelPopulator configInfoPopulator) - Parameters:
configInfoPopulator-
-
getConfigurationPricingOrderIntegrationService
protected ProductConfigurationOrderIntegrationService getConfigurationPricingOrderIntegrationService() -
setConfigurationPricingOrderIntegrationService
public void setConfigurationPricingOrderIntegrationService(ProductConfigurationOrderIntegrationService configurationPricingOrderIntegrationService) - Parameters:
configurationPricingOrderIntegrationService- the configurationPricingOrderIntegrationService to set
-
getAbstractOrderEntryLinkStrategy
-
setAbstractOrderEntryLinkStrategy
public void setAbstractOrderEntryLinkStrategy(ConfigurationAbstractOrderEntryLinkStrategy configurationAbstractOrderEntryLinkStrategy) -
getProductConfigurationPricingStrategy
-
setProductConfigurationPricingStrategy
public void setProductConfigurationPricingStrategy(ProductConfigurationPricingStrategy productConfigurationPricingStrategy) - Parameters:
productConfigurationPricingStrategy- the productConfigurationPricingStrategy to set
-
getConfigCopyStrategy
-
setConfigCopyStrategy
-
getConfigLifecycleStrategy
-
setConfigLifecycleStrategy
-
getCartModificationConverter
-
setCartModificationConverter
public void setCartModificationConverter(Converter<CommerceCartModification, CartModificationData> cartModificationConverter) -
removeConfigurationLink
Description copied from interface:ConfigurationCartIntegrationFacadeClears the link from a product to a runtime configuration- Specified by:
removeConfigurationLinkin interfaceConfigurationCartIntegrationFacade- Parameters:
productCode- ID of a product
-
getProductLinkStrategy
-
setProductLinkStrategy
public void setProductLinkStrategy(ConfigurationProductLinkStrategy configurationProductLinkStrategy) -
setConfigurationAbstractOrderIntegrationStrategy
public void setConfigurationAbstractOrderIntegrationStrategy(ConfigurationAbstractOrderIntegrationStrategy configurationAbstractOrderIntegrationStrategy) - Parameters:
configurationAbstractOrderIntegrationStrategy-
-
getConfigurationAbstractOrderIntegrationStrategy
protected ConfigurationAbstractOrderIntegrationStrategy getConfigurationAbstractOrderIntegrationStrategy() -
getConfigConsistenceChecker
-
setConfigConsistenceChecker
- Parameters:
configConsistenceChecker- injects the consistency checker
-
configureCartItemOnExistingDraft
Description copied from interface:ConfigurationCartIntegrationFacadeReturns the runtime configuration for a configurable cart item, assuming that a configuration draft already exists! May returnnullin case the runtime configuration is not available (anymore). Callers should check fornulland take appropriate action.- Specified by:
configureCartItemOnExistingDraftin interfaceConfigurationCartIntegrationFacade- Parameters:
cartEntryKey- PK of cart entry as String- Returns:
- Configuration in DTO representation
-
getSessionAccessFacade
-
setSessionAccessFacade
-