Class DefaultCartIntegrationFacade
- java.lang.Object
-
- de.hybris.platform.sap.productconfig.facades.impl.ConfigurationBaseFacadeImpl
-
- de.hybris.platform.sap.sapordermgmtcfgfacades.impl.DefaultCartIntegrationFacade
-
- All Implemented Interfaces:
ConfigurationCartIntegrationFacade
public class DefaultCartIntegrationFacade extends ConfigurationBaseFacadeImpl implements ConfigurationCartIntegrationFacade
DefaultCartIntegrationFacade implementation containing integration between the shopping cart and configurable products.
-
-
Field Summary
-
Fields inherited from class de.hybris.platform.sap.productconfig.facades.impl.ConfigurationBaseFacadeImpl
INTERNAL_CODE_ERP_VARIANT_PRODUCT
-
-
Constructor Summary
Constructors Constructor Description DefaultCartIntegrationFacade()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringaddConfigurationToCart(ConfigurationData configuration)Adds the current configuration to shopping cart.CartModificationDataaddProductConfigurationToCart(java.lang.String productCode, java.lang.Long quantity, java.lang.String configId)Adds the current configuration to shopping cart.ConfigurationDataconfigureCartItem(java.lang.String cartItemKey)Returns the runtime configuration for a configurable cart item.ConfigurationDataconfigureCartItemOnExistingDraft(java.lang.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).java.lang.StringcopyConfiguration(java.lang.String configId, java.lang.String productCode)Copies a configuration.ConfigurationDatadraftConfig(java.lang.String cartItemHandle, KBKeyData kbKey, java.lang.String configId, boolean copyRequired, java.lang.String extConfig)Creates a draft from the given external configuration for the associated cart itemprotected ConfigurationAbstractOrderEntryLinkStrategygetAbstractOrderEntryLinkStrategy()protected BackendAvailabilityServicegetBackendAvailabilityService()BaseStoreServicegetBaseStoreService()protected ItemgetCartEntry(java.lang.String cartEntryKey)CartRestorationFacadegetCartRestorationFacade()CPQCartServicegetCartService()protected ConfigurationCopyStrategygetConfigCopyStrategy()protected KBKeygetKBKey(java.lang.String productId)Creates a KB key for a given product ID, accessing the product model, and returns it.ConfigurationCartIntegrationFacadegetProductConfigDefaultCartIntegrationFacade()protected ConfigurationProductLinkStrategygetProductLinkStrategy()SessionAccessServicegetSessionAccessService()booleanisItemInCartByKey(java.lang.String key)Checks whether item is in cartprotected booleanisSapOrderMgmtEnabled()Check if synchronous order management SOM is activevoidremoveConfigurationLink(java.lang.String productCode)Clears the link from a product to a runtime configurationvoidresetConfiguration(java.lang.String configId)Resets the configuration to the initial stateConfigurationDatarestoreConfiguration(KBKeyData kbKey, java.lang.String cartEntryKey)Restores a configuration from a cart entry specified by its key.voidsetAbstractOrderEntryLinkStrategy(ConfigurationAbstractOrderEntryLinkStrategy configurationAbstractOrderEntryLinkStrategy)voidsetBackendAvailabilityService(BackendAvailabilityService backendAvailabilityService)voidsetBaseStoreService(BaseStoreService baseStoreService)voidsetCartRestorationFacade(CartRestorationFacade cartRestorationFacade)voidsetCartService(CPQCartService cartService)voidsetConfigCopyStrategy(ConfigurationCopyStrategy configCopyStrategy)voidsetProductConfigDefaultCartIntegrationFacade(ConfigurationCartIntegrationFacade productConfigDefaultCartIntegrationFacade)voidsetProductLinkStrategy(ConfigurationProductLinkStrategy configurationProductLinkStrategy)voidsetSessionAccessService(SessionAccessService sessionAccessService)protected voidupdateKBKeyForVariants(ConfigurationData draftConfig)CartModificationDataupdateProductConfigurationInCart(java.lang.String productCode, java.lang.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, getListOfCsticData, getMessagesMapper, getPricingService, getProductDao, getProductService, getUiKeyGenerator, isAnyVariantExisting, isOfferVariantSearch, isOneSubGroupConfigurable, isShowLegend, isUiGroupConfigurable, logFacadeCallDone, logFacadeCallStart, markFirstAndLastGroup, populateConfigDataFromModel, populateKbKey, setAnalyticsService, setClassificationCacheStrategy, setConfigPricing, setConfigurationExpertModeFacade, setConfigurationService, setConfigurationVariantUtil, setConflictPopulator, setCsticTypeMapper, setMessagesMapper, setOfferVariantSearch, setPricingService, setProductDao, setProductService, setUiKeyGenerator, showVariants
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.hybris.platform.sap.productconfig.facades.ConfigurationCartIntegrationFacade
findItemInCartByPK
-
-
-
-
Method Detail
-
getProductLinkStrategy
protected ConfigurationProductLinkStrategy getProductLinkStrategy()
-
getSessionAccessService
public SessionAccessService getSessionAccessService()
- Returns:
- the sessionAccessService
-
setSessionAccessService
public void setSessionAccessService(SessionAccessService sessionAccessService)
- Parameters:
sessionAccessService- the sessionAccessService to set
-
getBaseStoreService
public BaseStoreService getBaseStoreService()
- Returns:
- the baseStoreService
-
setBaseStoreService
public void setBaseStoreService(BaseStoreService baseStoreService)
- Parameters:
baseStoreService- the baseStoreService to set
-
addConfigurationToCart
public java.lang.String addConfigurationToCart(ConfigurationData configuration) 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:
configuration- 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
-
isItemInCartByKey
public boolean isItemInCartByKey(java.lang.String key)
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
-
getCartService
public CPQCartService getCartService()
- Returns:
- the cartService
-
setCartService
public void setCartService(CPQCartService cartService)
- Parameters:
cartService- the cartService to set
-
getKBKey
protected KBKey getKBKey(java.lang.String productId)
Creates a KB key for a given product ID, accessing the product model, and returns it.- Parameters:
productId-- Returns:
- KBKey, containing KB data for the given product
-
resetConfiguration
public void resetConfiguration(java.lang.String configId)
Description copied from interface:ConfigurationCartIntegrationFacadeResets the configuration to the initial state- Specified by:
resetConfigurationin interfaceConfigurationCartIntegrationFacade- Parameters:
configId- ID of existing configuration
-
getProductConfigDefaultCartIntegrationFacade
public ConfigurationCartIntegrationFacade getProductConfigDefaultCartIntegrationFacade()
- Returns:
- the productConfigDefaultCartIntegrationFacade
-
setProductConfigDefaultCartIntegrationFacade
public void setProductConfigDefaultCartIntegrationFacade(ConfigurationCartIntegrationFacade productConfigDefaultCartIntegrationFacade)
- Parameters:
productConfigDefaultCartIntegrationFacade- the productConfigDefaultCartIntegrationFacade to set
-
getBackendAvailabilityService
protected BackendAvailabilityService getBackendAvailabilityService()
- Returns:
- the backendAvailabilityService
-
setBackendAvailabilityService
public void setBackendAvailabilityService(BackendAvailabilityService backendAvailabilityService)
- Parameters:
backendAvailabilityService- the backendAvailabilityService to set
-
getCartRestorationFacade
public CartRestorationFacade getCartRestorationFacade()
- Returns:
- the cartRestorationFacade
-
setCartRestorationFacade
public void setCartRestorationFacade(CartRestorationFacade cartRestorationFacade)
- Parameters:
cartRestorationFacade- the cartRestorationFacade to set
-
restoreConfiguration
public ConfigurationData restoreConfiguration(KBKeyData kbKey, java.lang.String cartEntryKey)
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
-
isSapOrderMgmtEnabled
protected boolean isSapOrderMgmtEnabled()
Check if synchronous order management SOM is active- Returns:
- true is SOM is active
-
configureCartItem
public ConfigurationData configureCartItem(java.lang.String cartItemKey)
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
-
updateKBKeyForVariants
protected void updateKBKeyForVariants(ConfigurationData draftConfig)
-
addProductConfigurationToCart
public CartModificationData addProductConfigurationToCart(java.lang.String productCode, java.lang.Long quantity, java.lang.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
public CartModificationData updateProductConfigurationInCart(java.lang.String productCode, java.lang.String configId)
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
-
getAbstractOrderEntryLinkStrategy
protected ConfigurationAbstractOrderEntryLinkStrategy getAbstractOrderEntryLinkStrategy()
-
setAbstractOrderEntryLinkStrategy
public void setAbstractOrderEntryLinkStrategy(ConfigurationAbstractOrderEntryLinkStrategy configurationAbstractOrderEntryLinkStrategy)
-
draftConfig
public ConfigurationData draftConfig(java.lang.String cartItemHandle, KBKeyData kbKey, java.lang.String configId, boolean copyRequired, java.lang.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
-
copyConfiguration
public java.lang.String copyConfiguration(java.lang.String configId, java.lang.String productCode)Description copied from interface:ConfigurationCartIntegrationFacadeCopies a configuration. The implementation can decide if a deep copy is needed; if not, the input ID is simply returned.- Specified by:
copyConfigurationin interfaceConfigurationCartIntegrationFacade- Parameters:
configId- ID of existing configurationproductCode- product code of configurable product to be copied- Returns:
- ID of new configuration if a deep copy was performed; input otherwise
-
getConfigCopyStrategy
protected ConfigurationCopyStrategy getConfigCopyStrategy()
-
setConfigCopyStrategy
public void setConfigCopyStrategy(ConfigurationCopyStrategy configCopyStrategy)
-
removeConfigurationLink
public void removeConfigurationLink(java.lang.String productCode)
Description copied from interface:ConfigurationCartIntegrationFacadeClears the link from a product to a runtime configuration- Specified by:
removeConfigurationLinkin interfaceConfigurationCartIntegrationFacade- Parameters:
productCode- ID of a product
-
setProductLinkStrategy
public void setProductLinkStrategy(ConfigurationProductLinkStrategy configurationProductLinkStrategy)
- Parameters:
configurationProductLinkStrategy-
-
configureCartItemOnExistingDraft
public ConfigurationData configureCartItemOnExistingDraft(java.lang.String cartEntryKey)
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
-
getCartEntry
protected Item getCartEntry(java.lang.String cartEntryKey)
- Parameters:
cartEntryKey-- Returns:
-
-