SRADA-863 Cli saves in zip now. GUI save\load functions use default file path.
authorp.privalov <p.privalov@partner.samsung.com>
Tue, 5 Jul 2016 11:19:14 +0000 (14:19 +0300)
committerMaria Guseva <m.guseva@samsung.com>
Wed, 13 Jul 2016 12:49:55 +0000 (21:49 +0900)
1) Cli saves trace to zip with standart name in standart save folder
 This trace is in same format as GUI trace, it can be opened in GUI.
2) Updated 'feature' configuration file in order to support chart lists.
3) GUI saves dialog and open dialog now opens at default location
tizen-sdk-data/dynamic-analyzer/save.
4) project.save() and DataManagerRegistry.saveData() activity moved to
CommandAction.saveToZip().

Change-Id: I2a3cdd965d25a6d30de977851da37c58004a8da4

org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/CliInternals.java
org.tizen.dynamicanalyzer.cli/src/org/tizen/dynamicanalyzer/cli/commands/StopCommand.java
org.tizen.dynamicanalyzer.workbench.product/resources/config/feature
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/CommandAction.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/MenuBar.java

index 313ab4e..1244e7c 100644 (file)
@@ -1,9 +1,12 @@
 package org.tizen.dynamicanalyzer.cli;
 
+import java.io.File;
 import java.rmi.ConnectException;
+import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -23,9 +26,10 @@ import org.tizen.dynamicanalyzer.communicator.DeviceManager;
 import org.tizen.dynamicanalyzer.handlers.CommandAction;
 import org.tizen.dynamicanalyzer.handlers.UIActionHolder;
 import org.tizen.dynamicanalyzer.project.PackageInfo;
+import org.tizen.dynamicanalyzer.setting.FeatureValueData;
 import org.tizen.dynamicanalyzer.setting.SettingDataManager;
-import org.tizen.dynamicanalyzer.setting.TargetData;
 import org.tizen.dynamicanalyzer.setting.Template;
+import org.tizen.dynamicanalyzer.setting.UILayoutDataManager;
 import org.tizen.dynamicanalyzer.util.InternalLogger;
 import org.tizen.dynamicanalyzer.util.Logger;
 import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
@@ -276,9 +280,17 @@ public final class CliInternals {
                // features instead of templates
                if (template == Template.TEMPLATE_CUSTOM)
                        return false;
-               TargetData target = SettingDataManager.INSTANCE.getTarget(null);
-               target.setSelectedTemplate(template);
-               target.changeSelectedFeatureList(template);
+               Set<String> selectedChartSet = new HashSet<String>();
+
+               for (FeatureValueData feature : template.getData().getFeatureList()) {
+                       if (feature.getKey().getData().getChartList().size() > 0) {
+                               selectedChartSet.addAll(feature.getKey().getData()
+                                               .getChartList());
+                       }
+               }
+               Logger.debug(selectedChartSet);
+
+               UILayoutDataManager.INSTANCE.setSelectedChartSet(selectedChartSet);
                return true;
        }
 
@@ -430,6 +442,9 @@ public final class CliInternals {
         */
        public static boolean saveTrace(String filename) {
                Logger.debug("Saving tracing results to " + filename);
-               return CommandAction.save(filename);
+               if(!filename.startsWith("/"))  // If fileName does not contains absolute path to file
+                       filename = PathManager.DA_SAVE_PATH + File.separator + filename+".zip";
+
+               return CommandAction.saveToZip(filename);
        }
 }
index 475cb7e..72564bd 100644 (file)
@@ -1,11 +1,14 @@
 package org.tizen.dynamicanalyzer.cli.commands;
 
+import java.io.File;
 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.common.DAResult;
+import org.tizen.dynamicanalyzer.common.path.PathManager;
+import org.tizen.dynamicanalyzer.handlers.CommandAction;
 import org.tizen.dynamicanalyzer.project.Project;
 
 public class StopCommand extends Command {
@@ -51,7 +54,7 @@ public class StopCommand extends Command {
                try{
                        totalStopTime = getTotalStopTime(ctx);
                }catch(Exception e){
-                       System.out.println("Can't open saved trace.");
+                       System.err.println("Can't get time from TracingProcessManager");
                        return ExitCode.EX_OPERATION_FAILED;
                }
 
@@ -60,7 +63,7 @@ public class StopCommand extends Command {
                                "Duration: %s%n" +
                                "Tracing time: %s%n" +
                                "  Output: %s%n",
-                               duration, totalStopTime, ctx.getArgs().getOutput());
+                               duration, totalStopTime, ctx.getArgs().getOutput()+".zip");
                                // TODO check if output was created
 
                return ExitCode.EX_SUCCESS;
@@ -68,8 +71,12 @@ public class StopCommand extends Command {
 
        private String getTotalStopTime(TracingProcessContext ctx) throws Exception {
                long diff_ms = 0;
-               Project project = Project.getProjectFromFile(ctx.getArgs().getOutput()
-                               .getAbsolutePath());
+               String src = CommandAction.loadFromZip(PathManager.DA_SAVE_PATH + File.separator
+                                               + ctx.getArgs().getOutput().getName() + ".zip");
+               if (src == null) {
+                       throw new Exception();
+               }
+               Project project = Project.getProjectFromFile(src);
                if (project == null)
                        throw new Exception();
 
index b7a7380..f2fcc75 100644 (file)
@@ -1,23 +1,23 @@
-1|System|0|||||||
-2|System cpu|1|1|Timeline|CPU||||
-3|System process|1|1|Timeline|Process Size-Memory-Heap allocation||||
-4|System memory|1|1|Timeline|Process Size-Memory||||
-5|System processes|1|1|Timeline|CPU||||
+1|System|0|||CPU Usage||||
+2|System cpu|1|1|Timeline|Core Usage||||
+3|System process|1|1|Timeline|Process Memory-Heap Allocation||||
+4|System memory|1|1|Timeline|System Memory-Heap Allocation||||
+5|System processes|1|1|Timeline|CPU Usage||||
 6|System disk|1|1|Timeline|Disk IO||||
 7|System network|1|1|Timeline|Network IO||||
 8|System device|1|1|Timeline|Device||||
-9|System energy|1|1|Timeline|Energy||||
+9|System energy|1|1|Timeline|Power Estimation||||
 100|Function profiling|0||Timeline-Summary|||||
 101|Function sampling|0||Summary|||||
 301|Memory allocation|0||Memory|Heap allocation||||3
 103|Application startup|0||Timeline|||||
-200|File analysis|0||File|||||
-201|Thread analysis|0||Thread|||||
-202|Network analysis|0||Network|||||
-203|OpenGL ES analysis|0||OpenGL|||||3
+200|File analysis|0||File|File Analysis||||
+201|Thread analysis|0||Thread|Thread||||
+202|Network analysis|0||Network|Network IO||||
+203|OpenGL ES analysis|0||OpenGL|Frame rate||||3
 204|UI event|0||Timeline|UI event||||
 205|Context switch|0||Kernel|||||2
-206|UI Hierarchy analysis|0||UI Hierarchy|||||
+206|UI Hierarchy analysis|0||UI Hierarchy|UI Hierarchy||||
 300|Inside the platform|0|||||||3
 302|Inside the platform file|1|300|File|||||
 303|Inside the platform thread|1|300|Thread|||||3
@@ -35,4 +35,4 @@
 5000|On scene transition|0||Timeline|Screenshot||||
 5001|periodically|0||Timeline|Screenshot|10|100|10|
 5002|Recording|0|||||||
-5003|Auto Stop|0|||||||
\ No newline at end of file
+5003|Auto Stop|0|||||||
index 3175b47..bf54b20 100644 (file)
@@ -94,7 +94,10 @@ public class CommandAction {
 
        public static boolean saveToZip(String saveFileName) {
                Project project = Global.getProject();
-               String sourcePath = project.getSavePath();              
+               String sourcePath = project.getSavePath();
+
+               project.save();
+               DataManagerRegistry.saveData();
 
                File sourceFolder = new File(sourcePath);
                if (!sourceFolder.isDirectory()) {
index eb58b47..d1a2d4d 100644 (file)
@@ -38,17 +38,16 @@ import org.eclipse.swt.widgets.Shell;
 import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.common.DAState;
 import org.tizen.dynamicanalyzer.common.Global;
+import org.tizen.dynamicanalyzer.common.path.PathManager;
 import org.tizen.dynamicanalyzer.communicator.DACommunicator;
 import org.tizen.dynamicanalyzer.communicator.UnsupportedProtocolException;
 import org.tizen.dynamicanalyzer.handlers.CommandAction;
 import org.tizen.dynamicanalyzer.handlers.CommonAction;
-import org.tizen.dynamicanalyzer.handlers.GUIAction;
 import org.tizen.dynamicanalyzer.handlers.UIActionHolder;
 import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
 import org.tizen.dynamicanalyzer.nl.MenuBarLabels;
 import org.tizen.dynamicanalyzer.project.Project;
 import org.tizen.dynamicanalyzer.setting.SettingDataManager;
-import org.tizen.dynamicanalyzer.swap.logparser.DataManagerRegistry;
 import org.tizen.dynamicanalyzer.ui.file.FileChartView;
 import org.tizen.dynamicanalyzer.ui.file.FilePage;
 import org.tizen.dynamicanalyzer.ui.memory.MemoryPage;
@@ -270,6 +269,7 @@ public class MenuBar {
                                dialog.setFilterNames(new String[] { "Zip file" });
                                dialog.setFilterExtensions(new String[] { "*.zip" });
                                dialog.setText(MenuBarLabels.FILE_LOAD_DIALOG_TITLE);
+                               dialog.setFilterPath(PathManager.DA_SAVE_PATH);
 
                                final Object result = dialog.open();
                                if (null != result) {
@@ -295,9 +295,6 @@ public class MenuBar {
                                        return;
                                }
 
-                               project.save();
-                               DataManagerRegistry.saveData();
-
                                String savefilename = project.getSavePath()
                                                .substring(project.getSavePath().lastIndexOf(File.separator) + 1);
 
@@ -306,6 +303,7 @@ public class MenuBar {
                                dialog.setFilterExtensions(new String[] { "*.zip" });
                                dialog.setFileName(savefilename + ".zip");
                                dialog.setText(MenuBarLabels.FILE_SAVE_DIALOG_TITLE);
+                               dialog.setFilterPath(PathManager.DA_SAVE_PATH);
 
                                Object result = dialog.open();
                                if (null != result) {