public virtual void Validate(MigratingCompensationEventSubscriptionInstance migratingInstance,
                              MigratingProcessInstance migratingProcessInstance,
                              MigratingActivityInstanceValidationReportImpl ancestorInstanceReport)
 {
     // Compensation start event subscriptions are MigratingEventScopeInstances
     // because they reference an event scope execution
 }
Example #2
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);
     }
 }
 public virtual void Validate(MigratingCompensationEventSubscriptionInstance migratingInstance,
                              MigratingProcessInstance migratingProcessInstance,
                              MigratingActivityInstanceValidationReportImpl ancestorInstanceReport)
 {
     if (IsInvalid(migratingInstance))
     {
         ancestorInstanceReport.AddFailure("Cannot migrate subscription for compensation handler '" +
                                           migratingInstance.SourceScope.Id + "'. " +
                                           "There is no migration instruction for the compensation boundary event");
     }
 }
Example #4
0
        protected internal virtual MigratingProcessElementInstance createMigratingEventSubscriptionInstance(MigratingInstanceParseContext parseContext, EventSubscriptionEntity element)
        {
            ActivityImpl compensationHandler = parseContext.SourceProcessDefinition.findActivity(element.ActivityId);

            MigrationInstruction migrationInstruction = getMigrationInstruction(parseContext, compensationHandler);

            ActivityImpl targetScope = null;

            if (migrationInstruction != null)
            {
                ActivityImpl targetEventScope = (ActivityImpl)parseContext.getTargetActivity(migrationInstruction).EventScope;
                targetScope = targetEventScope.findCompensationHandler();
            }

            MigratingCompensationEventSubscriptionInstance migratingCompensationInstance = parseContext.MigratingProcessInstance.addCompensationSubscriptionInstance(migrationInstruction, element, compensationHandler, targetScope);

            parseContext.consume(element);

            return(migratingCompensationInstance);
        }
 protected internal virtual bool IsInvalid(MigratingCompensationEventSubscriptionInstance migratingInstance)
 {
     return(HasNoInstruction(migratingInstance));
 }