From c61ac123e0c32b7f8328bb6e3b24723b6e18b5ca Mon Sep 17 00:00:00 2001
From: Jan Kozusznik <jan@kozusznik.cz>
Date: Wed, 22 Nov 2017 23:39:21 +0100
Subject: [PATCH] show creation time

---
 .../src/main/java/cz/it4i/fiji/haas/Job.java      |  4 ++++
 .../main/java/cz/it4i/fiji/haas/JobManager.java   | 15 +++++++++++++--
 .../cz/it4i/fiji/haas/ui/CheckStatusOfHaaS.fxml   | 11 ++++++-----
 .../fiji/haas/ui/CheckStatusOfHaaSController.java |  5 +++--
 .../cz/it4i/fiji/haas_java_client/HaaSClient.java |  5 +++++
 .../cz/it4i/fiji/haas_java_client/JobInfo.java    |  2 ++
 6 files changed, 33 insertions(+), 9 deletions(-)

diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java
index 9b66280f..620c6ccf 100644
--- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java
@@ -140,6 +140,10 @@ public class Job {
 		return jobInfo.getStartTime();
 	}
 
+	public Calendar getCreationTime() {
+		return jobInfo.getCreationTime();
+	}
+
 	public Calendar getEndTime() {
 		return jobInfo.getEndTime();
 	}
diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java
index 1517be71..69857f34 100644
--- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java
@@ -3,6 +3,7 @@ package cz.it4i.fiji.haas;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.Calendar;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.LinkedList;
@@ -91,14 +92,19 @@ public class JobManager {
 			return job.needsDownload();
 		}
 
+		public String getCreationTime() {
+			return getStringFromTimeSafely(job.getCreationTime());
+		}
+
 		public String getStartTime() {
-			return job.getStartTime().getTime().toString();
+			return getStringFromTimeSafely(job.getStartTime());
 		}
 
 		public String getEndTime() {
-			return job.getEndTime() != null ? job.getEndTime().getTime().toString() : "N/A";
+			return getStringFromTimeSafely(job.getEndTime());
 		}
 		
+
 		public void downloadData(Progress progress) {
 			job.download(progress);
 			fireValueChangedEvent();
@@ -112,5 +118,10 @@ public class JobManager {
 		public JobInfo getValue() {
 			return this;
 		}
+
+		private String getStringFromTimeSafely(Calendar time) {
+			return time!= null ? time.getTime().toString() : "N/A";
+		}
+
 	}
 }
diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/CheckStatusOfHaaS.fxml b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/CheckStatusOfHaaS.fxml
index ae249c9d..c0b50d22 100644
--- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/CheckStatusOfHaaS.fxml
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/CheckStatusOfHaaS.fxml
@@ -4,14 +4,15 @@
 <?import javafx.scene.control.TableView?>
 <?import javafx.scene.layout.BorderPane?>
 
-<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="730.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="cz.it4i.fiji.haas.ui.CheckStatusOfHaaSController">
+<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="912.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1" fx:controller="cz.it4i.fiji.haas.ui.CheckStatusOfHaaSController">
    <center>
-      <TableView fx:id="jobs" prefHeight="445.0" prefWidth="623.0" BorderPane.alignment="CENTER">
+      <TableView fx:id="jobs" prefHeight="400.0" prefWidth="675.0" BorderPane.alignment="CENTER">
         <columns>
           <TableColumn prefWidth="75.0" text="Job Id" />
-          <TableColumn prefWidth="192.0" text="Status" />
-            <TableColumn prefWidth="227.0" text="Start time" />
-            <TableColumn prefWidth="235.0" text="End Time" />
+          <TableColumn prefWidth="149.0" text="Status" />
+            <TableColumn prefWidth="230.0" text="Creation time" />
+            <TableColumn prefWidth="230.0" text="Start time" />
+            <TableColumn prefWidth="230.0" text="End Time" />
         </columns>
       </TableView>
    </center>
diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/CheckStatusOfHaaSController.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/CheckStatusOfHaaSController.java
index 4a94de45..d814f587 100644
--- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/CheckStatusOfHaaSController.java
+++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/CheckStatusOfHaaSController.java
@@ -74,8 +74,9 @@ public class CheckStatusOfHaaSController {
 	private void initTable() {
 		setCellValueFactory(0, j -> j.getId().toString());
 		setCellValueFactory(1, j -> j.getState().toString() + (j.needsDownload() ? " - needs download" : ""));
-		setCellValueFactory(2, j -> j.getStartTime().toString());
-		setCellValueFactory(3, j -> j.getEndTime().toString());
+		setCellValueFactory(2, j -> j.getCreationTime().toString());
+		setCellValueFactory(3, j -> j.getStartTime().toString());
+		setCellValueFactory(4, j -> j.getEndTime().toString());
 	}
 
 	@SuppressWarnings("unchecked")
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java
index e96e046d..b157b502 100644
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java
@@ -6,6 +6,7 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.rmi.RemoteException;
 import java.util.Arrays;
+import java.util.Calendar;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -206,6 +207,10 @@ public class HaaSClient {
 				public java.util.Calendar getEndTime() {
 					return info.getEndTime();
 				};
+				
+				public Calendar getCreationTime() {
+					return info.getCreationTime();
+				};
 			};
 		} catch (RemoteException | ServiceException e) {
 			throw new HaaSClientException(e);
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobInfo.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobInfo.java
index 53231a2f..b0868f76 100644
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobInfo.java
+++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobInfo.java
@@ -13,4 +13,6 @@ public interface JobInfo {
 	Calendar getStartTime();
 
 	Calendar getEndTime();
+
+	Calendar getCreationTime();
 }
-- 
GitLab