From dca15a6a9360a8826627c8a9a34c1a5696e00dc3 Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Fri, 27 Apr 2018 16:18:31 +0000 Subject: [PATCH] Enhancement on Project Activity #11690 git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/Common/workspace-task-executor-library@167247 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../dataminer/DataMinerAccessPoint.java | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/gcube/common/workspacetaskexecutor/dataminer/DataMinerAccessPoint.java b/src/main/java/org/gcube/common/workspacetaskexecutor/dataminer/DataMinerAccessPoint.java index 8e3a7b8..737add0 100644 --- a/src/main/java/org/gcube/common/workspacetaskexecutor/dataminer/DataMinerAccessPoint.java +++ b/src/main/java/org/gcube/common/workspacetaskexecutor/dataminer/DataMinerAccessPoint.java @@ -62,14 +62,15 @@ public class DataMinerAccessPoint { mapCallBack.put(algConfiguration.hashCode(), taskStatus); } + /** * Gets the task. * - * @param operatorId the operator id + * @param algConfiguration the alg configuration * @return the task */ - private TaskExecutionStatus getTask(String operatorId){ - return mapCallBack.get(operatorId); + private TaskExecutionStatus getTask(AlgorithmConfiguration algConfiguration){ + return mapCallBack.get(algConfiguration.hashCode()); } @@ -78,9 +79,10 @@ public class DataMinerAccessPoint { * Do run task. * * @param algConfiguration the alg configuration + * @return the task execution status * @throws TaskNotExecutableException the task not executable exception */ - public void doRunTask(AlgorithmConfiguration algConfiguration) throws TaskNotExecutableException{ + public TaskExecutionStatus doRunTask(AlgorithmConfiguration algConfiguration) throws TaskNotExecutableException{ Operator operator; SClient sClient; @@ -104,12 +106,13 @@ public class DataMinerAccessPoint { logger.debug("Start Computation"); ComputationId computationId = sClient.startComputation(operator); logger.debug("Started ComputationId: " + computationId); - startComputationOnDataMiner(algConfiguration, computationId, sClient); + return startComputationOnDataMiner(algConfiguration, computationId, sClient); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); + return null; } } @@ -119,11 +122,12 @@ public class DataMinerAccessPoint { * @param operatorId the operator id * @return the task execution status */ - public TaskExecutionStatus getTaskStatus(String operatorId) { + public TaskExecutionStatus getTaskStatus(AlgorithmConfiguration algConfiguration) { - TaskExecutionStatus task = getTask(operatorId); + TaskExecutionStatus task = getTask(algConfiguration); if(task==null){ + //TODO //startComputationOnDM(computationId, sClient); } @@ -152,6 +156,7 @@ public class DataMinerAccessPoint { status.setStatus(Status.ONGOING); status.setPercentCompleted((float) percentage); status.setCurrentMessage("Operation Running..."); + saveTask(algConfiguration, status); } @@ -162,6 +167,7 @@ public class DataMinerAccessPoint { status.setStatus(Status.FAILED); status.setCurrentMessage(message); status.addLog(exception.getMessage()); + saveTask(algConfiguration, status); } @@ -173,6 +179,7 @@ public class DataMinerAccessPoint { status.setStatus(Status.COMPLETED); status.setCurrentMessage("Operation Completed"); status.addLog(log); + saveTask(algConfiguration, status); } @@ -182,6 +189,7 @@ public class DataMinerAccessPoint { status.setStatus(Status.COMPLETED); status.setCurrentMessage("Operation Cancelled"); status.addLog("Operation Cancelled"); + saveTask(algConfiguration, status); } @Override @@ -190,7 +198,7 @@ public class DataMinerAccessPoint { status.setStatus(Status.ACCEPTED); status.setCurrentMessage("Operation Accepted"); status.addLog("Operation Accepted"); - + saveTask(algConfiguration, status); } };