From 7a1bea18a514f1af6bff2084cf25b88571571ce2 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