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(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"); } }
protected internal virtual bool isInvalid(MigratingEventScopeInstance migratingInstance) { return(hasNoInstruction(migratingInstance.EventSubscription) && migratingInstance.Children.Count == 0); }