Class ConfigCopyCartEntryActionHandler

java.lang.Object
de.hybris.platform.sap.productconfig.frontend.handler.ConfigCopyCartEntryActionHandler
All Implemented Interfaces:
CartEntryActionHandler

public class ConfigCopyCartEntryActionHandler extends Object implements CartEntryActionHandler
Action Handler to Copy a CartItem including configuration
  • Constructor Details

    • ConfigCopyCartEntryActionHandler

      public ConfigCopyCartEntryActionHandler()
  • Method Details

    • getCartFacade

      protected CartFacade getCartFacade()
    • setCartFacade

      public void setCartFacade(CartFacade cartFacade)
      Parameters:
      cartFacade -
    • getConfigCartFacade

      protected ConfigurationCartIntegrationFacade getConfigCartFacade()
    • setConfigCartFacade

      public void setConfigCartFacade(ConfigurationCartIntegrationFacade configCartFacade)
      Parameters:
      configCartFacade -
    • getAbstractOrderEntryLinkStrategy

      protected ConfigurationAbstractOrderEntryLinkStrategy getAbstractOrderEntryLinkStrategy()
    • setAbstractOrderEntryLinkStrategy

      public void setAbstractOrderEntryLinkStrategy(ConfigurationAbstractOrderEntryLinkStrategy configurationAbstractOrderEntryLinkStrategy)
    • handleAction

      public Optional<String> handleAction(List<Long> entryNumbers) throws CartEntryActionException
      Description copied from interface: CartEntryActionHandler
      This method contains the logic of the action performed by the CartEntryActionHandler implementation. Even though the method CartEntryActionHandler.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:
      handleAction in interface CartEntryActionHandler
      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
      Throws:
      CommerceCartModificationException
    • isDefaultConfig

      protected boolean isDefaultConfig(List<ConfigurationInfoData> infos)
    • copyConfiguration

      protected ConfigurationData copyConfiguration(OrderEntryData entryToCopy)
    • getConfigIdByOrderEntry

      protected String getConfigIdByOrderEntry(OrderEntryData entryToCopy)
    • getEntryByEntryNumber

      protected OrderEntryData getEntryByEntryNumber(long entryNumber)
    • getSuccessMessageKey

      public String getSuccessMessageKey()
      Description copied from interface: CartEntryActionHandler
      Provides the key to the message that should be displayed when an action runs with success.
      Specified by:
      getSuccessMessageKey in interface CartEntryActionHandler
      Returns:
      the success message key.
    • getErrorMessageKey

      public String getErrorMessageKey()
      Description copied from interface: CartEntryActionHandler
      Provides the key to the message that should be displayed when a CartEntryActionException is thrown.
      Specified by:
      getErrorMessageKey in interface CartEntryActionHandler
      Returns:
      the error message key.
    • supports

      public boolean supports(CartEntryModel cartEntry)
      Description copied from interface: CartEntryActionHandler
      This 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:
      supports in interface CartEntryActionHandler
      Parameters:
      cartEntry - the cart entry model.
      Returns:
      true if the cart entry supports the action, false otherwise.
    • getCpqConfigurableChecker

      protected CPQConfigurableChecker getCpqConfigurableChecker()
    • setCpqConfigurableChecker

      public void setCpqConfigurableChecker(CPQConfigurableChecker cpqConfigurableChecker)
      Set helper, to check if the related product is CPQ configurable
      Parameters:
      cpqConfigurableChecker - configurator checker
    • getConfigurationCopyStrategy

      protected ConfigurationCopyStrategy getConfigurationCopyStrategy()
    • setConfigurationCopyStrategy

      public void setConfigurationCopyStrategy(ConfigurationCopyStrategy configurationCopyStrategy)