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 Details

    • CartServiceResourceLockEndpoint

      public CartServiceResourceLockEndpoint(com.broadleafcommerce.common.messaging.repository.ResourceLockRepository<?,?> repository)
  • Method Details

    • 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)
    • finishLock

      @Policy(permissionRoots="CART", operationTypes=UPDATE) @FrameworkPatchMapping public void finishLock(@RequestParam String token)
    • 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)
    • getContextId

      protected String getContextId(@Nullable @RequestBody Map<String,String> body)
    • getConceptKey

      protected String getConceptKey(Map<String,String> body)
    • logDebug

      protected void logDebug(Exception ex, org.springframework.web.context.request.WebRequest request)