diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/UpdatableBenchmarkJob.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/UpdatableBenchmarkJob.java index 4c55ae3af44496e0687f63f6078d4c0d40788e6d..10fcbd2243d54f4a9ce0fac16bb1a93f6bfce57d 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/UpdatableBenchmarkJob.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/UpdatableBenchmarkJob.java @@ -25,7 +25,7 @@ public class UpdatableBenchmarkJob extends UpdatableObservableValue<BenchmarkJob public interface TransferProgress { - public Long getRemainingSeconds(); + public Long getRemainingMiliseconds(); public boolean isDone(); @@ -66,7 +66,7 @@ public class UpdatableBenchmarkJob extends UpdatableObservableValue<BenchmarkJob private boolean working; // private boolean done; private long start; - private Long remainingSeconds; + private Long remainingMiliseconds; private Float remainingPercents; private Supplier<Boolean> doneStatusSupplier; private Consumer<Boolean> doneStatusConsumer; @@ -80,11 +80,11 @@ public class UpdatableBenchmarkJob extends UpdatableObservableValue<BenchmarkJob public synchronized void setCount(int count, int total) { if (total < -1) { working = false; - remainingSeconds = null; + remainingMiliseconds = null; remainingPercents = null; } else { long delta = System.currentTimeMillis() - start; - remainingSeconds = (long) ((double) delta / count * (total - count)) / 1000; + remainingMiliseconds = (long) ((double) delta / count * (total - count)); remainingPercents = (((float) total - count) / total * 100); } fireValueChangedEvent(); @@ -106,7 +106,7 @@ public class UpdatableBenchmarkJob extends UpdatableObservableValue<BenchmarkJob setDone(true); } working = false; - remainingSeconds = 0l; + remainingMiliseconds = 0l; remainingPercents = 0.f; fireValueChangedEvent(); } @@ -117,8 +117,8 @@ public class UpdatableBenchmarkJob extends UpdatableObservableValue<BenchmarkJob } @Override - public synchronized Long getRemainingSeconds() { - return remainingSeconds; + public synchronized Long getRemainingMiliseconds() { + return remainingMiliseconds; } @Override diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMController.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMController.java index 0470a0fa9e9e12984872020cbb47464affe6f9be..a8e6ef50583ba256f1816eac02f2e28ce58978bb 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMController.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMController.java @@ -210,8 +210,8 @@ public class BenchmarkSPIMController extends BorderPane implements CloseableCont if (!progress.isWorking() && !progress.isDone()) { return ""; } else if (progress.isWorking()) { - Long secs = progress.getRemainingSeconds(); - return string + "ing - time remains " + (secs != null ? secs : "N/A"); + Long msecs = progress.getRemainingMiliseconds(); + return string + "ing - time remains " + (msecs != null ? RemainingTimeFormater.format(msecs) : "N/A"); } else if (progress.isDone()) { return string + "ed"; } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/RemainingTimeFormater.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/RemainingTimeFormater.java new file mode 100644 index 0000000000000000000000000000000000000000..da24c79acb3f51ee49fa4b4c1374263558585006 --- /dev/null +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/RemainingTimeFormater.java @@ -0,0 +1,9 @@ +package cz.it4i.fiji.haas_spim_benchmark.ui; + +public class RemainingTimeFormater { + + public static String format(long duration) { + long s = duration / 1000; + return String.format("%d:%02d:%02d", s / 3600, (s % 3600) / 60, (s % 60)); + } +} diff --git a/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/TestTimeFormater.java b/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/TestTimeFormater.java new file mode 100644 index 0000000000000000000000000000000000000000..1fabc27cd5f2504b148dd26aed5fe35baa5a8268 --- /dev/null +++ b/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/TestTimeFormater.java @@ -0,0 +1,16 @@ +package cz.it4i.fiji.haas; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import cz.it4i.fiji.haas_spim_benchmark.ui.RemainingTimeFormater; + + +public class TestTimeFormater { + + public static final Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas.TestTimeFormater.class); + + public static void main(String[] args) { + log.info( RemainingTimeFormater.format((25*3600 + 5*60 + 6) * 1000 + 200)); + } +}