From ca00f7484c3392a41dc194a3e75cff7c41d2bbec Mon Sep 17 00:00:00 2001 From: Lennart Hensler Date: Sat, 28 Jul 2018 18:36:32 +0200 Subject: [PATCH] Implemented a check to skip the exection of already scheduled instructions, if the responsible processor has been aborted --- .../components/ProcessorInstructionHandler.java | 8 +++++--- .../impl/components/AbstractProcessorInstruction.java | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/components/ProcessorInstructionHandler.java b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/components/ProcessorInstructionHandler.java index 5cda3920ca7..e01461324d7 100644 --- a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/components/ProcessorInstructionHandler.java +++ b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/components/ProcessorInstructionHandler.java @@ -2,9 +2,11 @@ package com.sap.sse.datamining.components; public interface ProcessorInstructionHandler { - public void instructionSucceeded(ResultType result); - public void instructionFailed(Exception e); + boolean isAborted(); - public void afterInstructionFinished(); + void instructionSucceeded(ResultType result); + void instructionFailed(Exception e); + + void afterInstructionFinished(); } diff --git a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractProcessorInstruction.java b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractProcessorInstruction.java index 130798524c3..ff404891ac0 100644 --- a/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractProcessorInstruction.java +++ b/java/com.sap.sse.datamining/src/com/sap/sse/datamining/impl/components/AbstractProcessorInstruction.java @@ -52,8 +52,10 @@ public abstract class AbstractProcessorInstruction implements Proces @Override public void run() { try { - ResultType result = computeResult(); - handler.instructionSucceeded(result); + if (!handler.isAborted()) { + ResultType result = computeResult(); + handler.instructionSucceeded(result); + } } catch (Exception e) { handler.instructionFailed(e); } finally {