@Override public void execute(ActivityExecution execution) throws Exception { // If conditional events exist after the event based gateway they should be evaluated. // If a condition is satisfied the event based gateway should be left, // otherwise the event based gateway is a wait state ActivityImpl eventBasedGateway = (ActivityImpl) execution.getActivity(); for (ActivityImpl act : eventBasedGateway.getEventActivities()) { ActivityBehavior activityBehavior = act.getActivityBehavior(); if (activityBehavior instanceof ConditionalEventBehavior) { ConditionalEventBehavior conditionalEventBehavior = (ConditionalEventBehavior) activityBehavior; ConditionalEventDefinition conditionalEventDefinition = conditionalEventBehavior.getConditionalEventDefinition(); if (conditionalEventDefinition.tryEvaluate(execution)) { ((ExecutionEntity) execution).executeEventHandlerActivity(conditionalEventDefinition.getConditionalActivity()); return; } } } } }
@Override public void handleEvent(EventSubscriptionEntity eventSubscription, Object payload, Object localPayload, String businessKey, CommandContext commandContext) { VariableEvent variableEvent; if (payload == null || payload instanceof VariableEvent) { variableEvent = (VariableEvent) payload; } else { throw new ProcessEngineException("Payload have to be " + VariableEvent.class.getName() + ", to evaluate condition."); } ActivityImpl activity = eventSubscription.getActivity(); ActivityBehavior activityBehavior = activity.getActivityBehavior(); if (activityBehavior instanceof ConditionalEventBehavior) { ConditionalEventBehavior conditionalBehavior = (ConditionalEventBehavior) activityBehavior; conditionalBehavior.leaveOnSatisfiedCondition(eventSubscription, variableEvent); } else { throw new ProcessEngineException("Conditional Event has not correct behavior: " + activityBehavior); } }
@Override public void execute(ActivityExecution execution) throws Exception { // If conditional events exist after the event based gateway they should be evaluated. // If a condition is satisfied the event based gateway should be left, // otherwise the event based gateway is a wait state ActivityImpl eventBasedGateway = (ActivityImpl) execution.getActivity(); for (ActivityImpl act : eventBasedGateway.getEventActivities()) { ActivityBehavior activityBehavior = act.getActivityBehavior(); if (activityBehavior instanceof ConditionalEventBehavior) { ConditionalEventBehavior conditionalEventBehavior = (ConditionalEventBehavior) activityBehavior; ConditionalEventDefinition conditionalEventDefinition = conditionalEventBehavior.getConditionalEventDefinition(); if (conditionalEventDefinition.tryEvaluate(execution)) { ((ExecutionEntity) execution).executeEventHandlerActivity(conditionalEventDefinition.getConditionalActivity()); return; } } } } }
@Override public void handleEvent(EventSubscriptionEntity eventSubscription, Object payload, Object localPayload, String businessKey, CommandContext commandContext) { VariableEvent variableEvent; if (payload == null || payload instanceof VariableEvent) { variableEvent = (VariableEvent) payload; } else { throw new ProcessEngineException("Payload have to be " + VariableEvent.class.getName() + ", to evaluate condition."); } ActivityImpl activity = eventSubscription.getActivity(); ActivityBehavior activityBehavior = activity.getActivityBehavior(); if (activityBehavior instanceof ConditionalEventBehavior) { ConditionalEventBehavior conditionalBehavior = (ConditionalEventBehavior) activityBehavior; conditionalBehavior.leaveOnSatisfiedCondition(eventSubscription, variableEvent); } else { throw new ProcessEngineException("Conditional Event has not correct behavior: " + activityBehavior); } }
@Override public void execute(ActivityExecution execution) throws Exception { // If conditional events exist after the event based gateway they should be evaluated. // If a condition is satisfied the event based gateway should be left, // otherwise the event based gateway is a wait state ActivityImpl eventBasedGateway = (ActivityImpl) execution.getActivity(); for (ActivityImpl act : eventBasedGateway.getEventActivities()) { ActivityBehavior activityBehavior = act.getActivityBehavior(); if (activityBehavior instanceof ConditionalEventBehavior) { ConditionalEventBehavior conditionalEventBehavior = (ConditionalEventBehavior) activityBehavior; ConditionalEventDefinition conditionalEventDefinition = conditionalEventBehavior.getConditionalEventDefinition(); if (conditionalEventDefinition.tryEvaluate(execution)) { ((ExecutionEntity) execution).executeEventHandlerActivity(conditionalEventDefinition.getConditionalActivity()); return; } } } } }
@Override public void handleEvent(EventSubscriptionEntity eventSubscription, Object payload, Object localPayload, String businessKey, CommandContext commandContext) { VariableEvent variableEvent; if (payload == null || payload instanceof VariableEvent) { variableEvent = (VariableEvent) payload; } else { throw new ProcessEngineException("Payload have to be " + VariableEvent.class.getName() + ", to evaluate condition."); } ActivityImpl activity = eventSubscription.getActivity(); ActivityBehavior activityBehavior = activity.getActivityBehavior(); if (activityBehavior instanceof ConditionalEventBehavior) { ConditionalEventBehavior conditionalBehavior = (ConditionalEventBehavior) activityBehavior; conditionalBehavior.leaveOnSatisfiedCondition(eventSubscription, variableEvent); } else { throw new ProcessEngineException("Conditional Event has not correct behavior: " + activityBehavior); } }