diff --git a/klab.services.runtime/src/main/java/org/integratedmodelling/klab/services/runtime/ExecutionSequence.java b/klab.services.runtime/src/main/java/org/integratedmodelling/klab/services/runtime/ExecutionSequence.java index 64bb36836..251da3cc6 100644 --- a/klab.services.runtime/src/main/java/org/integratedmodelling/klab/services/runtime/ExecutionSequence.java +++ b/klab.services.runtime/src/main/java/org/integratedmodelling/klab/services/runtime/ExecutionSequence.java @@ -107,6 +107,7 @@ public boolean run() { if (scope.getParallelism() == Parallelism.ONE) { for (var operation : operationGroup) { if (!operation.run()) { + return false; } } diff --git a/klab.services.runtime/src/main/java/org/integratedmodelling/klab/services/runtime/RuntimeService.java b/klab.services.runtime/src/main/java/org/integratedmodelling/klab/services/runtime/RuntimeService.java index c56b318ea..d15aa34c2 100644 --- a/klab.services.runtime/src/main/java/org/integratedmodelling/klab/services/runtime/RuntimeService.java +++ b/klab.services.runtime/src/main/java/org/integratedmodelling/klab/services/runtime/RuntimeService.java @@ -460,6 +460,7 @@ public Observation runDataflow(Dataflow dataflow, ContextScope cont (ServiceContextScope) contextScope, digitalTwin, getComponentRegistry()); if (!executionSequence.isEmpty()) { if (!executionSequence.run()) { + contextualization.fail(contextScope, dataflow.getTarget()); return Observation.empty(); } } @@ -474,6 +475,8 @@ public Observation runDataflow(Dataflow dataflow, ContextScope cont obs.setResolvedCoverage(df.getResolvedCoverage()); } + contextualization.success(contextScope, dataflow.getTarget(), dataflow); + return dataflow.getTarget(); }