Class DefaultOrderConsolidationService<P extends ConsolidatedOrder>

java.lang.Object
com.broadleafcommerce.order.service.consolidation.DefaultOrderConsolidationService<P>
All Implemented Interfaces:
OrderConsolidationService<P>

public class DefaultOrderConsolidationService<P extends ConsolidatedOrder> extends Object implements OrderConsolidationService<P>
  • Field Details

  • Constructor Details

    • DefaultOrderConsolidationService

      public DefaultOrderConsolidationService(OrderService<com.broadleafcommerce.order.client.domain.Order> orderService, OrderFulfillmentService<com.broadleafcommerce.order.client.domain.OrderFulfillment> orderFulfillmentService, com.broadleafcommerce.common.extension.TypeFactory typeFactory)
  • Method Details

    • readAllConsolidatedOrders

      public List<P> readAllConsolidatedOrders(cz.jirutka.rsql.parser.ast.Node filters, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      Description copied from interface: OrderConsolidationService
      Read and consolidate orders with their related domain.
      Specified by:
      readAllConsolidatedOrders in interface OrderConsolidationService<P extends ConsolidatedOrder>
      Parameters:
      filters - the RSQL Node used to restrict results, must not be null
      context - context information around sandboxing and multitenant state
      Returns:
      list of orders consolidated with relations
    • readConsolidatedOrderById

      public P readConsolidatedOrderById(String id, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: OrderConsolidationService
      Reads a single ConsolidatedOrder by ID.
      Specified by:
      readConsolidatedOrderById in interface OrderConsolidationService<P extends ConsolidatedOrder>
      Parameters:
      id - ID of the order
      contextInfo - context information around sandboxing and multitenant state
      Returns:
      The conoslidated order matching the id.
    • readConsolidatedOrderByIdMatchingTenant

      public P readConsolidatedOrderByIdMatchingTenant(String id, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: OrderConsolidationService
      Reads a single ConsolidatedOrder by ID and the tenant from ContextInfo if present.
      Specified by:
      readConsolidatedOrderByIdMatchingTenant in interface OrderConsolidationService<P extends ConsolidatedOrder>
      Parameters:
      id - ID of the order
      contextInfo - context information around sandboxing and multitenant state
      Returns:
      The conoslidated order matching the id and tenant.
    • consolidateOrders

      protected List<P> consolidateOrders(List<? extends com.broadleafcommerce.order.client.domain.Order> orders, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      Consolidate orders with their related domain, such as OrderFulfillments.
      Parameters:
      orders - The orders to get related domain for
      context - context information surrounding sandboxing/multitenant state
      Returns:
      Orders combined with their related domain
    • createConsolidatedOrder

      protected P createConsolidatedOrder(@NonNull @NonNull com.broadleafcommerce.order.client.domain.Order order)
      Creates a ConsolidatedOrder from an Order. This does not populate any fields not already part of an Order.
      Parameters:
      order - Order forming the basis of the ConsolidatedOrder to be created
      Returns:
      The ConsolidatedOrder based on order.
    • consolidatePaymentDistributions

      protected List<String> consolidatePaymentDistributions(com.broadleafcommerce.order.client.domain.Order order)
    • consolidateOrderFulfillments

      protected void consolidateOrderFulfillments(Set<String> orderIds, List<P> consolidatedOrders, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
    • enhanceFilters

      protected cz.jirutka.rsql.parser.ast.Node enhanceFilters(cz.jirutka.rsql.parser.ast.Node filters)
      Adds a filter against archived Orders to the existing filters
      Parameters:
      filters - existing filters
      Returns:
      enhanced filters
    • getOrderService

      protected OrderService<com.broadleafcommerce.order.client.domain.Order> getOrderService()
    • getOrderFulfillmentService

      protected OrderFulfillmentService<com.broadleafcommerce.order.client.domain.OrderFulfillment> getOrderFulfillmentService()
    • getTypeFactory

      protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()
    • getRsqlParser

      protected com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> getRsqlParser()
    • setRsqlParser

      @Autowired public void setRsqlParser(com.broadleafcommerce.data.tracking.core.filtering.fetch.FilterParser<cz.jirutka.rsql.parser.ast.Node> rsqlParser)