Class DefaultCustomerService

java.lang.Object
com.broadleafcommerce.search.index.customer.service.DefaultCustomerService
All Implemented Interfaces:
CustomerService

public class DefaultCustomerService extends Object implements CustomerService
Default implementation to read customers from the Customer Service.
  • Field Details

  • Constructor Details

    • DefaultCustomerService

      public DefaultCustomerService(org.springframework.web.reactive.function.client.WebClient webClient, String customerEndpoint, String readCustomerIdsPath, String readCustomersPath)
  • Method Details

    • readBatchOfCustomerIds

      public List<String> readBatchOfCustomerIds(@Nullable String startId, int batchSize) throws com.broadleafcommerce.search.api.SearchIndexException
      Description copied from interface: CustomerService
      Reads a batch of IDs to be placed in a queue for processing.
      Specified by:
      readBatchOfCustomerIds in interface CustomerService
      Parameters:
      startId - The starting ID
      batchSize - The size of the batch
      Returns:
      A list of customer IDs.
      Throws:
      com.broadleafcommerce.search.api.SearchIndexException - if reading the customer ids fails.
    • buildReadBatchOfCustomerIdsUri

      protected String buildReadBatchOfCustomerIdsUri(@Nullable String startId, int batchSize)
    • readBatchOfCustomers

      public List<com.broadleafcommerce.search.customer.core.domain.Customer> readBatchOfCustomers(List<String> ids) throws com.broadleafcommerce.search.api.SearchIndexException
      Description copied from interface: CustomerService
      Reads a batch of Customers by their IDs.
      Specified by:
      readBatchOfCustomers in interface CustomerService
      Parameters:
      ids - A list of customer IDs.
      Returns:
      A list of customers or an empty list.
      Throws:
      com.broadleafcommerce.search.api.SearchIndexException - if reading the customer fails.
    • readCustomer

      public Optional<com.broadleafcommerce.search.customer.core.domain.Customer> readCustomer(@NonNull @NonNull @NonNull String id) throws com.broadleafcommerce.search.api.SearchIndexException
      Description copied from interface: CustomerService
      Reads a batch of Customers by their IDs.
      Specified by:
      readCustomer in interface CustomerService
      Parameters:
      id - A customer id
      Returns:
      A customer optional or Optional.empty()
      Throws:
      com.broadleafcommerce.search.api.SearchIndexException - if reading the customer fails.
    • buildReadBatchOfCustomersUri

      protected String buildReadBatchOfCustomersUri(List<String> ids)
    • addBatchCustomerIdFilter

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

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

      protected String getCustomerEndpoint()
    • getReadCustomerIdsPath

      protected String getReadCustomerIdsPath()
    • getReadCustomersPath

      protected String getReadCustomersPath()
    • 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"