From d197a5f89efc31007b6913510b6c72de5af4d8f4 Mon Sep 17 00:00:00 2001
From: "p.privalov"
Date: Tue, 19 Jul 2016 16:24:07 +0300
Subject: [PATCH] SRADA-782 Implemented method to store time in pretty format.
Duration renamed into HumanReadableTimeFormat.
Duration and TracingTime stored in HumanReadableTimeFormat.
HumanReadableTimeFormat implements Serializable.
Change-Id: I2fc0d789007ee75bef991d807353ec9985906b00
---
.../src/org/tizen/dynamicanalyzer/cli/CliInternals.java | 6 ++++--
.../tizen/dynamicanalyzer/cli/commands/StopCommand.java | 6 +++---
.../tizen/dynamicanalyzer/cli/manager/ProcessManager.java | 6 ++++--
.../dynamicanalyzer/cli/manager/ProcessManagerMBean.java | 5 +++--
.../utils/{Duration.java => HumanReadableTimeFormat.java} | 14 ++++++++++++--
5 files changed, 26 insertions(+), 11 deletions(-)
rename org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/utils/{Duration.java => HumanReadableTimeFormat.java} (82%)
diff --git a/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/CliInternals.java b/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/CliInternals.java
index a7e6565..b7b2249 100644
--- a/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/CliInternals.java
+++ b/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/CliInternals.java
@@ -15,6 +15,7 @@ import org.tizen.dynamicanalyzer.cli.manager.ClientUtils;
import org.tizen.dynamicanalyzer.cli.manager.ProcessManagerMBean;
import org.tizen.dynamicanalyzer.cli.manager.TracingProcessContext;
import org.tizen.dynamicanalyzer.cli.tracing.TracingArguments;
+import org.tizen.dynamicanalyzer.cli.utils.HumanReadableTimeFormat;
import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
import org.tizen.dynamicanalyzer.common.DAResult;
import org.tizen.dynamicanalyzer.common.DAResult.ErrorCode;
@@ -368,10 +369,11 @@ public final class CliInternals {
* if it not finished yet
*
* @param device string definition of device
- * @return Tracing time in ms. Not in human readable form by now.
+ * @return Tracing time in human readable form.
* @throws ConnectException if not able to connect with ProcessManager
*/
- public static long getTracingTime(String device) throws ConnectException {
+ public static HumanReadableTimeFormat getTracingTime(String device)
+ throws ConnectException {
ProcessManagerMBean pmProxy = getPMProxyInstance();
return pmProxy.getTracingTime(device);
}
diff --git a/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/commands/StopCommand.java b/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/commands/StopCommand.java
index 21dd118..1406376 100644
--- a/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/commands/StopCommand.java
+++ b/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/commands/StopCommand.java
@@ -5,7 +5,7 @@ import java.rmi.ConnectException;
import org.tizen.dynamicanalyzer.cli.CliInternals;
import org.tizen.dynamicanalyzer.cli.manager.TracingProcessContext;
-import org.tizen.dynamicanalyzer.cli.utils.Duration;
+import org.tizen.dynamicanalyzer.cli.utils.HumanReadableTimeFormat;
import org.tizen.dynamicanalyzer.common.DAResult;
import org.tizen.dynamicanalyzer.common.path.PathManager;
import org.tizen.dynamicanalyzer.handlers.CommandAction;
@@ -49,8 +49,8 @@ public class StopCommand extends Command {
}
}
- Duration duration = new Duration(ctx.getStartTime(), ctx.getFinishTime());
- long tracingTime;
+ HumanReadableTimeFormat duration = new HumanReadableTimeFormat(ctx.getStartTime(), ctx.getFinishTime());
+ HumanReadableTimeFormat tracingTime = null;
try{
tracingTime = CliInternals.getTracingTime(
ctx.getArgs().getDevice());
diff --git a/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/manager/ProcessManager.java b/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/manager/ProcessManager.java
index 08b39a0..91a2f0c 100644
--- a/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/manager/ProcessManager.java
+++ b/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/manager/ProcessManager.java
@@ -9,6 +9,7 @@ import java.util.concurrent.ConcurrentHashMap;
import org.tizen.dynamicanalyzer.cli.CliInternals;
import org.tizen.dynamicanalyzer.cli.tracing.TracingArguments;
+import org.tizen.dynamicanalyzer.cli.utils.HumanReadableTimeFormat;
import org.tizen.dynamicanalyzer.common.DAResult;
import org.tizen.dynamicanalyzer.common.DAResult.ErrorCode;
import org.tizen.dynamicanalyzer.util.Logger;
@@ -138,8 +139,9 @@ public class ProcessManager implements ProcessManagerMBean {
}
@Override
- public synchronized long getTracingTime(String device) {
- return mTracingMap.get(device).getTracingTime();
+ public synchronized HumanReadableTimeFormat getTracingTime(String device) {
+ return new HumanReadableTimeFormat(mTracingMap.get(device)
+ .getTracingTime());
}
@Override
diff --git a/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/manager/ProcessManagerMBean.java b/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/manager/ProcessManagerMBean.java
index 9459c4a..92efb03 100644
--- a/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/manager/ProcessManagerMBean.java
+++ b/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/manager/ProcessManagerMBean.java
@@ -1,6 +1,7 @@
package org.tizen.dynamicanalyzer.cli.manager;
import org.tizen.dynamicanalyzer.cli.tracing.TracingArguments;
+import org.tizen.dynamicanalyzer.cli.utils.HumanReadableTimeFormat;
import org.tizen.dynamicanalyzer.common.DAResult;
import org.tizen.dynamicanalyzer.common.DAResult.ErrorCode;
@@ -54,9 +55,9 @@ public interface ProcessManagerMBean {
* still running
*
* @param device String definition of device serial or ip:port
- * @return time in milliseconds or zero
+ * @return time in human readable form.
*/
- long getTracingTime(String device);
+ HumanReadableTimeFormat getTracingTime(String device);
/**
* Stop all tracing processes.
diff --git a/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/utils/Duration.java b/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/utils/HumanReadableTimeFormat.java
similarity index 82%
rename from org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/utils/Duration.java
rename to org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/utils/HumanReadableTimeFormat.java
index d580555..b5b6480 100644
--- a/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/utils/Duration.java
+++ b/org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/utils/HumanReadableTimeFormat.java
@@ -1,11 +1,17 @@
package org.tizen.dynamicanalyzer.cli.utils;
+import java.io.Serializable;
import java.util.Date;
/**
* Class represents duration of some period of time.
*/
-public class Duration {
+public class HumanReadableTimeFormat implements Serializable {
+ /**
+ * Automatically generated class identifier
+ */
+ private static final long serialVersionUID = 8522187457892222028L;
+
/**
* Duration of this time period in milliseconds.
*/
@@ -36,10 +42,14 @@ public class Duration {
* @param start time when period was started
* @param finish time when period was ended
*/
- public Duration(Date start, Date finish) {
+ public HumanReadableTimeFormat(Date start, Date finish) {
duration_ms = Math.abs(finish.getTime() - start.getTime());
}
+ public HumanReadableTimeFormat(long tracingTime) {
+ duration_ms = tracingTime;
+ }
+
/**
* Get human readable representation of duration.
* E.g.:
--
2.7.4