Class DefaultCartTransferService
java.lang.Object
com.broadleafcommerce.cartoperation.service.csr.DefaultCartTransferService
- All Implemented Interfaces:
CartTransferService
-
Constructor Summary
ConstructorDescriptionDefaultCartTransferService
(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 boolean
accountMatches
(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.order.common.domain.CustomerRef customer) protected com.broadleafcommerce.cart.client.domain.CartActionAudit
buildCartActionAuditForClaimDefaultCart
(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.order.common.domain.CustomerRef customer, @NonNull String oldCartStatus) Builds aCartActionAudit
for claiming default cart.protected UpdateCartRequest
buildUpdateCartRequest
(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.cart.client.domain.CartActionAudit audit) protected boolean
cartOwnershipMatchWithCustomerRef
(@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 newTransferCartToken
that can be exchanged for proof of access to transfer a particular cart.protected boolean
customerMatches
(@NonNull com.broadleafcommerce.cart.client.domain.Cart cart, @NonNull com.broadleafcommerce.order.common.domain.CustomerRef customer) protected com.broadleafcommerce.resource.security.utils.service.AuthenticationUtils
protected CartOperationService
protected CartProvider
protected PaymentProvider<PaymentSummary>
protected TransferCartTokenDecoder
protected TransferCartTokenEncoder
protected com.broadleafcommerce.common.extension.TypeFactory
Retrieve the list of statuses which are considered valid to set a cart to be the default/implicit cart.protected void
makeCurrentDefaultCartNamed
(@NonNull com.broadleafcommerce.order.common.domain.CustomerRef customerRef, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected void
makeCurrentDefaultCartNamed
(String customerId, String accountId, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) Make the current defaultCart
for the customer or account named to make way for a CSR transferred cart.protected void
moveCustomerCartForCsrTransfer
(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.Cart
setCartAsDefault
(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 void
setNewCartOwnership
(com.broadleafcommerce.cart.client.domain.Cart cart) com.broadleafcommerce.cart.client.domain.Cart
transferAnonymousCartOwnership
(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.Cart
transferAnonymousCartOwnership
(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.Cart
transferAnonymousCsrCartToInProcess
(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.Cart
transferAnonymousCsrCartToInProcess
(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.Cart
transferCsrCartToInProcess
(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.Cart
updateCart
(com.broadleafcommerce.cart.client.domain.Cart cart, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected com.broadleafcommerce.cart.client.domain.Cart
updateCart
(UpdateCartRequest updateCartRequest, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo) protected void
updatePaymentManagementStatuses
(@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:CartTransferService
Transfer the provided anonymous cart to be in-process for the currently authenticated customer.- Specified by:
transferAnonymousCartOwnership
in 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:CartTransferService
Transfer the provided anonymous cart to be in-process for the currently authenticated customer.- Specified by:
transferAnonymousCartOwnership
in 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:CartTransferService
Transfer the provided CSR cart to be in-process for its customer.- Specified by:
transferCsrCartToInProcess
in 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:CartTransferService
Creates a newTransferCartToken
that can be exchanged for proof of access to transfer a particular cart.- Specified by:
createTransferCartToken
in 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:CartTransferService
Attempts 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:
validateTransferCartToken
in 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:CartTransferService
Transfer the provided anonymous CSR cart to be in-process for the current customer or anonymous user.- Specified by:
transferAnonymousCsrCartToInProcess
in 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:CartTransferService
Transfer the provided anonymous CSR cart to be in-process for the provided customer- Specified by:
transferAnonymousCsrCartToInProcess
in 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:CartTransferService
Transfer 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:
setCartAsDefault
in 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 defaultCart
for 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
- theCart
to check the ownershipcustomerRef
- theCustomerRef
to 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 aCartActionAudit
for claiming default cart.- Parameters:
cart
- theCart
being claimed as default cartcustomer
- theCustomerRef
who owns this cartoldCartStatus
- theCart.getStatus()
prior claiming this cart- Returns:
- a
CartActionAudit
built 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
- theCart
being updatedaudit
- theCartActionAudit
to create along with the cart update- Returns:
- a
UpdateCartRequest
from the givenCart
andCartActionAudit
-
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)