Exemple #1
0
        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");
                }
            }
        }
Exemple #2
0
        public virtual void validate(MigratingActivityInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingActivityInstanceValidationReportImpl instanceReport)
        {
            ScopeImpl sourceScope = migratingInstance.SourceScope;
            ScopeImpl targetScope = migratingInstance.TargetScope;

            if (migratingInstance.migrates())
            {
                bool becomesNonScope = sourceScope.Scope && !targetScope.Scope;
                if (becomesNonScope)
                {
                    IDictionary <string, IList <MigratingVariableInstance> > dependentVariablesByName = getMigratingVariableInstancesByName(migratingInstance);
                    foreach (string variableName in dependentVariablesByName.Keys)
                    {
                        if (dependentVariablesByName[variableName].Count > 1)
                        {
                            instanceReport.addFailure("The variable '" + variableName + "' exists in both, this scope and " + "concurrent local in the parent scope. " + "Migrating to a non-scope activity would overwrite one of them.");
                        }
                    }
                }
            }
        }
Exemple #3
0
 public virtual void validate(MigratingCompensationEventSubscriptionInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingActivityInstanceValidationReportImpl ancestorInstanceReport)
 {
     // Compensation start event subscriptions are MigratingEventScopeInstances
     // because they reference an event scope execution
 }
Exemple #4
0
        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");
            }
        }
Exemple #5
0
 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");
     }
 }
Exemple #6
0
 public virtual void validate(MigratingActivityInstance migratingInstance, MigratingProcessInstance migratingProcessInstance, MigratingActivityInstanceValidationReportImpl instanceReport)
 {
     if (isInvalid(migratingInstance))
     {
         instanceReport.addFailure("There is no migration instruction for this instance's activity");
     }
 }