public virtual void validate(MigratingEventScopeInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingActivityInstanceValidationReportImpl ancestorInstanceReport) { if (isInvalid(migratingInstance)) { ancestorInstanceReport.addFailure("Cannot migrate subscription for compensation handler '" + migratingInstance.EventSubscription.SourceScope.Id + "'. " + "There is no migration instruction for the compensation start event"); } }
public virtual void validate(MigratingTransitionInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingTransitionInstanceValidationReportImpl instanceReport) { if (isInvalid(migratingInstance)) { instanceReport.addFailure("There is no migration instruction for this instance's activity"); } }
public virtual void validate(MigratingTransitionInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingTransitionInstanceValidationReportImpl instanceReport) { ActivityImpl targetActivity = (ActivityImpl)migratingInstance.TargetScope; if (targetActivity != null && migratingInstance.AsyncAfter) { MigratingJobInstance jobInstance = migratingInstance.JobInstance; AsyncContinuationConfiguration config = (AsyncContinuationConfiguration)jobInstance.JobEntity.JobHandlerConfiguration; string sourceTransitionId = config.TransitionId; if (targetActivity.OutgoingTransitions.Count > 1) { if (string.ReferenceEquals(sourceTransitionId, null)) { instanceReport.addFailure("Transition instance is assigned to no sequence flow" + " and target activity has more than one outgoing sequence flow"); } else { TransitionImpl matchingOutgoingTransition = targetActivity.findOutgoingTransition(sourceTransitionId); if (matchingOutgoingTransition == null) { instanceReport.addFailure("Transition instance is assigned to a sequence flow" + " that cannot be matched in the target activity"); } } } } }
public virtual void validate(MigratingTransitionInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingTransitionInstanceValidationReportImpl instanceReport) { ActivityImpl targetActivity = (ActivityImpl)migratingInstance.TargetScope; if (targetActivity != null) { if (isProcessStartJob(migratingInstance.JobInstance.JobEntity) && !isTopLevelActivity(targetActivity)) { instanceReport.addFailure("A transition instance that instantiates the process can only be migrated to a process-level flow node"); } } }
public virtual void validate(MigratingEventScopeInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingActivityInstanceValidationReportImpl ancestorInstanceReport) { MigratingCompensationEventSubscriptionInstance eventSubscription = migratingInstance.EventSubscription; ActivityImpl eventHandlerActivity = (ActivityImpl)eventSubscription.SourceScope; // note: compensation event scopes without children are already handled by NoUnmappedLeafInstanceValidator if (eventHandlerActivity.TriggeredByEvent && eventSubscription.TargetScope == null && migratingInstance.Children.Count > 0) { ancestorInstanceReport.addFailure("Cannot migrate subscription for compensation handler '" + eventSubscription.SourceScope.Id + "'. " + "There is no migration instruction for the compensation start event"); } }
public virtual void validate(MigratingActivityInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingActivityInstanceValidationReportImpl instanceReport) { ScopeImpl sourceScope = migratingInstance.SourceScope; if (sourceScope != sourceScope.ProcessDefinition) { ActivityImpl sourceActivity = (ActivityImpl)migratingInstance.SourceScope; if (!SupportedActivityValidator.INSTANCE.isSupportedActivity(sourceActivity)) { instanceReport.addFailure("The type of the source activity is not supported for activity instance migration"); } } }
public virtual void validate(MigratingTransitionInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingTransitionInstanceValidationReportImpl instanceReport) { ActivityImpl targetActivity = (ActivityImpl)migratingInstance.TargetScope; if (targetActivity != null) { if (migratingInstance.AsyncAfter) { if (!targetActivity.AsyncAfter) { instanceReport.addFailure("Target activity is not asyncAfter"); } } else { if (!targetActivity.AsyncBefore) { instanceReport.addFailure("Target activity is not asyncBefore"); } } } }
public virtual void validate(MigratingCompensationEventSubscriptionInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingActivityInstanceValidationReportImpl ancestorInstanceReport) { // Compensation start event subscriptions are MigratingEventScopeInstances // because they reference an event scope execution }