Class ExternalCatalogProvider<I extends CatalogItem>

java.lang.Object
com.broadleafcommerce.bulkoperations.service.provider.external.ExternalCatalogProvider<I>
All Implemented Interfaces:
CatalogProvider<I>

public class ExternalCatalogProvider<I extends CatalogItem> extends Object implements CatalogProvider<I>
  • Constructor Details

    • ExternalCatalogProvider

      public ExternalCatalogProvider(org.springframework.web.reactive.function.client.WebClient webClient, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ProviderUtils providerUtils, ExternalCatalogProperties properties)
  • Method Details

    • createBulkOperation

      public com.broadleafcommerce.bulk.v2.domain.BulkOperationResponse createBulkOperation(com.broadleafcommerce.bulk.v2.domain.BulkOperationRequest bulkOperationRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CatalogProvider
      Creates a bulk operation with the supplied BulkOperationRequest.
      Specified by:
      createBulkOperation in interface CatalogProvider<I extends CatalogItem>
      Parameters:
      bulkOperationRequest - the BulkOperationRequest to create
      contextInfo - context information surrounding sandboxing/multitenant state
      Returns:
      the created bulk operation
    • getSupportedBulkOperations

      public List<com.broadleafcommerce.bulk.v2.domain.SupportedBulkOperation> getSupportedBulkOperations(String operationType, @Nullable String entityType)
      Description copied from interface: CatalogProvider
      Retrieves the list of supported bulk operations for the given operation type in catalog services.
      Specified by:
      getSupportedBulkOperations in interface CatalogProvider<I extends CatalogItem>
      Parameters:
      operationType - the operation type to check
      entityType - the entity type to check
      Returns:
      the list of supported bulk operations
    • initializeItems

      public com.broadleafcommerce.bulk.v2.domain.InitializeItemResponse initializeItems(SearchResponse<I> searchResponse, com.broadleafcommerce.bulk.v2.domain.BulkOperationRequest bulkOperationRequest, com.broadleafcommerce.bulk.v2.domain.BulkOperationResponse bulkOperationResponse, org.springframework.data.domain.Pageable pageable, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CatalogProvider
      Initializes the bulk operation items from the entities returned in the SearchResponse.
      Specified by:
      initializeItems in interface CatalogProvider<I extends CatalogItem>
      Parameters:
      searchResponse - the list of catalog items from the search service
      bulkOperationRequest - the BulkOperationRequest for this bulk operation
      bulkOperationResponse - the bulk operation created
      pageable - the current page information
      contextInfo - context information surrounding sandboxing/multitenant state
      Returns:
      the InitializeItemResponse containing the items created for the bulk operation
    • updateBulkOperationTotalRecordCount

      public com.broadleafcommerce.bulk.v2.domain.BulkOperationResponse updateBulkOperationTotalRecordCount(long totalRecordCount, com.broadleafcommerce.bulk.v2.domain.BulkOperationResponse bulkOperationResponse, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      Description copied from interface: CatalogProvider
      Updates the bulk operation to set the total record count after item initialization.
      Specified by:
      updateBulkOperationTotalRecordCount in interface CatalogProvider<I extends CatalogItem>
      Parameters:
      totalRecordCount - the total number of bulk operation item records
      bulkOperationResponse - the bulk operation
      contextInfo - context information surrounding sandboxing/multitenant state
      Returns:
      the updated bulk operation
    • getCreateBulkOperationUrl

      protected String getCreateBulkOperationUrl(@Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getSupportedBulkOpsUrl

      protected String getSupportedBulkOpsUrl(String operationType, @Nullable String entityType)
    • getInitializeBulkOperationItemsUrl

      protected String getInitializeBulkOperationItemsUrl(String bulkOperationId, org.springframework.data.domain.Pageable pageable, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
    • getUpdateBulkOperationTotalRecordCountUrl

      protected String getUpdateBulkOperationTotalRecordCountUrl(com.broadleafcommerce.bulk.v2.domain.BulkOperationResponse bulkOperationResponse)
    • getServiceClient

      protected String getServiceClient()
    • getWebClient

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

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

      protected ProviderUtils getProviderUtils()
    • getProperties

      protected ExternalCatalogProperties getProperties()