Class DefaultCustomerService

  • All Implemented Interfaces:
    CustomerService

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

      • DefaultCustomerService

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

      • 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"