org.camunda.bpm.engine.impl.bpmn.helper
Class CompensationUtil

java.lang.Object
  extended by org.camunda.bpm.engine.impl.bpmn.helper.CompensationUtil

public class CompensationUtil
extends Object

Author:
Daniel Meyer

Field Summary
static String SIGNAL_COMPENSATION_DONE
          name of the signal that is thrown when a compensation handler completed
 
Constructor Summary
CompensationUtil()
           
 
Method Summary
static List<EventSubscriptionEntity> collectCompensateEventSubscriptionsForActivity(ActivityExecution execution, String activityRef)
          Collect all compensate event subscriptions for activity on the scope of given execution.
static List<EventSubscriptionEntity> collectCompensateEventSubscriptionsForScope(ActivityExecution execution)
          Collect all compensate event subscriptions for scope of given execution.
static void createEventScopeExecution(ExecutionEntity execution)
          creates an event scope for the given execution: create a new event scope execution under the parent of the given execution and move all event subscriptions to that execution.
static ExecutionEntity getCompensatingExecution(EventSubscriptionEntity eventSubscription)
           
protected static ActivityImpl getEventScopeCompensationHandler(ExecutionEntity execution)
          In the context when an event scope execution is created (i.e.
protected static boolean hasCompensationEventSubprocess(ActivityImpl activity)
           
static void throwCompensationEvent(List<EventSubscriptionEntity> eventSubscriptions, ActivityExecution execution, boolean async)
          we create a separate execution for each compensation handler invocation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SIGNAL_COMPENSATION_DONE

public static final String SIGNAL_COMPENSATION_DONE
name of the signal that is thrown when a compensation handler completed

See Also:
Constant Field Values
Constructor Detail

CompensationUtil

public CompensationUtil()
Method Detail

throwCompensationEvent

public static void throwCompensationEvent(List<EventSubscriptionEntity> eventSubscriptions,
                                          ActivityExecution execution,
                                          boolean async)
we create a separate execution for each compensation handler invocation.


createEventScopeExecution

public static void createEventScopeExecution(ExecutionEntity execution)
creates an event scope for the given execution: create a new event scope execution under the parent of the given execution and move all event subscriptions to that execution. this allows us to "remember" the event subscriptions after finishing a scope


hasCompensationEventSubprocess

protected static boolean hasCompensationEventSubprocess(ActivityImpl activity)

getEventScopeCompensationHandler

protected static ActivityImpl getEventScopeCompensationHandler(ExecutionEntity execution)
In the context when an event scope execution is created (i.e. a scope such as a subprocess has completed), this method returns the compensation handler activity that is going to be executed when by the event scope execution. This method is not relevant when the scope has a boundary compensation handler.


collectCompensateEventSubscriptionsForScope

public static List<EventSubscriptionEntity> collectCompensateEventSubscriptionsForScope(ActivityExecution execution)
Collect all compensate event subscriptions for scope of given execution.


collectCompensateEventSubscriptionsForActivity

public static List<EventSubscriptionEntity> collectCompensateEventSubscriptionsForActivity(ActivityExecution execution,
                                                                                           String activityRef)
Collect all compensate event subscriptions for activity on the scope of given execution.


getCompensatingExecution

public static ExecutionEntity getCompensatingExecution(EventSubscriptionEntity eventSubscription)


Copyright © 2017 camunda services GmbH. All rights reserved.