Class CartConfigurationPopulator

java.lang.Object
de.hybris.platform.sap.productconfig.facades.populator.AbstractOrderConfigurationPopulator
de.hybris.platform.sap.productconfig.facades.populator.CartConfigurationPopulator
All Implemented Interfaces:
Populator<CartModel,CartData>

public class CartConfigurationPopulator extends AbstractOrderConfigurationPopulator implements Populator<CartModel,CartData>
Takes care of populating product configuration relevant attributes
  • Field Details

  • Constructor Details

    • CartConfigurationPopulator

      public CartConfigurationPopulator()
  • Method Details

    • getCartPopulator

      protected CartPopulator<CartData> getCartPopulator()
      Returns:
      the cartPopulator
    • getModelService

      protected ModelService getModelService()
      Returns:
      the modelService
    • getAbstractOrderEntryLinkStrategy

      protected ConfigurationAbstractOrderEntryLinkStrategy getAbstractOrderEntryLinkStrategy()
    • setAbstractOrderEntryLinkStrategy

      public void setAbstractOrderEntryLinkStrategy(ConfigurationAbstractOrderEntryLinkStrategy configurationAbstractOrderEntryLinkStrategy)
      Sets strategy that controls how to link configuration and abstract order entry
      Parameters:
      configurationAbstractOrderEntryLinkStrategy -
    • getProductConfigurationService

      protected ProductConfigurationService getProductConfigurationService()
    • setProductConfigurationService

      public void setProductConfigurationService(ProductConfigurationService productConfigurationService)
      Parameters:
      productConfigurationService -
    • populate

      public void populate(CartModel source, CartData target)
      Description copied from interface: Populator
      Populate the target instance with values from the source instance.
      Specified by:
      populate in interface Populator<CartModel,CartData>
      Parameters:
      source - the source object
      target - the target to fill
    • populateCartEntry

      protected boolean populateCartEntry(AbstractOrderEntryModel entry, CartData target)
      Transfers configuration related attributes from order entry into its DTO representation
      Parameters:
      entry - Cart entry model
      target - Cart DTO, used to get the cart entry DTO via searching for key
      Returns:
      Did we change the price?
      Throws:
      CalculationException
    • hasUnresolvableIssue

      protected boolean hasUnresolvableIssue(ConfigModel configModel)
    • validateUnresolvableIssues

      protected boolean validateUnresolvableIssues(AbstractOrderEntryModel entry, OrderEntryData targetEntry)
    • createInlineUnresolvableIssuesError

      protected List<ConfigurationInfoData> createInlineUnresolvableIssuesError()
    • createInlineError

      protected List<ConfigurationInfoData> createInlineError(String title, String description)
    • validatePrice

      protected boolean validatePrice(ConfigModel configModel, AbstractOrderEntryModel entry, OrderEntryData targetEntry)
      Validates price on entry level, triggers a reculaculation of the cart if needed
      Parameters:
      configModel -
      entry -
      targetEntry -
      Returns:
      Did we do a price change?
    • createPriceData

      protected PriceData createPriceData(Double price, AbstractOrderEntryModel entry)
    • createInlinePriceError

      protected List<ConfigurationInfoData> createInlinePriceError()
    • getLocalizedText

      protected String getLocalizedText(String key)
    • setModelService

      public void setModelService(ModelService modelService)
      Parameters:
      modelService -
    • getPriceDataFactory

      protected PriceDataFactory getPriceDataFactory()
    • setPriceDataFactory

      public void setPriceDataFactory(PriceDataFactory priceDataFactory)
      Parameters:
      priceDataFactory - the priceDataFactory to set
    • getConfigurationPricingOrderIntegrationService

      protected ProductConfigurationOrderIntegrationService getConfigurationPricingOrderIntegrationService()
    • setConfigurationPricingOrderIntegrationService

      public void setConfigurationPricingOrderIntegrationService(ProductConfigurationOrderIntegrationService configurationPricingOrderIntegrationService)
      Parameters:
      configurationPricingOrderIntegrationService - the configurationPricingOrderIntegrationService to set
    • setCartPopulator

      public void setCartPopulator(CartPopulator<CartData> cartPopulator)
      Parameters:
      cartPopulator -
    • getCommerceCartService

      protected CommerceCartService getCommerceCartService()
    • setCommerceCartService

      public void setCommerceCartService(CommerceCartService commerceCartService)
      Parameters:
      commerceCartService - the commerceCartService to set
    • 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
    • getProductConfigurationPricingStrategy

      protected ProductConfigurationPricingStrategy getProductConfigurationPricingStrategy()
    • setProductConfigurationPricingStrategy

      public void setProductConfigurationPricingStrategy(ProductConfigurationPricingStrategy productConfigurationPricingStrategy)
      Parameters:
      productConfigurationPricingStrategy - the productConfigurationPricingStrategy to set
    • setConfigurationAbstractOrderIntegrationStrategy

      public void setConfigurationAbstractOrderIntegrationStrategy(ConfigurationAbstractOrderIntegrationStrategy configurationAbstractOrderIntegrationStrategy)
      Parameters:
      configurationAbstractOrderIntegrationStrategy -
    • getConfigurationAbstractOrderIntegrationStrategy

      protected ConfigurationAbstractOrderIntegrationStrategy getConfigurationAbstractOrderIntegrationStrategy()
    • validateChangedInBackground

      protected void validateChangedInBackground(ConfigModel configModel, AbstractOrderEntryModel entry, OrderEntryData targetEntry)
    • addChangedInBackgroundWarning

      protected void addChangedInBackgroundWarning(OrderEntryData targetEntry)