public virtual void Handle(MigratingInstanceParseContext parseContext, EventSubscriptionEntity element) { MigratingProcessElementInstance migratingInstance; if (!ReferenceEquals(element.Configuration, null)) { migratingInstance = CreateMigratingEventScopeInstance(parseContext, element); } else { migratingInstance = CreateMigratingEventSubscriptionInstance(parseContext, element); } ExecutionEntity owningExecution = element.Execution; MigratingScopeInstance parentInstance = null; if (owningExecution.IsEventScope) { parentInstance = parseContext.GetMigratingCompensationInstanceByExecutionId(owningExecution.Id); } else { parentInstance = parseContext.GetMigratingActivityInstanceById(owningExecution.ParentActivityInstanceId); } migratingInstance.Parent = parentInstance; }
public virtual void Handle(MigratingInstanceParseContext parseContext, IActivityInstance element) { MigratingActivityInstance migratingInstance = null; var applyingInstruction = parseContext.GetInstructionFor(element.ActivityId); ScopeImpl sourceScope = null; ScopeImpl targetScope = null; var representativeExecution = parseContext.Mapping.GetExecution(element); if (element.Id.Equals(element.ProcessInstanceId)) { sourceScope = parseContext.SourceProcessDefinition; targetScope = parseContext.TargetProcessDefinition; } else { sourceScope = (ScopeImpl)parseContext.SourceProcessDefinition.FindActivity(element.ActivityId); if (applyingInstruction != null) { var activityId = applyingInstruction.TargetActivityId; targetScope = (ScopeImpl)parseContext.TargetProcessDefinition.FindActivity(activityId); } } migratingInstance = parseContext.MigratingProcessInstance.AddActivityInstance(applyingInstruction, element, sourceScope, targetScope, representativeExecution); var parentInstance = parseContext.GetMigratingActivityInstanceById(element.ParentActivityInstanceId); if (parentInstance != null) { //migratingInstance.setParent(parentInstance); } //JAVA TO C# CONVERTER WARNING: Java wildcard generics have no direct equivalent in .NET: //ORIGINAL LINE: org.camunda.bpm.engine.impl.core.delegate.CoreActivityBehavior<object> sourceActivityBehavior = sourceScope.getActivityBehavior(); var sourceActivityBehavior = sourceScope.ActivityBehavior; if (sourceActivityBehavior is IMigrationObserverBehavior) { ((IMigrationObserverBehavior)sourceActivityBehavior).OnParseMigratingInstance(parseContext, migratingInstance); } parseContext.Submit(migratingInstance); ParseTransitionInstances(parseContext, migratingInstance); ParseDependentInstances(parseContext, migratingInstance); }