Class CartOperationServiceAutoConfiguration
java.lang.Object
com.broadleafcommerce.cartoperation.service.autoconfigure.CartOperationServiceAutoConfiguration
@Configuration
@EnableConfigurationProperties({ExternalCartProperties.class,ExternalCatalogProperties.class,ExternalPricingProperties.class,ExternalOfferProperties.class,ExternalInventoryProperties.class,CartOperationServiceProperties.class,CartOperationCheckoutProperties.class,ItemListAddToCartProperties.class,JWTTransferCartTokenEncoderProperties.class,JWTTransferCartTokenDecoderProperties.class,SSLVerificationProperties.class,CartItemMappingProperties.class,ExternalShippingProperties.class,ExternalPaymentProperties.class,ExternalCreditAccountProperties.class,ExternalCustomerProperties.class,ExternalFulfillmentProviderProperties.class,CartItemConfigurationProperties.class,DelegatingTaxServiceProperties.class,FulfillmentPriceConfigurationProperties.class,com.broadleafcommerce.cart.client.properties.QuoteProperties.class,QuoteConfigurationProperties.class})
public class CartOperationServiceAutoConfiguration
extends Object
- Author:
- Chad Harchar (charchar)
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
static class
static class
static class
static class
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncartHistoryService
(CartProvider cartProvider, PaymentProvider<PaymentSummary> paymentProvider, com.broadleafcommerce.common.extension.TypeFactory typeFactory) org.springframework.http.client.reactive.ClientHttpConnector
cartOperationsClientHttpConnector
(SSLVerificationProperties sslVerificationProperties) Supplier<org.springframework.security.oauth2.client.web.reactive.function.client.ServletOAuth2AuthorizedClientExchangeFilterFunction>
cartOperationsOauth2FilterFunctionSupplier
(org.springframework.security.oauth2.client.registration.ClientRegistrationRepository clientRegistrations, Optional<org.springframework.http.client.reactive.ClientHttpConnector> clientHttpConnector) We'll leave this with a general name as it can (and should) be reused in a flex package.cartOperationsResourceLockProvider
(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCartProperties properties) com.broadleafcommerce.common.extension.data.PackageDataRouteSupplier<com.broadleafcommerce.common.extension.data.DataRouteSupporting>
cartOperationsRouteSupplier
(com.broadleafcommerce.common.extension.data.DataRouteSupporting route) com.broadleafcommerce.common.extension.data.DataRouteSupporting
Defines aDataRouteSupporting
for Cart Ops.org.springframework.web.reactive.function.client.WebClient
cartOperationsWebClient
(Supplier<org.springframework.security.oauth2.client.web.reactive.function.client.ServletOAuth2AuthorizedClientExchangeFilterFunction> oauth2FilterSupplier, com.fasterxml.jackson.databind.ObjectMapper objectMapper, Optional<org.springframework.http.client.reactive.ClientHttpConnector> clientHttpConnector) static com.broadleafcommerce.common.messaging.service.DefaultIdempotentMessageConsumptionService
cartOpsIdempotentMessageConsumptionService
(com.broadleafcommerce.common.messaging.service.MessageLockService messageLockService) static CartOpsMessageLockService
cartOpsPaymentMethodService
(CartOperationCheckoutProperties cartOperationCheckoutProperties) org.springframework.retry.support.RetryTemplate
org.springframework.retry.support.RetryTemplate
org.springframework.retry.support.RetryTemplate
org.springframework.retry.support.RetryTemplate
customerProvider
(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCustomerProperties externalCustomerProperties) <T extends com.broadleafcommerce.cart.client.domain.ItemListAccessRule>
ItemListAccessRuleProvider<T>itemListAccessRuleProvider
(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCartProperties externalCartProperties) itemListAddToCartService
(ItemListSecurityService<com.broadleafcommerce.cart.client.domain.ItemListAccessRule> securityService, ItemListItemManagementService<com.broadleafcommerce.cart.client.domain.ItemListItem> itemManagementService, CartOperationService cartOpService, ItemListAddToCartProperties properties, com.broadleafcommerce.common.extension.TypeFactory typeFactory) <T extends com.broadleafcommerce.cart.client.domain.ItemListItem>
ItemListItemManagementService<T>itemListItemManagementService
(ItemListProvider<com.broadleafcommerce.cart.client.domain.ItemList> itemListProvider, ItemListItemProvider<T> itemListItemProvider, ItemListSecurityService<com.broadleafcommerce.cart.client.domain.ItemListAccessRule> securityService, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ItemListItemMergingService<T> mergingService) <T extends com.broadleafcommerce.cart.client.domain.ItemListItem>
ItemListItemProvider<T>itemListItemProvider
(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCartProperties externalCartProperties) <T extends com.broadleafcommerce.cart.client.domain.ItemList>
ItemListManagementService<T>itemListManagementService
(com.broadleafcommerce.common.extension.TypeFactory typeFactory, ItemListProvider<T> listProvider, ItemListSecurityService<com.broadleafcommerce.cart.client.domain.ItemListAccessRule> securityService, ItemListItemManagementService<com.broadleafcommerce.cart.client.domain.ItemListItem> itemManagementService) <T extends com.broadleafcommerce.cart.client.domain.ItemList>
ItemListProvider<T>itemListProvider
(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCartProperties externalCartProperties) <T extends com.broadleafcommerce.cart.client.domain.ItemListAccessRule>
ItemListSecurityService<T>itemListSecurityService
(com.broadleafcommerce.common.extension.TypeFactory typeFactory, ItemListAccessRuleProvider<T> ruleProvider, CartOperationServiceProperties properties) <T extends PaymentSummary>
PaymentProvider<T>paymentProvider
(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalPaymentProperties externalPaymentsProperties) shippingProvider
(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalShippingProperties shippingProperties)
-
Constructor Details
-
CartOperationServiceAutoConfiguration
public CartOperationServiceAutoConfiguration()
-
-
Method Details
-
cartOperationsWebClient
@Bean @ConditionalOnMissingBean(name="cartOperationsWebClient") public org.springframework.web.reactive.function.client.WebClient cartOperationsWebClient(@Qualifier("oAuth2FilterFunctionSupplier") Supplier<org.springframework.security.oauth2.client.web.reactive.function.client.ServletOAuth2AuthorizedClientExchangeFilterFunction> oauth2FilterSupplier, com.fasterxml.jackson.databind.ObjectMapper objectMapper, @Qualifier("cartOperationsClientHttpConnector") Optional<org.springframework.http.client.reactive.ClientHttpConnector> clientHttpConnector) -
cartOperationsOauth2FilterFunctionSupplier
@Bean(name="oAuth2FilterFunctionSupplier") @ConditionalOnMissingBean(name="oAuth2FilterFunctionSupplier") public Supplier<org.springframework.security.oauth2.client.web.reactive.function.client.ServletOAuth2AuthorizedClientExchangeFilterFunction> cartOperationsOauth2FilterFunctionSupplier(org.springframework.security.oauth2.client.registration.ClientRegistrationRepository clientRegistrations, @Qualifier("cartOperationsClientHttpConnector") Optional<org.springframework.http.client.reactive.ClientHttpConnector> clientHttpConnector) We'll leave this with a general name as it can (and should) be reused in a flex package.- Parameters:
clientRegistrations
-clientHttpConnector
-- Returns:
-
cartOperationsClientHttpConnector
@Bean @ConditionalOnMissingBean(name="cartOperationsClientHttpConnector") public org.springframework.http.client.reactive.ClientHttpConnector cartOperationsClientHttpConnector(SSLVerificationProperties sslVerificationProperties) throws SSLException - Throws:
SSLException
-
cartHistoryService
@Bean @ConditionalOnMissingBean public CartHistoryService cartHistoryService(CartProvider cartProvider, PaymentProvider<PaymentSummary> paymentProvider, com.broadleafcommerce.common.extension.TypeFactory typeFactory) -
itemListManagementService
@Bean @ConditionalOnMissingBean public <T extends com.broadleafcommerce.cart.client.domain.ItemList> ItemListManagementService<T> itemListManagementService(com.broadleafcommerce.common.extension.TypeFactory typeFactory, ItemListProvider<T> listProvider, ItemListSecurityService<com.broadleafcommerce.cart.client.domain.ItemListAccessRule> securityService, ItemListItemManagementService<com.broadleafcommerce.cart.client.domain.ItemListItem> itemManagementService) -
itemListAddToCartService
@Bean @ConditionalOnMissingBean public ItemListAddToCartService itemListAddToCartService(ItemListSecurityService<com.broadleafcommerce.cart.client.domain.ItemListAccessRule> securityService, ItemListItemManagementService<com.broadleafcommerce.cart.client.domain.ItemListItem> itemManagementService, CartOperationService cartOpService, ItemListAddToCartProperties properties, com.broadleafcommerce.common.extension.TypeFactory typeFactory) -
itemListProvider
@Bean @ConditionalOnMissingBean public <T extends com.broadleafcommerce.cart.client.domain.ItemList> ItemListProvider<T> itemListProvider(@Qualifier("cartOperationsWebClient") org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCartProperties externalCartProperties) -
itemListItemManagementService
@Bean @ConditionalOnMissingBean public <T extends com.broadleafcommerce.cart.client.domain.ItemListItem> ItemListItemManagementService<T> itemListItemManagementService(ItemListProvider<com.broadleafcommerce.cart.client.domain.ItemList> itemListProvider, ItemListItemProvider<T> itemListItemProvider, ItemListSecurityService<com.broadleafcommerce.cart.client.domain.ItemListAccessRule> securityService, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ItemListItemMergingService<T> mergingService) -
itemListItemProvider
@Bean @ConditionalOnMissingBean public <T extends com.broadleafcommerce.cart.client.domain.ItemListItem> ItemListItemProvider<T> itemListItemProvider(@Qualifier("cartOperationsWebClient") org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCartProperties externalCartProperties) -
itemListAccessRuleProvider
@Bean @ConditionalOnMissingBean public <T extends com.broadleafcommerce.cart.client.domain.ItemListAccessRule> ItemListAccessRuleProvider<T> itemListAccessRuleProvider(@Qualifier("cartOperationsWebClient") org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCartProperties externalCartProperties) -
cartOperationsResourceLockProvider
@Bean @ConditionalOnMissingBean public ResourceLockProvider cartOperationsResourceLockProvider(@Qualifier("cartOperationsWebClient") org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCartProperties properties) -
itemListSecurityService
@Bean @ConditionalOnMissingBean public <T extends com.broadleafcommerce.cart.client.domain.ItemListAccessRule> ItemListSecurityService<T> itemListSecurityService(com.broadleafcommerce.common.extension.TypeFactory typeFactory, ItemListAccessRuleProvider<T> ruleProvider, CartOperationServiceProperties properties) -
checkoutWorkflowRollbackMessageRetryTemplate
@Bean @ConditionalOnMissingBean(name="checkoutWorkflowRollbackMessageRetryTemplate") public org.springframework.retry.support.RetryTemplate checkoutWorkflowRollbackMessageRetryTemplate() -
checkoutCompletionMessageRetryTemplate
@Bean @ConditionalOnMissingBean(name="checkoutCompletionMessageRetryTemplate") public org.springframework.retry.support.RetryTemplate checkoutCompletionMessageRetryTemplate() -
cartPendingPaymentFailedMessageRetryTemplate
@Bean @ConditionalOnMissingBean(name="cartPendingPaymentFailedMessageRetryTemplate") public org.springframework.retry.support.RetryTemplate cartPendingPaymentFailedMessageRetryTemplate() -
cartRejectMessageRetryTemplate
@Bean @ConditionalOnMissingBean(name="cartRejectMessageRetryTemplate") public org.springframework.retry.support.RetryTemplate cartRejectMessageRetryTemplate() -
shippingProvider
@Bean @ConditionalOnMissingBean public ShippingProvider shippingProvider(@Qualifier("cartOperationsWebClient") org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalShippingProperties shippingProperties) -
paymentProvider
@Bean @ConditionalOnMissingBean public <T extends PaymentSummary> PaymentProvider<T> paymentProvider(@Qualifier("cartOperationsWebClient") org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalPaymentProperties externalPaymentsProperties) -
customerProvider
@Bean @ConditionalOnMissingBean public CustomerProvider customerProvider(@Qualifier("cartOperationsWebClient") org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCustomerProperties externalCustomerProperties) -
cartOpsPaymentPriorityStrategy
-
cartOpsPaymentMethodService
@Bean @ConditionalOnMissingBean public CheckoutPaymentMethodService cartOpsPaymentMethodService(CartOperationCheckoutProperties cartOperationCheckoutProperties) -
cartOpsMessageLockService
-
cartOpsIdempotentMessageConsumptionService
public static com.broadleafcommerce.common.messaging.service.DefaultIdempotentMessageConsumptionService cartOpsIdempotentMessageConsumptionService(com.broadleafcommerce.common.messaging.service.MessageLockService messageLockService) -
cartOperationsSource
@Bean(name="cartOperationsSource") @ConditionalOnMissingBean(name="cartOperationsSource") public com.broadleafcommerce.common.extension.data.DataRouteSupporting cartOperationsSource()Defines aDataRouteSupporting
for Cart Ops. By default, this is detached from any persistence and is used for supporting theCustomerSegmentContextInfoCustomizer
in a flexpackage configuration to ensure it is only invoked for this specific service. -
cartOperationsRouteSupplier
@Bean(name="cartOperationsRouteSupplier") @ConditionalOnMissingBean(name="cartOperationsRouteSupplier") public com.broadleafcommerce.common.extension.data.PackageDataRouteSupplier<com.broadleafcommerce.common.extension.data.DataRouteSupporting> cartOperationsRouteSupplier(@Nullable @Qualifier("cartOperationsSource") com.broadleafcommerce.common.extension.data.DataRouteSupporting route) -
cartUtils
-