Class ConfigCopyCartEntryActionHandler
java.lang.Object
de.hybris.platform.sap.productconfig.frontend.handler.ConfigCopyCartEntryActionHandler
- All Implemented Interfaces:
CartEntryActionHandler
Action Handler to Copy a CartItem including configuration
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcopyAndAddToCart(OrderEntryData entryToCopy, boolean copyDirect) protected ConfigurationDatacopyConfiguration(OrderEntryData entryToCopy) protected CartFacadeprotected ConfigurationCartIntegrationFacadeprotected StringgetConfigIdByOrderEntry(OrderEntryData entryToCopy) protected ConfigurationCopyStrategyprotected CPQConfigurableCheckerprotected OrderEntryDatagetEntryByEntryNumber(long entryNumber) Provides the key to the message that should be displayed when a CartEntryActionException is thrown.Provides the key to the message that should be displayed when an action runs with success.handleAction(List<Long> entryNumbers) This method contains the logic of the action performed by the CartEntryActionHandler implementation.protected booleanisDefaultConfig(List<ConfigurationInfoData> infos) voidsetAbstractOrderEntryLinkStrategy(ConfigurationAbstractOrderEntryLinkStrategy configurationAbstractOrderEntryLinkStrategy) voidsetCartFacade(CartFacade cartFacade) voidsetConfigCartFacade(ConfigurationCartIntegrationFacade configCartFacade) voidsetConfigurationCopyStrategy(ConfigurationCopyStrategy configurationCopyStrategy) voidsetCpqConfigurableChecker(CPQConfigurableChecker cpqConfigurableChecker) Set helper, to check if the related product is CPQ configurablebooleansupports(CartEntryModel cartEntry) This method determines if the action should show or not in the cart entry tools menu.
-
Constructor Details
-
ConfigCopyCartEntryActionHandler
public ConfigCopyCartEntryActionHandler()
-
-
Method Details
-
getCartFacade
-
setCartFacade
- Parameters:
cartFacade-
-
getConfigCartFacade
-
setConfigCartFacade
- Parameters:
configCartFacade-
-
getAbstractOrderEntryLinkStrategy
-
setAbstractOrderEntryLinkStrategy
public void setAbstractOrderEntryLinkStrategy(ConfigurationAbstractOrderEntryLinkStrategy configurationAbstractOrderEntryLinkStrategy) -
handleAction
Description copied from interface:CartEntryActionHandlerThis method contains the logic of the action performed by the CartEntryActionHandler implementation. Even though the methodCartEntryActionHandler.supports(CartEntryModel)prevents unsupported actions to be visible in the contextual menu, it is the responsibility of the handleAction method and the processes it calls to perform appropriate validations in case the action is called on a cart entry for which it should not.- Specified by:
handleActionin interfaceCartEntryActionHandler- Parameters:
entryNumbers- the cart entry number for which the action is executed.- Returns:
- An empty optional to signal the controller to apply the default behaviour: redisplay the cart page with a success message. Otherwise return a custom redirect URL to navigate elsewhere upon the action completion. The expected url format is the format used as SpringMVC controller method return values.
- Throws:
CartEntryActionException- when an error occurs.
-
copyAndAddToCart
protected void copyAndAddToCart(OrderEntryData entryToCopy, boolean copyDirect) throws CommerceCartModificationException -
isDefaultConfig
-
copyConfiguration
-
getConfigIdByOrderEntry
-
getEntryByEntryNumber
-
getSuccessMessageKey
Description copied from interface:CartEntryActionHandlerProvides the key to the message that should be displayed when an action runs with success.- Specified by:
getSuccessMessageKeyin interfaceCartEntryActionHandler- Returns:
- the success message key.
-
getErrorMessageKey
Description copied from interface:CartEntryActionHandlerProvides the key to the message that should be displayed when a CartEntryActionException is thrown.- Specified by:
getErrorMessageKeyin interfaceCartEntryActionHandler- Returns:
- the error message key.
-
supports
Description copied from interface:CartEntryActionHandlerThis method determines if the action should show or not in the cart entry tools menu. An action may not be supported by every cart entry and this is the method to override to make this decision. This method is intended to refine the contents of the contextual menu of a cart item. It is the responsibility of the method and the processes it calls to perform appropriate validations in case the action is called on a cart entry for which it should not.- Specified by:
supportsin interfaceCartEntryActionHandler- Parameters:
cartEntry- the cart entry model.- Returns:
- true if the cart entry supports the action, false otherwise.
-
getCpqConfigurableChecker
-
setCpqConfigurableChecker
Set helper, to check if the related product is CPQ configurable- Parameters:
cpqConfigurableChecker- configurator checker
-
getConfigurationCopyStrategy
-
setConfigurationCopyStrategy
-