Class DefaultCartTransferService
java.lang.Object
com.broadleafcommerce.cartoperation.service.csr.DefaultCartTransferService
- All Implemented Interfaces:
CartTransferService
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultCartTransferService(CartOperationService cartOperationService, CartProvider cartProvider, com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils authenticationUtils, com.broadleafcommerce.common.extension.TypeFactory typeFactory, TransferCartTokenEncoder transferCartTokenEncoder, TransferCartTokenDecoder transferCartTokenDecoder, PaymentProvider<PaymentSummary> paymentProvider) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanaccountMatches(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.order.common.domain.CustomerRef customer) protected com.broadleafcommerce.cart.client.domain.CartActionAuditbuildCartActionAuditForClaimDefaultCart(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.order.common.domain.CustomerRef customer, @NonNull String oldCartStatus) Builds aCartActionAuditfor claiming default cart.protected UpdateCartRequestbuildUpdateCartRequest(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.cart.client.domain.CartActionAudit audit) protected booleancartOwnershipMatchWithCustomerRef(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.order.common.domain.CustomerRef customerRef) Determines if the givenCart.getCustomerRef()matches with the givenCustomerRef.createTransferCartToken(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart) Creates a newTransferCartTokenthat can be exchanged for proof of access to transfer a particular cart.protected booleancustomerMatches(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.order.common.domain.CustomerRef customer) protected com.broadleafcommerce.resource.security.utils.service.AuthenticationUtilsprotected CartOperationServiceprotected CartProviderprotected PaymentProvider<PaymentSummary>protected TransferCartTokenDecoderprotected TransferCartTokenEncoderprotected com.broadleafcommerce.common.extension.TypeFactoryRetrieve the list of statuses which are considered valid to set a cart to be the default/implicit cart.protected voidmakeCurrentDefaultCartNamed(@NonNull com.broadleafcommerce.order.common.domain.CustomerRef customerRef, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected voidmakeCurrentDefaultCartNamed(String customerId, String accountId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Make the current defaultCartfor the customer or account named to make way for a CSR transferred cart.protected voidmoveCustomerCartForCsrTransfer(String customerId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.com.broadleafcommerce.cart.client.domain.CartsetCartAsDefault(com.broadleafcommerce.cart.client.domain.Cart cartToMakeDefault, com.broadleafcommerce.order.common.domain.CustomerRef customer, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Transfer the provided cart to be the default/implicit cart for the provided customer.protected voidsetNewCartOwnership(com.broadleafcommerce.cart.client.domain.Cart cart) com.broadleafcommerce.cart.client.domain.CarttransferAnonymousCartOwnership(com.broadleafcommerce.cart.client.domain.Cart anonymousCart, com.broadleafcommerce.cart.client.domain.Cart registeredCustomerCart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Transfer the provided anonymous cart to be in-process for the currently authenticated customer.com.broadleafcommerce.cart.client.domain.CarttransferAnonymousCartOwnership(com.broadleafcommerce.cart.client.domain.Cart anonymousCart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Transfer the provided anonymous cart to be in-process for the currently authenticated customer.com.broadleafcommerce.cart.client.domain.CarttransferAnonymousCsrCartToInProcess(com.broadleafcommerce.cart.client.domain.Cart csrCart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Transfer the provided anonymous CSR cart to be in-process for the current customer or anonymous user.com.broadleafcommerce.cart.client.domain.CarttransferAnonymousCsrCartToInProcess(com.broadleafcommerce.cart.client.domain.Cart csrCart, com.broadleafcommerce.order.common.domain.CustomerRef customer, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Transfer the provided anonymous CSR cart to be in-process for the provided customercom.broadleafcommerce.cart.client.domain.CarttransferCsrCartToInProcess(com.broadleafcommerce.cart.client.domain.Cart csrCart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Transfer the provided CSR cart to be in-process for its customer.protected com.broadleafcommerce.cart.client.domain.CartupdateCart(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected com.broadleafcommerce.cart.client.domain.CartupdateCart(UpdateCartRequest updateCartRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected voidupdatePaymentManagementStatuses(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated.validateTransferCartToken(String tokenString) Attempts to decode and validate the provided token string into aTransferCartToken.
-
Constructor Details
-
DefaultCartTransferService
public DefaultCartTransferService(CartOperationService cartOperationService, CartProvider cartProvider, com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils authenticationUtils, com.broadleafcommerce.common.extension.TypeFactory typeFactory, TransferCartTokenEncoder transferCartTokenEncoder, TransferCartTokenDecoder transferCartTokenDecoder, PaymentProvider<PaymentSummary> paymentProvider)
-
-
Method Details
-
transferAnonymousCartOwnership
public com.broadleafcommerce.cart.client.domain.Cart transferAnonymousCartOwnership(com.broadleafcommerce.cart.client.domain.Cart anonymousCart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:CartTransferServiceTransfer the provided anonymous cart to be in-process for the currently authenticated customer.- Specified by:
transferAnonymousCartOwnershipin interfaceCartTransferService- Parameters:
anonymousCart- The anonymous cart to transfer ownershipcontextInfo- Context information around sandbox and multitenant state.- Returns:
- The cart now owned by the customer
-
transferAnonymousCartOwnership
public com.broadleafcommerce.cart.client.domain.Cart transferAnonymousCartOwnership(com.broadleafcommerce.cart.client.domain.Cart anonymousCart, @Nullable com.broadleafcommerce.cart.client.domain.Cart registeredCustomerCart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:CartTransferServiceTransfer the provided anonymous cart to be in-process for the currently authenticated customer.- Specified by:
transferAnonymousCartOwnershipin interfaceCartTransferService- Parameters:
anonymousCart- The anonymous cart to transfer ownershipregisteredCustomerCart- The pre-existing customer's cartcontextInfo- Context information around sandbox and multitenant state.- Returns:
- The cart now owned by the customer
-
setNewCartOwnership
protected void setNewCartOwnership(com.broadleafcommerce.cart.client.domain.Cart cart) -
transferCsrCartToInProcess
public com.broadleafcommerce.cart.client.domain.Cart transferCsrCartToInProcess(com.broadleafcommerce.cart.client.domain.Cart csrCart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:CartTransferServiceTransfer the provided CSR cart to be in-process for its customer.- Specified by:
transferCsrCartToInProcessin interfaceCartTransferService- Parameters:
csrCart- The CSR-owned cart to replace the customer's in-process cartcontextInfo- Context information around sandbox and multitenant state.- Returns:
- The in-process cart transferred to the customer
-
createTransferCartToken
public TransferCartToken createTransferCartToken(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart) Description copied from interface:CartTransferServiceCreates a newTransferCartTokenthat can be exchanged for proof of access to transfer a particular cart.- Specified by:
createTransferCartTokenin interfaceCartTransferService- Parameters:
cart- the cart which can be transferred using this token- Returns:
- a transfer cart token object with an encoded token that is used to prove access to transfer the cart
-
validateTransferCartToken
public TransferCartToken validateTransferCartToken(String tokenString) throws TransferCartTokenParseException Description copied from interface:CartTransferServiceAttempts to decode and validate the provided token string into aTransferCartToken. This is used to provide a way to check that a token is valid and to extract the contents.- Specified by:
validateTransferCartTokenin interfaceCartTransferService- Parameters:
tokenString- the encoded token string- Returns:
- a transfer cart token object
- Throws:
TransferCartTokenParseException
-
transferAnonymousCsrCartToInProcess
public com.broadleafcommerce.cart.client.domain.Cart transferAnonymousCsrCartToInProcess(com.broadleafcommerce.cart.client.domain.Cart csrCart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:CartTransferServiceTransfer the provided anonymous CSR cart to be in-process for the current customer or anonymous user.- Specified by:
transferAnonymousCsrCartToInProcessin interfaceCartTransferService- Parameters:
csrCart- The anonymous CSR-owned cart to transfercontextInfo- Context information around sandbox and multitenant state.- Returns:
- The in-process cart transferred to the customer or anonymous user
-
transferAnonymousCsrCartToInProcess
public com.broadleafcommerce.cart.client.domain.Cart transferAnonymousCsrCartToInProcess(com.broadleafcommerce.cart.client.domain.Cart csrCart, @Nullable com.broadleafcommerce.order.common.domain.CustomerRef customer, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:CartTransferServiceTransfer the provided anonymous CSR cart to be in-process for the provided customer- Specified by:
transferAnonymousCsrCartToInProcessin interfaceCartTransferService- Parameters:
csrCart- the CSR cartcustomer- the customercontextInfo- the context info- Returns:
- the transferred cart
-
setCartAsDefault
public com.broadleafcommerce.cart.client.domain.Cart setCartAsDefault(com.broadleafcommerce.cart.client.domain.Cart cartToMakeDefault, @Nullable com.broadleafcommerce.order.common.domain.CustomerRef customer, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Description copied from interface:CartTransferServiceTransfer the provided cart to be the default/implicit cart for the provided customer.By default, implicit cart refers to a cart with no name and status of
DefaultCartStatuses.IN_PROCESS.- Specified by:
setCartAsDefaultin interfaceCartTransferService- Parameters:
cartToMakeDefault- the cart to make defaultcustomer- the current authenticated customercontextInfo- Context information around sandbox and multitenant state.- Returns:
- the cart that is set to default
-
moveCustomerCartForCsrTransfer
@Deprecated(since="1.8.0", forRemoval=true) protected void moveCustomerCartForCsrTransfer(@Nullable String customerId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated, for removal: This API element is subject to removal in a future version.since 1.8.0, in favor ofmakeCurrentDefaultCartNamed(String, String, ContextInfo) -
makeCurrentDefaultCartNamed
protected void makeCurrentDefaultCartNamed(@NonNull @NonNull com.broadleafcommerce.order.common.domain.CustomerRef customerRef, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
makeCurrentDefaultCartNamed
protected void makeCurrentDefaultCartNamed(@Nullable String customerId, @Nullable String accountId, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Make the current defaultCartfor the customer or account named to make way for a CSR transferred cart.- Parameters:
customerId- the id of the customer who owns the cartaccountId- the id of the account that the cart belongs tocontextInfo- context surrounding sandboxing and multitenant state
-
updateCart
protected com.broadleafcommerce.cart.client.domain.Cart updateCart(com.broadleafcommerce.cart.client.domain.Cart cart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
updateCart
protected com.broadleafcommerce.cart.client.domain.Cart updateCart(UpdateCartRequest updateCartRequest, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) -
getValidSetDefaultCartStatuses
Retrieve the list of statuses which are considered valid to set a cart to be the default/implicit cart.Custom valid statuses should be added here.
- Returns:
- the list of statuses which are considered valid to set a cart to be the default/implicit cart
-
cartOwnershipMatchWithCustomerRef
protected boolean cartOwnershipMatchWithCustomerRef(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @Nullable com.broadleafcommerce.order.common.domain.CustomerRef customerRef) Determines if the givenCart.getCustomerRef()matches with the givenCustomerRef.- Parameters:
cart- theCartto check the ownershipcustomerRef- theCustomerRefto check against- Returns:
- true if the cart ownership matches with the given
CustomerRef, otherwise false
-
customerMatches
protected boolean customerMatches(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.order.common.domain.CustomerRef customer) -
accountMatches
protected boolean accountMatches(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.order.common.domain.CustomerRef customer) -
buildCartActionAuditForClaimDefaultCart
protected com.broadleafcommerce.cart.client.domain.CartActionAudit buildCartActionAuditForClaimDefaultCart(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.order.common.domain.CustomerRef customer, @NonNull @NonNull String oldCartStatus) Builds aCartActionAuditfor claiming default cart.- Parameters:
cart- theCartbeing claimed as default cartcustomer- theCustomerRefwho owns this cartoldCartStatus- theCart.getStatus()prior claiming this cart- Returns:
- a
CartActionAuditbuilt for claiming default cart
-
buildUpdateCartRequest
protected UpdateCartRequest buildUpdateCartRequest(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull @NonNull com.broadleafcommerce.cart.client.domain.CartActionAudit audit) - Parameters:
cart- theCartbeing updatedaudit- theCartActionAuditto create along with the cart update- Returns:
- a
UpdateCartRequestfrom the givenCartandCartActionAudit
-
updatePaymentManagementStatuses
@Deprecated protected void updatePaymentManagementStatuses(@NonNull @NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Deprecated. -
getCartOperationService
-
getCartProvider
-
getAuthenticationUtils
protected com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils getAuthenticationUtils() -
getTypeFactory
protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory() -
getTransferCartTokenEncoder
-
getTransferCartTokenDecoder
-
getPaymentProvider
-
makeCurrentDefaultCartNamed(String, String, ContextInfo)