Class CartServiceResourceLockEndpoint
- java.lang.Object
-
- com.broadleafcommerce.cart.web.endpoint.messaging.CartServiceResourceLockEndpoint
-
@FrameworkRestController @FrameworkMapping("/cart-resource-locks") @DataRouteByExample(com.broadleafcommerce.cart.client.domain.Cart.class) public class CartServiceResourceLockEndpoint extends Object
This endpoint is used to expose resource locks to services which don't have their own data sources to lock with (cart operations).- Author:
- Jacob Mitash
-
-
Constructor Summary
Constructors Constructor Description CartServiceResourceLockEndpoint(com.broadleafcommerce.common.messaging.repository.ResourceLockRepository<?,?> repository)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
getConceptKey(Map<String,String> body)
protected String
getContextId(Map<String,String> body)
protected String
getSandboxId(com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
void
handleResourceLockException(com.broadleafcommerce.common.messaging.exception.ResourceLockException lockException, org.springframework.web.context.request.WebRequest request)
protected void
logDebug(Exception ex, org.springframework.web.context.request.WebRequest request)
Map<String,String>
obtainLock(Map<String,String> body, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
void
releaseLock(String token)
-
-
-
Method Detail
-
obtainLock
@Policy(permissionRoots="CART", operationTypes=UPDATE) @FrameworkPostMapping public Map<String,String> obtainLock(@RequestBody Map<String,String> body, @ContextOperation(UPDATE) @Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
-
releaseLock
@Policy(permissionRoots="CART", operationTypes=UPDATE) @FrameworkDeleteMapping public void releaseLock(@RequestParam String token)
-
handleResourceLockException
@ExceptionHandler(com.broadleafcommerce.common.messaging.exception.ResourceLockException.class) @ResponseStatus(LOCKED) public void handleResourceLockException(com.broadleafcommerce.common.messaging.exception.ResourceLockException lockException, org.springframework.web.context.request.WebRequest request)
-
getSandboxId
@Nullable protected String getSandboxId(@Nullable com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
-
logDebug
protected void logDebug(Exception ex, org.springframework.web.context.request.WebRequest request)
-
-