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
This commit is contained in:
Francesco Mangiacrapa 2018-04-27 16:18:31 +00:00
parent a570e260db
commit dca15a6a93
1 changed files with 16 additions and 8 deletions

View File

@ -62,14 +62,15 @@ public class DataMinerAccessPoint {
mapCallBack.put(algConfiguration.hashCode(), taskStatus); mapCallBack.put(algConfiguration.hashCode(), taskStatus);
} }
/** /**
* Gets the task. * Gets the task.
* *
* @param operatorId the operator id * @param algConfiguration the alg configuration
* @return the task * @return the task
*/ */
private TaskExecutionStatus getTask(String operatorId){ private TaskExecutionStatus getTask(AlgorithmConfiguration algConfiguration){
return mapCallBack.get(operatorId); return mapCallBack.get(algConfiguration.hashCode());
} }
@ -78,9 +79,10 @@ public class DataMinerAccessPoint {
* Do run task. * Do run task.
* *
* @param algConfiguration the alg configuration * @param algConfiguration the alg configuration
* @return the task execution status
* @throws TaskNotExecutableException the task not executable exception * @throws TaskNotExecutableException the task not executable exception
*/ */
public void doRunTask(AlgorithmConfiguration algConfiguration) throws TaskNotExecutableException{ public TaskExecutionStatus doRunTask(AlgorithmConfiguration algConfiguration) throws TaskNotExecutableException{
Operator operator; Operator operator;
SClient sClient; SClient sClient;
@ -104,12 +106,13 @@ public class DataMinerAccessPoint {
logger.debug("Start Computation"); logger.debug("Start Computation");
ComputationId computationId = sClient.startComputation(operator); ComputationId computationId = sClient.startComputation(operator);
logger.debug("Started ComputationId: " + computationId); logger.debug("Started ComputationId: " + computationId);
startComputationOnDataMiner(algConfiguration, computationId, sClient); return startComputationOnDataMiner(algConfiguration, computationId, sClient);
} }
catch (Exception e) { catch (Exception e) {
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
return null;
} }
} }
@ -119,11 +122,12 @@ public class DataMinerAccessPoint {
* @param operatorId the operator id * @param operatorId the operator id
* @return the task execution status * @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){ if(task==null){
//TODO
//startComputationOnDM(computationId, sClient); //startComputationOnDM(computationId, sClient);
} }
@ -152,6 +156,7 @@ public class DataMinerAccessPoint {
status.setStatus(Status.ONGOING); status.setStatus(Status.ONGOING);
status.setPercentCompleted((float) percentage); status.setPercentCompleted((float) percentage);
status.setCurrentMessage("Operation Running..."); status.setCurrentMessage("Operation Running...");
saveTask(algConfiguration, status);
} }
@ -162,6 +167,7 @@ public class DataMinerAccessPoint {
status.setStatus(Status.FAILED); status.setStatus(Status.FAILED);
status.setCurrentMessage(message); status.setCurrentMessage(message);
status.addLog(exception.getMessage()); status.addLog(exception.getMessage());
saveTask(algConfiguration, status);
} }
@ -173,6 +179,7 @@ public class DataMinerAccessPoint {
status.setStatus(Status.COMPLETED); status.setStatus(Status.COMPLETED);
status.setCurrentMessage("Operation Completed"); status.setCurrentMessage("Operation Completed");
status.addLog(log); status.addLog(log);
saveTask(algConfiguration, status);
} }
@ -182,6 +189,7 @@ public class DataMinerAccessPoint {
status.setStatus(Status.COMPLETED); status.setStatus(Status.COMPLETED);
status.setCurrentMessage("Operation Cancelled"); status.setCurrentMessage("Operation Cancelled");
status.addLog("Operation Cancelled"); status.addLog("Operation Cancelled");
saveTask(algConfiguration, status);
} }
@Override @Override
@ -190,7 +198,7 @@ public class DataMinerAccessPoint {
status.setStatus(Status.ACCEPTED); status.setStatus(Status.ACCEPTED);
status.setCurrentMessage("Operation Accepted"); status.setCurrentMessage("Operation Accepted");
status.addLog("Operation Accepted"); status.addLog("Operation Accepted");
saveTask(algConfiguration, status);
} }
}; };