From 0e55e61c24b9916eb4af016b8d255b7623adf2bd Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Thu, 3 May 2018 14:46:56 +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@167304 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../dataminer/DataMinerAccessPoint.java | 32 ++++++++++--------- .../WorkspaceDataMinerTaskExecutor.java | 9 ++++-- .../shared/ExecutableTask.java | 4 ++- .../shared/dataminer/TaskExecutionStatus.java | 9 +++--- 4 files changed, 31 insertions(+), 23 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 3b4196a..44b808b 100644 --- a/src/main/java/org/gcube/common/workspacetaskexecutor/dataminer/DataMinerAccessPoint.java +++ b/src/main/java/org/gcube/common/workspacetaskexecutor/dataminer/DataMinerAccessPoint.java @@ -70,34 +70,36 @@ public class DataMinerAccessPoint { /** * Gets the task. * - * @param algConfiguration the alg configuration + * @param taskConfiguration the task configuration * @return the task */ - private TaskExecutionStatus getTask(BaseTaskConfiguration algConfiguration){ - return mapExecutionTask.get(algConfiguration.hashCode()); + private TaskExecutionStatus getTask(BaseTaskConfiguration taskConfiguration){ + return mapExecutionTask.get(taskConfiguration.getConfigurationKey()); } - //TODO - public void abortTask(TaskConfiguration algConfiguration) throws TaskErrorException, TaskNotExecutableException{ - TaskExecutionStatus task = getTask(algConfiguration); + /** + * Abort running task. + * + * @param taskConfiguration the alg configuration + * @throws TaskErrorException the task error exception + * @throws TaskNotExecutableException the task not executable exception + */ + public void abortRunningTask(TaskConfiguration taskConfiguration) throws TaskErrorException, TaskNotExecutableException{ + + TaskExecutionStatus task = getTask(taskConfiguration); if(task==null) - throw new TaskErrorException("The task with configuration: "+algConfiguration+" is not running"); + throw new TaskErrorException("The task with configuration: "+taskConfiguration+" is not running"); - Operator operator; SClient sClient; try { sClient = dataMinerService.getClient(); - operator = sClient.getOperatorById(algConfiguration.getTaskId()); - addParametersToOperator(operator, algConfiguration.getMapParameters()); - - - //TODO + sClient.cancelComputation(task.getComputationId()); } catch (Exception e) { - String error = "Error on get Client or the Operator for id: "+algConfiguration.getTaskId(); + String error = "Error on get Client or the Operator for id: "+taskConfiguration.getTaskId(); logger.error(error, e); throw new TaskNotExecutableException(error); } @@ -178,7 +180,7 @@ public class DataMinerAccessPoint { */ private TaskExecutionStatus startComputationOnDataMiner(BaseTaskConfiguration algConfiguration, final ComputationId computationId, final SClient sClient){ - TaskExecutionStatus status = new TaskExecutionStatus(algConfiguration, computationId.getId()); + TaskExecutionStatus status = new TaskExecutionStatus(algConfiguration, computationId); DMMonitorListener listener = new DMMonitorListener() { diff --git a/src/main/java/org/gcube/common/workspacetaskexecutor/dataminer/WorkspaceDataMinerTaskExecutor.java b/src/main/java/org/gcube/common/workspacetaskexecutor/dataminer/WorkspaceDataMinerTaskExecutor.java index 81f9b60..029cc5a 100644 --- a/src/main/java/org/gcube/common/workspacetaskexecutor/dataminer/WorkspaceDataMinerTaskExecutor.java +++ b/src/main/java/org/gcube/common/workspacetaskexecutor/dataminer/WorkspaceDataMinerTaskExecutor.java @@ -338,10 +338,13 @@ public class WorkspaceDataMinerTaskExecutor implements ExecutableTask