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}) public class CartOperationServiceAutoConfiguration extends Object
- Author:
- Chad Harchar (charchar)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CartOperationServiceAutoConfiguration.BroadleafCatalogResourcesAutoConfiguration
static class
CartOperationServiceAutoConfiguration.CartCheckoutMessagingAutoConfiguration
static class
CartOperationServiceAutoConfiguration.ValidationConfiguration
-
Constructor Summary
Constructors Constructor Description CartOperationServiceAutoConfiguration()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.ResourceLockProvider
cartOperationsResourceLockProvider(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalCartProperties properties)
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
cartOpsMessageLockService(ResourceLockProvider provider)
CheckoutPaymentMethodService
cartOpsPaymentMethodService(CartOperationCheckoutProperties cartOperationCheckoutProperties)
PaymentPriorityStrategy
cartOpsPaymentPriorityStrategy()
org.springframework.retry.support.RetryTemplate
cartPendingPaymentFailedMessageRetryTemplate()
org.springframework.retry.support.RetryTemplate
cartRejectMessageRetryTemplate()
org.springframework.retry.support.RetryTemplate
checkoutCompletionMessageRetryTemplate()
org.springframework.retry.support.RetryTemplate
checkoutWorkflowRollbackMessageRetryTemplate()
CustomerProvider
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
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
shippingProvider(org.springframework.web.reactive.function.client.WebClient webClient, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.common.extension.TypeFactory typeFactory, ExternalShippingProperties shippingProperties)
-
-
-
Method Detail
-
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
-
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
@Bean @ConditionalOnMissingBean public PaymentPriorityStrategy cartOpsPaymentPriorityStrategy()
-
cartOpsPaymentMethodService
@Bean @ConditionalOnMissingBean public CheckoutPaymentMethodService cartOpsPaymentMethodService(CartOperationCheckoutProperties cartOperationCheckoutProperties)
-
cartOpsMessageLockService
public static CartOpsMessageLockService cartOpsMessageLockService(ResourceLockProvider provider)
-
cartOpsIdempotentMessageConsumptionService
public static com.broadleafcommerce.common.messaging.service.DefaultIdempotentMessageConsumptionService cartOpsIdempotentMessageConsumptionService(com.broadleafcommerce.common.messaging.service.MessageLockService messageLockService)
-
-