Class SolrCatalogInventoryService
java.lang.Object
com.broadleafcommerce.search.index.catalog.service.DefautlInventoryAvailabilityService
com.broadleafcommerce.search.index.catalog.solr.service.SolrCatalogInventoryService
- All Implemented Interfaces:
com.broadleafcommerce.search.index.catalog.service.InventoryAvailabilityService
public class SolrCatalogInventoryService
extends com.broadleafcommerce.search.index.catalog.service.DefautlInventoryAvailabilityService
This component extends the
DefautlInventoryAvailabilityService
and implements a method to
update Solr documents with Inventory availability data, when Stock Change notification occurs,
for example.- Author:
- Kelly Tisdell (ktisdell)
-
Field Summary
Fields inherited from class com.broadleafcommerce.search.index.catalog.service.DefautlInventoryAvailabilityService
ADDITIONAL_SKUS_JSON_PATH, CLIENT_REGISTRATION_ID, FOR_IN_STORE_PARAM, FOR_PICKUP_PARAM, FOR_SHIPPING_PARAM, MIN_QUANTITY_PARAM, PRIMARY_SKU_JSON_PATH, SKU_CODES_PARAM
-
Constructor Summary
ConstructorsConstructorDescriptionSolrCatalogInventoryService
(org.springframework.web.reactive.function.client.WebClient webClient, String inventoryEndpoint, String readAvailabilityPath, com.fasterxml.jackson.databind.ObjectMapper mapper, com.broadleafcommerce.search.provider.solr.SolrCollectionResolver collectionResolver, org.apache.solr.client.solrj.SolrClient solrClient) -
Method Summary
Modifier and TypeMethodDescriptionprotected String
buildReadInventoryAvailabilityUri
(Set<String> skus, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected com.broadleafcommerce.data.tracking.core.context.ContextInfo
protected String
determineScope
(com.broadleafcommerce.search.catalog.core.domain.ConsolidatedInventoryAvailability availability) protected String
determineSkuReferences
(Set<String> skus, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected List<com.broadleafcommerce.search.catalog.core.domain.ConsolidatedInventoryAvailability>
findConsolidatedInventoryAvailability
(Set<String> skus, String tenantId) protected com.broadleafcommerce.search.provider.solr.SolrCollectionResolver
protected int
Millis within which to commit the update to Solr.protected org.apache.solr.client.solrj.SolrClient
protected com.broadleafcommerce.search.provider.solr.autoconfigure.BroadleafSolrProperties
protected boolean
isApplicationScoped
(com.broadleafcommerce.search.catalog.core.domain.ConsolidatedInventoryAvailability availability) protected <T extends org.apache.solr.client.solrj.SolrResponse>
org.apache.solr.client.solrj.SolrRequest<T>setBasicAuthCredentialsIfNecessary
(org.apache.solr.client.solrj.SolrRequest<T> request) void
setSolrProperties
(com.broadleafcommerce.search.provider.solr.autoconfigure.BroadleafSolrProperties solrProperties) void
updateInventoryAvailability
(com.broadleafcommerce.search.catalog.core.domain.ConsolidatedInventoryAvailability consolidatedInventoryAvailability) protected void
updateInventoryAvailabilityInternal
(com.broadleafcommerce.search.catalog.core.domain.ConsolidatedInventoryAvailability consolidatedInventoryAvailability, String collectionName) Methods inherited from class com.broadleafcommerce.search.index.catalog.service.DefautlInventoryAvailabilityService
buildBasicUri, buildReadInventoryAvailabilityUri, determineSkuReferences, findConsolidatedInventoryAvailability, getForPickup, getForShipping, getHeaders, getInStore, getInventoryEndpoint, getMapper, getMinQuantity, getReadAvailabilityPath, getServiceClient, getWebClient, setServiceClient
-
Constructor Details
-
SolrCatalogInventoryService
public SolrCatalogInventoryService(org.springframework.web.reactive.function.client.WebClient webClient, String inventoryEndpoint, String readAvailabilityPath, com.fasterxml.jackson.databind.ObjectMapper mapper, com.broadleafcommerce.search.provider.solr.SolrCollectionResolver collectionResolver, org.apache.solr.client.solrj.SolrClient solrClient)
-
-
Method Details
-
updateInventoryAvailability
public void updateInventoryAvailability(com.broadleafcommerce.search.catalog.core.domain.ConsolidatedInventoryAvailability consolidatedInventoryAvailability) -
updateInventoryAvailabilityInternal
protected void updateInventoryAvailabilityInternal(com.broadleafcommerce.search.catalog.core.domain.ConsolidatedInventoryAvailability consolidatedInventoryAvailability, String collectionName) -
setBasicAuthCredentialsIfNecessary
protected <T extends org.apache.solr.client.solrj.SolrResponse> org.apache.solr.client.solrj.SolrRequest<T> setBasicAuthCredentialsIfNecessary(org.apache.solr.client.solrj.SolrRequest<T> request) -
getCommitWithin
protected int getCommitWithin()Millis within which to commit the update to Solr.- Returns:
-
findConsolidatedInventoryAvailability
-
createContextInfoForConsolidatingAvailabilityRequest
protected com.broadleafcommerce.data.tracking.core.context.ContextInfo createContextInfoForConsolidatingAvailabilityRequest(String tenantId) -
buildReadInventoryAvailabilityUri
-
determineSkuReferences
-
isApplicationScoped
protected boolean isApplicationScoped(com.broadleafcommerce.search.catalog.core.domain.ConsolidatedInventoryAvailability availability) -
determineScope
protected String determineScope(com.broadleafcommerce.search.catalog.core.domain.ConsolidatedInventoryAvailability availability) -
getCollectionResolver
protected com.broadleafcommerce.search.provider.solr.SolrCollectionResolver getCollectionResolver() -
getSolrClient
protected org.apache.solr.client.solrj.SolrClient getSolrClient() -
getSolrProperties
protected com.broadleafcommerce.search.provider.solr.autoconfigure.BroadleafSolrProperties getSolrProperties() -
setSolrProperties
@Autowired(required=false) public void setSolrProperties(com.broadleafcommerce.search.provider.solr.autoconfigure.BroadleafSolrProperties solrProperties)
-