Class AddWorkflowPriceOrderIfNecessaryActivity

java.lang.Object
org.broadleafcommerce.core.workflow.BaseActivity<ProcessContext<CartOperationRequest>>
org.broadleafcommerce.core.order.service.workflow.AddWorkflowPriceOrderIfNecessaryActivity
All Implemented Interfaces:
Activity<ProcessContext<CartOperationRequest>>, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.core.Ordered
Direct Known Subclasses:
RemoveWorkflowPriceOrderIfNecessaryActivity, UpdateWorkflowPriceOrderIfNecessaryActivity

@Component("blAddWorkflowPriceOrderIfNecessaryActivity") public class AddWorkflowPriceOrderIfNecessaryActivity extends BaseActivity<ProcessContext<CartOperationRequest>>
As of Broadleaf version 3.1.0, saves of individual aspects of an Order (such as OrderItems and FulfillmentGroupItems) no longer happen in their respective activities. Instead, we will now handle these saves in this activity exclusively.

This provides the ability for an implementation to not require a transactional wrapper around the entire workflow and instead only requires it around this particular activity. This is only recommended if there are long running steps in the workflow, such as an external service call to check availability.

Author:
Andre Azzolini (apazzolini)
  • Field Details

  • Constructor Details

    • AddWorkflowPriceOrderIfNecessaryActivity

      public AddWorkflowPriceOrderIfNecessaryActivity()
  • Method Details

    • execute

      Description copied from interface: Activity
      Called by the encompassing processor to activate the execution of the Activity
      Parameters:
      context - - process context for this workflow
      Returns:
      resulting process context
      Throws:
      Exception
    • updateChildOrderItem

      protected void updateChildOrderItem(CartOperationRequest request, Order order)
      Traverses the current OrderItem for a match to the parentOrderItemId. If found, populates and returns true.
      Parameters:
      request -
      order -
    • checkAndUpdateChildren

      protected boolean checkAndUpdateChildren(CartOperationRequest request, OrderItem orderItem)
    • getOiFgiMap

      protected void getOiFgiMap(Order order, Map<OrderItem,List<FulfillmentGroupItem>> oiFgiMap, OrderItem oi)
    • preSaveOperation

      protected void preSaveOperation(CartOperationRequest request)
      Intended to be overridden by a custom implementation if there is a requirement to perform additional logic or saves before triggering the main Order save with pricing.
      Parameters:
      request -