/// <summary> /// Collect all compensate event subscriptions for scope of given execution. /// </summary> public static IList <EventSubscriptionEntity> collectCompensateEventSubscriptionsForScope(ActivityExecution execution) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final java.util.Map<org.camunda.bpm.engine.impl.pvm.process.ScopeImpl, org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl> scopeExecutionMapping = execution.createActivityExecutionMapping(); IDictionary <ScopeImpl, PvmExecutionImpl> scopeExecutionMapping = execution.createActivityExecutionMapping(); ScopeImpl activity = (ScopeImpl)execution.Activity; // <LEGACY>: different flow scopes may have the same scope execution => // collect subscriptions in a set //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final java.util.Set<org.camunda.bpm.engine.impl.persistence.entity.EventSubscriptionEntity> subscriptions = new java.util.HashSet<org.camunda.bpm.engine.impl.persistence.entity.EventSubscriptionEntity>(); ISet <EventSubscriptionEntity> subscriptions = new HashSet <EventSubscriptionEntity>(); TreeVisitor <ScopeImpl> eventSubscriptionCollector = new TreeVisitorAnonymousInnerClass(execution, scopeExecutionMapping, subscriptions); (new FlowScopeWalker(activity)).addPostVisitor(eventSubscriptionCollector).walkUntil(new WalkConditionAnonymousInnerClass()); return(new List <EventSubscriptionEntity>(subscriptions)); }
/// <summary> /// Collect all compensate event subscriptions for scope of given execution. /// </summary> public static IList <EventSubscriptionEntity> CollectCompensateEventSubscriptionsForScope( IActivityExecution execution) { var scopeExecutionMapping = execution.CreateActivityExecutionMapping(); var activity = (ScopeImpl)execution.Activity; // <LEGACY>: different flow scopes may have the same scope execution => // collect subscriptions in a set ISet <EventSubscriptionEntity> subscriptions = new HashSet <EventSubscriptionEntity>(); ITreeVisitor <ScopeImpl> eventSubscriptionCollector = new TreeVisitorAnonymousInnerClass(execution, scopeExecutionMapping, subscriptions); new FlowScopeWalker(activity).AddPostVisitor(eventSubscriptionCollector) .WalkUntil(element => { bool?flag = (bool?)element.GetProperty(BpmnParse.PropertynameConsumesCompensation); return(flag == null || flag == true); }); return(new List <EventSubscriptionEntity>(subscriptions)); }