Class ExternalProviderUtility
java.lang.Object
com.broadleafcommerce.customer.client.provider.external.ExternalProviderUtility
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
TheApiError.getType()
that indicates entity is not found. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected RuntimeException
buildNotFoundException
(com.fasterxml.jackson.databind.ObjectMapper objectMapper, org.springframework.web.reactive.function.client.WebClientResponseException.NotFound nfe) Builds a not found exception that correlates to the givenWebClientResponseException.NotFound
exception.org.springframework.http.HttpHeaders
getCommonHeaders
(com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Builds the headers to be passed along with the request to the provider.protected boolean
isEntityNotFound
(org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError> apiError) Determines if the givenResponseEntity
indicates entity not found.protected String
orderToParamValue
(org.springframework.data.domain.Sort.Order order) Converts a sort order into a query parameter value (e.g.pageableToParams
(org.springframework.data.domain.Pageable pageable) Converts a pageable into its corresponding query parameters.Convenience method to generate a map of variables.
-
Field Details
-
ENTITY_NOT_FOUND
TheApiError.getType()
that indicates entity is not found.- See Also:
-
-
Constructor Details
-
ExternalProviderUtility
public ExternalProviderUtility()
-
-
Method Details
-
getCommonHeaders
public org.springframework.http.HttpHeaders getCommonHeaders(com.fasterxml.jackson.databind.ObjectMapper objectMapper, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Builds the headers to be passed along with the request to the provider.- Parameters:
contextInfo
-ContextInfo
from the original request containing tenant and sandbox info- Returns:
- The headers to be passed along with the request to the provider.
-
buildNotFoundException
protected RuntimeException buildNotFoundException(com.fasterxml.jackson.databind.ObjectMapper objectMapper, org.springframework.web.reactive.function.client.WebClientResponseException.NotFound nfe) Builds a not found exception that correlates to the givenWebClientResponseException.NotFound
exception.If the exception is of type
ENTITY_NOT_FOUND
, anEntityMissingException
is thrown. Otherwise it's wrapped inProviderApiException
.- Parameters:
nfe
- theWebClientResponseException.NotFound
to build the not found exception from- Returns:
- a not found exception that correlates to the given
WebClientResponseException.NotFound
exception
-
isEntityNotFound
protected boolean isEntityNotFound(org.springframework.http.ResponseEntity<com.broadleafcommerce.common.error.ApiError> apiError) Determines if the givenResponseEntity
indicates entity not found.This is useful to distinguish a
HttpStatus.NOT_FOUND
response indicating entity cannot be found from a response indicating the endpoint/url cannot be found.- Parameters:
apiError
- theResponseEntity
to check against- Returns:
- true if the given
ResponseEntity
indicates entity not found
-
uriVars
Convenience method to generate a map of variables.- Parameters:
keysAndValues
- the keys and values (in pairs, alternating) to transform into a map- Returns:
- the keys and values as a map
-
pageableToParams
public org.springframework.util.MultiValueMap<String,String> pageableToParams(@Nullable org.springframework.data.domain.Pageable pageable) Converts a pageable into its corresponding query parameters.- Parameters:
pageable
- the pageable to convert- Returns:
- a map of query parameters
-
orderToParamValue
Converts a sort order into a query parameter value (e.g. name,asc).- Parameters:
order
- the sort order to convert- Returns:
- the query parameter value for the sort order
-