Search in sources :

Example 1 with ProcessContext

use of org.broadleafcommerce.core.workflow.ProcessContext in project BroadleafCommerce by BroadleafCommerce.

the class OrderServiceImpl method updateProductOptionsForItem.

@Override
@Transactional(value = "blTransactionManager", rollbackFor = { UpdateCartException.class })
public Order updateProductOptionsForItem(Long orderId, OrderItemRequestDTO orderItemRequestDTO, boolean priceOrder) throws UpdateCartException {
    try {
        CartOperationRequest cartOpRequest = new CartOperationRequest(findOrderById(orderId), orderItemRequestDTO, priceOrder);
        ProcessContext<CartOperationRequest> context = (ProcessContext<CartOperationRequest>) updateProductOptionsForItemWorkflow.doActivities(cartOpRequest);
        context.getSeedData().getOrder().getOrderMessages().addAll(((ActivityMessages) context).getActivityMessages());
        return context.getSeedData().getOrder();
    } catch (WorkflowException e) {
        throw new UpdateCartException("Could not product options", getCartOperationExceptionRootCause(e));
    }
}
Also used : CartOperationRequest(org.broadleafcommerce.core.order.service.workflow.CartOperationRequest) WorkflowException(org.broadleafcommerce.core.workflow.WorkflowException) UpdateCartException(org.broadleafcommerce.core.order.service.exception.UpdateCartException) ProcessContext(org.broadleafcommerce.core.workflow.ProcessContext) Transactional(org.springframework.transaction.annotation.Transactional)

Example 2 with ProcessContext

use of org.broadleafcommerce.core.workflow.ProcessContext in project BroadleafCommerce by BroadleafCommerce.

the class PricingServiceImpl method executePricing.

public Order executePricing(Order order) throws PricingException {
    try {
        ProcessContext<Order> context = (ProcessContext<Order>) pricingWorkflow.doActivities(order);
        Order response = context.getSeedData();
        return response;
    } catch (WorkflowException e) {
        throw new PricingException("Unable to execute pricing for order -- id: " + order.getId(), e);
    }
}
Also used : Order(org.broadleafcommerce.core.order.domain.Order) PricingException(org.broadleafcommerce.core.pricing.service.exception.PricingException) WorkflowException(org.broadleafcommerce.core.workflow.WorkflowException) ProcessContext(org.broadleafcommerce.core.workflow.ProcessContext)

Aggregations

ProcessContext (org.broadleafcommerce.core.workflow.ProcessContext)2 WorkflowException (org.broadleafcommerce.core.workflow.WorkflowException)2 Order (org.broadleafcommerce.core.order.domain.Order)1 UpdateCartException (org.broadleafcommerce.core.order.service.exception.UpdateCartException)1 CartOperationRequest (org.broadleafcommerce.core.order.service.workflow.CartOperationRequest)1 PricingException (org.broadleafcommerce.core.pricing.service.exception.PricingException)1 Transactional (org.springframework.transaction.annotation.Transactional)1