83 lines
2.7 KiB
Java
83 lines
2.7 KiB
Java
package org.gcube.portlets.user.td.monitorwidget.client.details.tree;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import org.gcube.portlets.user.td.gwtservice.shared.monitor.OperationMonitor;
|
|
import org.gcube.portlets.user.td.gwtservice.shared.task.JobS;
|
|
import org.gcube.portlets.user.td.gwtservice.shared.task.TaskS;
|
|
import org.gcube.portlets.user.td.gwtservice.shared.task.ValidationsJobS;
|
|
|
|
import com.allen_sauer.gwt.log.client.Log;
|
|
import com.google.gwt.i18n.client.DateTimeFormat;
|
|
|
|
/**
|
|
*
|
|
* @author giancarlo email: <a
|
|
* href="mailto:g.panichi@isti.cnr.it">g.panichi@isti.cnr.it</a>
|
|
*
|
|
*/
|
|
public class MonitorTreeDataGenerator {
|
|
protected DateTimeFormat sdf = DateTimeFormat
|
|
.getFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
protected MonitorFolderDto root;
|
|
|
|
public MonitorTreeDataGenerator(OperationMonitor operationMonitor) {
|
|
Log.debug("MonitorTreeDataGenerator");
|
|
ArrayList<MonitorBaseDto> childrens = new ArrayList<MonitorBaseDto>();
|
|
if (operationMonitor!=null && operationMonitor.getTask() != null) {
|
|
TaskS task = operationMonitor.getTask();
|
|
ArrayList<MonitorBaseDto> jobs = new ArrayList<MonitorBaseDto>();
|
|
for (JobS job : task.getJobs()) {
|
|
ArrayList<MonitorBaseDto> validations = new ArrayList<MonitorBaseDto>();
|
|
|
|
for (ValidationsJobS v : job.getValidationsJobS()) {
|
|
MonitorValidationJobSDto validationDto = new MonitorValidationJobSDto(
|
|
task.getId() + "-" + job.getId() + "-" + v.getId(),
|
|
v.getWorkerState(), v.getProgress(),
|
|
v.getDescription(), v.getErrorMessage(),
|
|
v.getHumanReadableStatus(), job.getInvocation());
|
|
|
|
validations.add(validationDto);
|
|
}
|
|
MonitorFolderDto foldJob = new MonitorFolderDto("job",
|
|
task.getId() + "-" + job.getId(), job.getDescription(),
|
|
job.getWorkerState().toString(), job.getHumaReadableStatus(),job.getProgress(),
|
|
validations);
|
|
jobs.add(foldJob);
|
|
}
|
|
MonitorFolderDto foldTask = new MonitorFolderDto("task",
|
|
task.getId(), sdf.format(task.getStartTime()), task
|
|
.getState().toString(), "",task.getProgress(), jobs);
|
|
childrens.add(foldTask);
|
|
|
|
root = new MonitorFolderDto("root", "-1", "root", "root", "",0,
|
|
childrens);
|
|
Log.debug("Generated root");
|
|
//printRecorsive(root);
|
|
|
|
} else {
|
|
root = new MonitorFolderDto("root", "-1", "root", "root", "", 0,
|
|
childrens);
|
|
Log.debug("Generated root without childrens");
|
|
}
|
|
}
|
|
|
|
public MonitorFolderDto getRoot() {
|
|
return root;
|
|
}
|
|
|
|
protected void printRecorsive(MonitorFolderDto root) {
|
|
for (MonitorBaseDto base : root.getChildrens()) {
|
|
Log.debug("+++");
|
|
Log.debug("Children:[id=" +base.getId() +", toString="+base.toString()+"]");
|
|
if (base instanceof MonitorFolderDto) {
|
|
printRecorsive((MonitorFolderDto) base);
|
|
}
|
|
Log.debug("---");
|
|
|
|
}
|
|
}
|
|
|
|
}
|