enhancement

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/Common/workspace-task-executor-library@167542 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2018-05-16 15:52:36 +00:00
parent 09bf01b062
commit fbc9cd8a7a
2 changed files with 47 additions and 20 deletions

View File

@ -17,6 +17,7 @@ import org.gcube.common.workspacetaskexecutor.shared.dataminer.TaskConfiguration
import org.gcube.common.workspacetaskexecutor.shared.dataminer.TaskExecutionStatus; import org.gcube.common.workspacetaskexecutor.shared.dataminer.TaskExecutionStatus;
import org.gcube.common.workspacetaskexecutor.shared.exception.TaskErrorException; import org.gcube.common.workspacetaskexecutor.shared.exception.TaskErrorException;
import org.gcube.common.workspacetaskexecutor.shared.exception.TaskNotExecutableException; import org.gcube.common.workspacetaskexecutor.shared.exception.TaskNotExecutableException;
import org.gcube.common.workspacetaskexecutor.util.Converter;
import org.gcube.common.workspacetaskexecutor.util.EncrypterUtil; import org.gcube.common.workspacetaskexecutor.util.EncrypterUtil;
import org.gcube.data.analysis.dataminermanagercl.server.DataMinerService; import org.gcube.data.analysis.dataminermanagercl.server.DataMinerService;
import org.gcube.data.analysis.dataminermanagercl.server.dmservice.SClient; import org.gcube.data.analysis.dataminermanagercl.server.dmservice.SClient;
@ -44,7 +45,7 @@ public class DataMinerAccessPoint {
/** /**
* *
*/ */
private static final String NEW_STATUS_CHARS = "*******"; private static final String NEW_STATUS_CHARS = "******* ";
/** /**
* *
*/ */
@ -230,14 +231,19 @@ public class DataMinerAccessPoint {
} }
TaskExecutionStatus newTaskExecutionStatus = new TaskExecutionStatus(taskConfiguration, taskComputation); TaskExecutionStatus newTaskExecutionStatus = new TaskExecutionStatus(taskConfiguration, taskComputation);
if(!isStart) if(!isStart)
//adding previous log
newTaskExecutionStatus.addLog(oldTaskExecutionStatus.getLog()); newTaskExecutionStatus.addLog(oldTaskExecutionStatus.getLog());
else{ else{
newTaskExecutionStatus.addLog(NEW_STATUS_CHARS+"Configurations are: "); //first time adding the configurations
newTaskExecutionStatus.addLog(NEW_LINE+DASH+DASH+"Operator Id: "+NEW_LINE+newTaskExecutionStatus.getTaskComputation().getOperatorId()); String confs=NEW_LINE+NEW_STATUS_CHARS+Converter.getCurrentFormattedDate(null)+NEW_LINE;
newTaskExecutionStatus.addLog(NEW_LINE+DASH+DASH+"Operator Name: "+NEW_LINE+newTaskExecutionStatus.getTaskComputation().getOperatorName()); confs+="Computation starts with configurations...";
newTaskExecutionStatus.addLog(NEW_LINE+DASH+DASH+"EquivalentRequest: "+NEW_LINE+newTaskExecutionStatus.getTaskComputation().getEquivalentRequest()); confs+=NEW_LINE+NEW_LINE+DASH+DASH+"Operator Id: "+NEW_LINE+newTaskExecutionStatus.getTaskComputation().getOperatorId();
newTaskExecutionStatus.addLog(NEW_LINE+DASH+DASH+"URL ID: "+NEW_LINE+newTaskExecutionStatus.getTaskComputation().getUrlId()); confs+=NEW_LINE+NEW_LINE+DASH+DASH+"Operator Name: "+NEW_LINE+newTaskExecutionStatus.getTaskComputation().getOperatorName();
confs+=NEW_LINE+NEW_LINE+DASH+DASH+"EquivalentRequest: "+NEW_LINE+newTaskExecutionStatus.getTaskComputation().getEquivalentRequest();
confs+=NEW_LINE+NEW_LINE+DASH+DASH+"URL ID: "+NEW_LINE+newTaskExecutionStatus.getTaskComputation().getUrlId();
newTaskExecutionStatus.addLog(confs+NEW_LINE);
} }
logger.debug("Requesting operation progress"); logger.debug("Requesting operation progress");
@ -264,47 +270,47 @@ public class DataMinerAccessPoint {
newTaskExecutionStatus.setCurrentMessage(computationStatus.getMessage()); newTaskExecutionStatus.setCurrentMessage(computationStatus.getMessage());
newTaskExecutionStatus.setPercentCompleted((float) computationStatus.getPercentage()); newTaskExecutionStatus.setPercentCompleted((float) computationStatus.getPercentage());
String msg=NEW_STATUS_CHARS; String historyMsg=NEW_LINE+NEW_STATUS_CHARS+Converter.getCurrentFormattedDate(null)+NEW_LINE;
switch (status) { switch (status) {
case ACCEPTED: case ACCEPTED:
logger.debug("Operation "+TaskStatus.ACCEPTED); logger.debug("Operation "+TaskStatus.ACCEPTED);
newTaskExecutionStatus.setStatus(TaskStatus.ACCEPTED); newTaskExecutionStatus.setStatus(TaskStatus.ACCEPTED);
msg+= "Status "+TaskStatus.ACCEPTED; historyMsg+= "Status "+TaskStatus.ACCEPTED;
msg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():""; historyMsg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():"";
break; break;
case CANCELLED: case CANCELLED:
logger.debug("Operation "+TaskStatus.CANCELLED); logger.debug("Operation "+TaskStatus.CANCELLED);
newTaskExecutionStatus.setStatus(TaskStatus.CANCELLED); newTaskExecutionStatus.setStatus(TaskStatus.CANCELLED);
msg+= "Status "+TaskStatus.CANCELLED; historyMsg+= "Status "+TaskStatus.CANCELLED;
msg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():""; historyMsg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():"";
break; break;
case COMPLETE: case COMPLETE:
logger.debug("Operation "+TaskStatus.COMPLETED); logger.debug("Operation "+TaskStatus.COMPLETED);
newTaskExecutionStatus.setStatus(TaskStatus.COMPLETED); newTaskExecutionStatus.setStatus(TaskStatus.COMPLETED);
msg+= "Status "+TaskStatus.COMPLETED; historyMsg+= "Status "+TaskStatus.COMPLETED;
msg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():""; historyMsg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():"";
break; break;
case FAILED: case FAILED:
logger.debug("Operation "+TaskStatus.FAILED); logger.debug("Operation "+TaskStatus.FAILED);
newTaskExecutionStatus.setStatus(TaskStatus.FAILED); newTaskExecutionStatus.setStatus(TaskStatus.FAILED);
msg+= "Status "+TaskStatus.FAILED; historyMsg+= "Status "+TaskStatus.FAILED;
msg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():""; historyMsg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():"";
break; break;
case RUNNING: case RUNNING:
logger.debug("Operation "+TaskStatus.ONGOING); logger.debug("Operation "+TaskStatus.ONGOING);
newTaskExecutionStatus.setStatus(TaskStatus.ONGOING); newTaskExecutionStatus.setStatus(TaskStatus.ONGOING);
msg+= "Status "+TaskStatus.ONGOING; historyMsg+= "Status "+TaskStatus.ONGOING;
msg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():""; historyMsg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():"";
break; break;
default: default:
newTaskExecutionStatus.setStatus(TaskStatus.INITIALIZING); newTaskExecutionStatus.setStatus(TaskStatus.INITIALIZING);
msg+= "Status "+TaskStatus.INITIALIZING; historyMsg+= "Status "+TaskStatus.INITIALIZING;
msg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():""; historyMsg+=computationStatus.getMessage()!=null?": "+computationStatus.getMessage():"";
break; break;
} }
newTaskExecutionStatus.addLog(NEW_LINE+msg); newTaskExecutionStatus.addLog(historyMsg+NEW_LINE);
saveTaskInMemory(taskConfiguration, newTaskExecutionStatus); saveTaskInMemory(taskConfiguration, newTaskExecutionStatus);
return newTaskExecutionStatus; return newTaskExecutionStatus;

View File

@ -3,11 +3,14 @@
*/ */
package org.gcube.common.workspacetaskexecutor.util; package org.gcube.common.workspacetaskexecutor.util;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* The Class Converter. * The Class Converter.
* *
@ -16,6 +19,10 @@ import java.util.List;
*/ */
public class Converter { public class Converter {
private static SimpleDateFormat defaultSDF = new SimpleDateFormat("HH:mm:ss yyyy-MM-dd");
/** /**
* Gets the enum list. * Gets the enum list.
* *
@ -26,4 +33,18 @@ public class Converter {
public static <E extends Enum<E>> List<E> getEnumList(Class<E> enumClass) { public static <E extends Enum<E>> List<E> getEnumList(Class<E> enumClass) {
return new ArrayList<E>(Arrays.asList(enumClass.getEnumConstants())); return new ArrayList<E>(Arrays.asList(enumClass.getEnumConstants()));
} }
/**
* Gets the current formatted date.
*
* @param sdf the sdf
* @return the current formatted date
*/
public static String getCurrentFormattedDate(SimpleDateFormat sdf){
if(sdf==null)
sdf = defaultSDF;
return sdf.format(new Date());
}
} }