protected internal virtual void ValidateEventScopeInstance(MigratingEventScopeInstance eventScopeInstance, MigratingProcessInstance migratingProcessInstance, IList <IMigratingCompensationInstanceValidator> migratingTransitionInstanceValidators, MigratingActivityInstanceValidationReportImpl instanceReport) { foreach (var validator in migratingTransitionInstanceValidators) { validator.Validate(eventScopeInstance, migratingProcessInstance, instanceReport); } }
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); }
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); } } }
protected internal virtual void validateCompensateSubscriptionInstance(MigratingCompensationEventSubscriptionInstance eventSubscriptionInstance, MigratingProcessInstance migratingProcessInstance, IList <MigratingCompensationInstanceValidator> migratingTransitionInstanceValidators, MigratingActivityInstanceValidationReportImpl instanceReport) { foreach (MigratingCompensationInstanceValidator validator in migratingTransitionInstanceValidators) { validator.validate(eventSubscriptionInstance, migratingProcessInstance, instanceReport); } }