Class DefaultTravelCommerceUpdateCartEntryStrategy

java.lang.Object
de.hybris.platform.commerceservices.order.impl.AbstractCommerceCartStrategy
de.hybris.platform.commerceservices.order.impl.DefaultCommerceUpdateCartEntryStrategy
de.hybris.platform.travelservices.order.impl.DefaultTravelCommerceUpdateCartEntryStrategy
All Implemented Interfaces:
de.hybris.platform.commerceservices.order.CommerceUpdateCartEntryStrategy

public class DefaultTravelCommerceUpdateCartEntryStrategy extends de.hybris.platform.commerceservices.order.impl.DefaultCommerceUpdateCartEntryStrategy
Extension of DefaultCommerceUpdateCartEntryStrategy to add functionality specific to travel, such as adding amendment tracking status to order entries
  • Field Summary

    Fields inherited from class de.hybris.platform.commerceservices.order.impl.AbstractCommerceCartStrategy

    DEFAULT_FORCE_IN_STOCK_MAX_QUANTITY, forceInStockMaxQuantity
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected BookingService
     
    modifyEntry(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long actualAllowedQuantityChange, long newQuantity, Integer maxOrderQuantity)
     
    removeNewEntryFromCart(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long newQuantity, de.hybris.platform.servicelayer.model.ModelService modelService)
     
    void
     
    protected void
    updateAmendmentStatus(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, Long entryNewQuantity)
    This method updates AmendStatus and active flag of the entry as follows:
    updateEntry(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long actualAllowedQuantityChange, long newQuantity, Integer maxOrderQuantity, long entryNewQuantity, de.hybris.platform.servicelayer.model.ModelService modelService)
     

    Methods inherited from class de.hybris.platform.commerceservices.order.impl.DefaultCommerceUpdateCartEntryStrategy

    afterUpdateCartEntry, beforeUpdateCartEntry, getCommerceUpdateCartEntryHooks, getConfigurationService, getEntryMergeStrategy, mergeEntries, setCommerceUpdateCartEntryHooks, setConfigurationService, setEntryMergeStrategy, updatePointOfServiceForCartEntry, updateQuantityForCartEntry, updateToShippingModeForCartEntry, validateEntryBeforeModification, validateEntryBeforeSetShippingMode

    Methods inherited from class de.hybris.platform.commerceservices.order.impl.AbstractCommerceCartStrategy

    checkCartLevel, getAllowedCartAdjustmentForProduct, getAvailableStockLevel, getBaseStoreService, getCartEntryDao, getCartService, getCommerceCartCalculationStrategy, getCommerceStockService, getEntryForNumber, getEntryForProductAndPointOfService, getEntryOrderChecker, getForceInStockMaxQuantity, getModelService, getProductService, isMaxOrderQuantitySet, isOrderEntryUpdatable, isStockLevelSufficient, normalizeEntryNumbers, setBaseStoreService, setCartEntryDao, setCartService, setCommerceCartCalculationStrategy, setCommerceStockService, setEntryOrderChecker, setForceInStockMaxQuantity, setModelService, setProductService

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DefaultTravelCommerceUpdateCartEntryStrategy

      public DefaultTravelCommerceUpdateCartEntryStrategy()
  • Method Details

    • modifyEntry

      protected CommerceCartModification modifyEntry(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long actualAllowedQuantityChange, long newQuantity, Integer maxOrderQuantity)
      Overrides:
      modifyEntry in class de.hybris.platform.commerceservices.order.impl.DefaultCommerceUpdateCartEntryStrategy
    • updateEntry

      protected CommerceCartModification updateEntry(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long actualAllowedQuantityChange, long newQuantity, Integer maxOrderQuantity, long entryNewQuantity, de.hybris.platform.servicelayer.model.ModelService modelService)
    • updateAmendmentStatus

      protected void updateAmendmentStatus(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, Long entryNewQuantity)
      This method updates AmendStatus and active flag of the entry as follows:

      1. entryNewQuantity == 0 ? set active flag to false : set active flag to true

      2. If AmendStatus == SAME --> set AmendStatus to CHANGED

      3. If AmendStatus == CHANGED --> find a relevant entry in original order and then:

      3a. if entryNewQuantity == originalEntryQuantity --> set AmendStatus to SAME

      3b. if entryNewQuantity != originalEntryQuantity --> keep AmendStatus as CHANGED

      Parameters:
      cartModel -
      entryToUpdate -
      entryNewQuantity -
    • removeNewEntryFromCart

      protected CommerceCartModification removeNewEntryFromCart(CartModel cartModel, AbstractOrderEntryModel entryToUpdate, long newQuantity, de.hybris.platform.servicelayer.model.ModelService modelService)
    • getBookingService

      protected BookingService getBookingService()
      Returns:
      the bookingService
    • setBookingService

      public void setBookingService(BookingService bookingService)
      Parameters:
      bookingService - the bookingService to set