protected internal virtual void ValidateEventScopeInstance(MigratingEventScopeInstance eventScopeInstance,
                                                            MigratingProcessInstance migratingProcessInstance,
                                                            IList <IMigratingCompensationInstanceValidator> migratingTransitionInstanceValidators,
                                                            MigratingActivityInstanceValidationReportImpl instanceReport)
 {
     foreach (var validator in migratingTransitionInstanceValidators)
     {
         validator.Validate(eventScopeInstance, migratingProcessInstance, instanceReport);
     }
 }
Esempio n. 2
0
        protected internal virtual MigratingActivityInstanceValidationReportImpl validateActivityInstance(MigratingActivityInstance migratingActivityInstance, MigratingProcessInstance migratingProcessInstance, IList <MigratingActivityInstanceValidator> migratingActivityInstanceValidators)
        {
            MigratingActivityInstanceValidationReportImpl instanceReport = new MigratingActivityInstanceValidationReportImpl(migratingActivityInstance);

            foreach (MigratingActivityInstanceValidator migratingActivityInstanceValidator in migratingActivityInstanceValidators)
            {
                migratingActivityInstanceValidator.validate(migratingActivityInstance, migratingProcessInstance, instanceReport);
            }
            return(instanceReport);
        }
Esempio n. 3
0
        protected internal virtual void validateInstructions(CommandContext commandContext, MigratingProcessInstance migratingProcessInstance, MigratingProcessInstanceValidationReportImpl processInstanceReport)
        {
            IList <MigratingActivityInstanceValidator>     migratingActivityInstanceValidators     = commandContext.ProcessEngineConfiguration.MigratingActivityInstanceValidators;
            IList <MigratingTransitionInstanceValidator>   migratingTransitionInstanceValidators   = commandContext.ProcessEngineConfiguration.MigratingTransitionInstanceValidators;
            IList <MigratingCompensationInstanceValidator> migratingCompensationInstanceValidators = commandContext.ProcessEngineConfiguration.MigratingCompensationInstanceValidators;

            IDictionary <MigratingActivityInstance, MigratingActivityInstanceValidationReportImpl> instanceReports = new Dictionary <MigratingActivityInstance, MigratingActivityInstanceValidationReportImpl>();

            foreach (MigratingActivityInstance migratingActivityInstance in migratingProcessInstance.MigratingActivityInstances)
            {
                MigratingActivityInstanceValidationReportImpl instanceReport = validateActivityInstance(migratingActivityInstance, migratingProcessInstance, migratingActivityInstanceValidators);
                instanceReports[migratingActivityInstance] = instanceReport;
            }

            foreach (MigratingEventScopeInstance migratingEventScopeInstance in migratingProcessInstance.MigratingEventScopeInstances)
            {
                MigratingActivityInstance ancestorInstance = migratingEventScopeInstance.ClosestAncestorActivityInstance;

                validateEventScopeInstance(migratingEventScopeInstance, migratingProcessInstance, migratingCompensationInstanceValidators, instanceReports[ancestorInstance]);
            }

            foreach (MigratingCompensationEventSubscriptionInstance migratingEventSubscriptionInstance in migratingProcessInstance.MigratingCompensationSubscriptionInstances)
            {
                MigratingActivityInstance ancestorInstance = migratingEventSubscriptionInstance.ClosestAncestorActivityInstance;

                validateCompensateSubscriptionInstance(migratingEventSubscriptionInstance, migratingProcessInstance, migratingCompensationInstanceValidators, instanceReports[ancestorInstance]);
            }

            foreach (MigratingActivityInstanceValidationReportImpl instanceReport in instanceReports.Values)
            {
                if (instanceReport.hasFailures())
                {
                    processInstanceReport.addActivityInstanceReport(instanceReport);
                }
            }

            foreach (MigratingTransitionInstance migratingTransitionInstance in migratingProcessInstance.MigratingTransitionInstances)
            {
                MigratingTransitionInstanceValidationReportImpl instanceReport = validateTransitionInstance(migratingTransitionInstance, migratingProcessInstance, migratingTransitionInstanceValidators);
                if (instanceReport.hasFailures())
                {
                    processInstanceReport.addTransitionInstanceReport(instanceReport);
                }
            }
        }
Esempio n. 4
0
 protected internal virtual void validateCompensateSubscriptionInstance(MigratingCompensationEventSubscriptionInstance eventSubscriptionInstance, MigratingProcessInstance migratingProcessInstance, IList <MigratingCompensationInstanceValidator> migratingTransitionInstanceValidators, MigratingActivityInstanceValidationReportImpl instanceReport)
 {
     foreach (MigratingCompensationInstanceValidator validator in migratingTransitionInstanceValidators)
     {
         validator.validate(eventSubscriptionInstance, migratingProcessInstance, instanceReport);
     }
 }