Class DefaultOrderFulfillmentService<P extends com.broadleafcommerce.search.fulfillment.core.domain.OrderFulfillment>

java.lang.Object
com.broadleafcommerce.search.index.fulfillment.service.DefaultOrderFulfillmentService<P>
All Implemented Interfaces:
OrderFulfillmentService<P>

public class DefaultOrderFulfillmentService<P extends com.broadleafcommerce.search.fulfillment.core.domain.OrderFulfillment> extends Object implements OrderFulfillmentService<P>
Default implementation to read OrderFulfillments from the Order Service.
Author:
Dima Myroniuk (dmyroniuk)
  • Field Details

  • Constructor Details

    • DefaultOrderFulfillmentService

      public DefaultOrderFulfillmentService(org.springframework.web.reactive.function.client.WebClient webClient, String orderFulfillmentEndpoint, String readOrderFulfillmentIdsPath, String readOrderFulfillmentsPath)
  • Method Details

    • readBatchOfOrderFulfillmentIds

      public List<String> readBatchOfOrderFulfillmentIds(String startId, int batchSize) throws com.broadleafcommerce.search.api.SearchIndexException
      Specified by:
      readBatchOfOrderFulfillmentIds in interface OrderFulfillmentService<P extends com.broadleafcommerce.search.fulfillment.core.domain.OrderFulfillment>
      Throws:
      com.broadleafcommerce.search.api.SearchIndexException
    • readBatchOfOrderFulfillmentIds

      public List<String> readBatchOfOrderFulfillmentIds(String startId, int batchSize, @Nullable Map<String,Object> additionalProperties) throws com.broadleafcommerce.search.api.SearchIndexException
      Description copied from interface: OrderFulfillmentService
      Reads a batch of IDs to be placed in a queue for processing. Additional properties can also be specified to limit the items being read to be indexed.
      Specified by:
      readBatchOfOrderFulfillmentIds in interface OrderFulfillmentService<P extends com.broadleafcommerce.search.fulfillment.core.domain.OrderFulfillment>
      Parameters:
      startId - The starting ID
      batchSize - The size of the batch
      additionalProperties - additional information that can be used to filter the items to be indexed
      Returns:
      A list of order fulfillment IDs.
      Throws:
      com.broadleafcommerce.search.api.SearchIndexException - if reading the order fulfillment ids fails.
    • buildReadBatchOfOrderFulfillmentIdsUri

      @Deprecated(since="2.1.2-GA") protected URI buildReadBatchOfOrderFulfillmentIdsUri(@Nullable String startId, int batchSize)
      Deprecated.
      in favor of buildReadBatchOfOrderFulfillmentIdsUri(String, int, Map<String, Object>) for the potential to utilize a time range when reading orders.
    • buildReadBatchOfOrderFulfillmentIdsUri

      protected URI buildReadBatchOfOrderFulfillmentIdsUri(@Nullable String startId, int batchSize, @Nullable Map<String,Object> additionalProperties)
      Build the order fulfillment URI based on the provided parameters.
      Parameters:
      startId - The starting ID
      batchSize - The size of the batch
      additionalProperties - additional information that can be used to filter the items to be indexed
      Returns:
      the built uri
    • readBatchOfOrderFulfillments

      public List<P> readBatchOfOrderFulfillments(List<String> ids) throws com.broadleafcommerce.search.api.SearchIndexException
      Description copied from interface: OrderFulfillmentService
      Reads a batch of Order fulfillments by their IDs.
      Specified by:
      readBatchOfOrderFulfillments in interface OrderFulfillmentService<P extends com.broadleafcommerce.search.fulfillment.core.domain.OrderFulfillment>
      Parameters:
      ids - A list of order fulfillment IDs.
      Returns:
      A list of order fulfillments or an empty list.
      Throws:
      com.broadleafcommerce.search.api.SearchIndexException - if reading the order fulfillment fails.
    • readOrderFulfillmentsByOrderId

      public List<P> readOrderFulfillmentsByOrderId(String orderId) throws com.broadleafcommerce.search.api.SearchIndexException
      Description copied from interface: OrderFulfillmentService
      Reads a batch of Order fulfillments by order ID.
      Specified by:
      readOrderFulfillmentsByOrderId in interface OrderFulfillmentService<P extends com.broadleafcommerce.search.fulfillment.core.domain.OrderFulfillment>
      Parameters:
      orderId - an order ID.
      Returns:
      A list of order fulfillments or an empty list.
      Throws:
      com.broadleafcommerce.search.api.SearchIndexException - if reading the order fulfillment fails.
    • readOrderFulfillmentByContextId

      public Optional<P> readOrderFulfillmentByContextId(String contextId) throws com.broadleafcommerce.search.api.SearchIndexException
      Description copied from interface: OrderFulfillmentService
      Reads an OrderFulfillment by its ID.
      Specified by:
      readOrderFulfillmentByContextId in interface OrderFulfillmentService<P extends com.broadleafcommerce.search.fulfillment.core.domain.OrderFulfillment>
      Parameters:
      contextId - An order fulfillment id
      Returns:
      An order fulfillment optional or Optional.empty()
      Throws:
      com.broadleafcommerce.search.api.SearchIndexException - if reading the order fulfillment fails.
    • buildReadBatchOfOrderFulfillmentsUri

      protected URI buildReadBatchOfOrderFulfillmentsUri(List<String> ids)
    • buildReadOrderFulfillmensByOrderIdUri

      protected URI buildReadOrderFulfillmensByOrderIdUri(String orderId)
    • addBatchOrderFulfillmentIdFilter

      protected void addBatchOrderFulfillmentIdFilter(org.springframework.web.util.UriBuilder uriBuilder, List<String> ids)
    • buildBatchOrderFulfillmentIdsFilters

      protected cz.jirutka.rsql.parser.ast.Node buildBatchOrderFulfillmentIdsFilters(@Nullable String startId, @Nullable Map<String,Object> additionalProperties)
    • getWebClient

      protected org.springframework.web.reactive.function.client.WebClient getWebClient()
    • getOrderFulfillmentEndpoint

      protected String getOrderFulfillmentEndpoint()
    • getReadOrderFulfillmentIdsPath

      protected String getReadOrderFulfillmentIdsPath()
    • getReadOrderFulfillmentsPath

      protected String getReadOrderFulfillmentsPath()
    • getServiceClient

      public String getServiceClient()
      The service client to use when calling inventory services. Default is "indexerclient"
    • setServiceClient

      public void setServiceClient(String serviceClient)
      The service client to use when calling inventory services. Default is "indexerclient"