[Title] fix some bugs 54/19854/1
authorgreatim <jaewon81.lim@samsung.com>
Tue, 22 Apr 2014 05:09:26 +0000 (14:09 +0900)
committergreatim <jaewon81.lim@samsung.com>
Tue, 22 Apr 2014 05:09:26 +0000 (14:09 +0900)
[Desc.]
[Issue]

Change-Id: Ibea2c7a95e1cf6ff1b4a7e0257de0010660acfc8

org.tizen.dynamicanalyzer.workbench/src/org/tizen/dynamicanalyzer/workbench/Application.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPlugin.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/GlobalInformation.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/AnalyzerPartListener.java [deleted file]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/AnalyzerPerspectiveListener.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/SaveAsDialog.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java

index 6b59ae2..5073cb4 100755 (executable)
@@ -49,7 +49,6 @@ import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.PlatformUI;
-import org.tizen.dynamicanalyzer.common.path.PathConstants;
 import org.tizen.dynamicanalyzer.common.path.PathManager;
 import org.tizen.dynamicanalyzer.nl.WorkbenchLabels;
 import org.tizen.dynamicanalyzer.resources.ImageResources;
@@ -172,6 +171,7 @@ public class Application implements IApplication {
                // check for multiple instance of dynamic analyzer
                if (SingletonFocusManager.acquireSingleton()) {
                        DA_LOG.info("The First DA Running");
+                       SingletonFocusManager.saveSingletonPid();
                } else {
                        DA_LOG.info("Already DA Running");
                        SingletonFocusManager.setFocusToDA();
index 3f00146..ec50d5a 100644 (file)
@@ -323,5 +323,7 @@ public class AnalyzerConstants {
        public final static String CALLSTACK_KEY_TIME = "time";//$NON-NLS-1$
        public final static String CALLSTACK_KEY_LIBNAME = "libName";//$NON-NLS-1$
        
+       public final static String WITHOUT_EXECUTABLE = "<Without executable>";//$NON-NLS-1$
+       
        public final static int SASH_WIDTH = 4;
 }
index d2ac1fe..31d37a7 100755 (executable)
@@ -68,8 +68,6 @@ public class AnalyzerManager {
        private static boolean isRunning = false;
        private static boolean isLogParsingComplete = false;
 
-       private static List<String> projectList = null;
-
        private static HashMap<String, ImageInfo> imageSet = null;
        private static List<ImageInfo> imageList = null;
        private static int imageListSize = 0;
@@ -105,23 +103,6 @@ public class AnalyzerManager {
                exit = e;
        }
 
-       public static synchronized List<String> getProjectList() {
-               if (null == projectList) {
-                       projectList = new ArrayList<String>();
-               }
-               return projectList;
-       }
-
-       public static void removeFromProjectList(String path) {
-               int size = getProjectList().size();
-               for (int i = 0; i < size; i++) {
-                       if (projectList.get(i).equals(path)) {
-                               projectList.remove(i);
-                               break;
-                       }
-               }
-       }
-
        // theme deplicated
        // public static void setTheme(DATheme t) {
        // theme = t;
@@ -164,7 +145,6 @@ public class AnalyzerManager {
                                if (null != sourcePath && !sourcePath.isEmpty()) {
                                        boolean success = AnalyzerUtil.deleteFile(new File(
                                                        sourcePath));
-                                       AnalyzerManager.removeFromProjectList(sourcePath);
                                        if (success) {
                                                // logs for debug
                                                DA_LOG.debug("invalid project deleted!");       //$NON-NLS-1$
@@ -276,7 +256,6 @@ public class AnalyzerManager {
 
        public static void setProject(Project p) {
                project = p;
-               getProjectList().add(p.getSavePath());
        }
 
        public static void setProjectNoRegist(Project p) {
index 7ef2edb..7cf6d91 100644 (file)
 package org.tizen.dynamicanalyzer.common;\r
 \r
 import java.io.File;\r
-import java.util.List;\r
-\r
-\r
-import org.eclipse.ui.IPartService;\r
 import org.eclipse.ui.IWorkbench;\r
 import org.eclipse.ui.IWorkbenchListener;\r
 import org.eclipse.ui.IWorkbenchWindow;\r
@@ -38,7 +34,7 @@ import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.plugin.AbstractUIPlugin;\r
 import org.osgi.framework.BundleContext;\r
 import org.tizen.dynamicanalyzer.common.path.PathManager;\r
-import org.tizen.dynamicanalyzer.listeners.AnalyzerPartListener;\r
+import org.tizen.dynamicanalyzer.database.SqlConnectionManager;\r
 import org.tizen.dynamicanalyzer.listeners.AnalyzerPerspectiveListener;\r
 import org.tizen.dynamicanalyzer.sql.SqlManager;\r
 import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;\r
@@ -46,7 +42,7 @@ import org.tizen.dynamicanalyzer.util.DALogger;
 \r
 public class AnalyzerPlugin extends AbstractUIPlugin {\r
        private static final DALogger DA_LOG = DALogger.getInstance();\r
-       \r
+\r
        private static AnalyzerPlugin plugin;\r
 \r
        public static AnalyzerPlugin getDefault() {\r
@@ -57,42 +53,22 @@ public class AnalyzerPlugin extends AbstractUIPlugin {
        public void start(BundleContext context) throws Exception {\r
                super.start(context);\r
                plugin = this;\r
-               \r
+\r
                // Adds workbench listener.\r
                IWorkbench workbench = PlatformUI.getWorkbench();\r
                workbench.getActiveWorkbenchWindow().getPages();\r
                workbench.addWorkbenchListener(new IWorkbenchListener() {\r
                        @Override\r
                        public void postShutdown(IWorkbench workbench) {\r
-                               // for manage temp projects\r
-                               List<String> tempProjects = AnalyzerManager.getProjectList();\r
-                               int size = tempProjects.size();\r
-                               for (int i = 0; i < size; i++) {\r
-                                       File tempFile = new File(tempProjects.get(i));\r
-                                       if (tempFile.isFile() && tempFile.exists()) {\r
-                                               AnalyzerUtil.deleteFile(tempFile);\r
-                                       }\r
-                               }\r
-                               boolean delete = true;\r
-                               /** do not delete : for multi da running **/\r
-                               /**\r
-                                * boolean delete = false; if (tempFolder.exists() &&\r
-                                * tempFolder.isDirectory()) { String[] list =\r
-                                * tempFolder.list(); if (0 == list.length) { delete = true; }\r
-                                * else { int count = list.length; for (int i = 0; i < count;\r
-                                * i++) { String fileName = list[i]; if (fileName\r
-                                * .contains(AnalyzerConstants.TEMP_FOLDER_RUN_PREFIX)) { delete\r
-                                * = false; break; } if (i + 1 == count) { delete = true; } } }\r
-                                **/\r
-                               if (delete) {\r
-                                       SqlManager.getInstance().closeConnection();\r
-                                       File tempDir = new File(PathManager.DA_TEMP_FOLDER_PATH);\r
-                                       if (tempDir.isDirectory() && tempDir.exists()) {\r
-                                               if (AnalyzerUtil.deleteFile(tempDir)) {\r
-                                                       DA_LOG.debug("Delete temp folder!");    //$NON-NLS-1$\r
-                                               } else {\r
-                                                       DA_LOG.debug("Delete temp folder fail...");     //$NON-NLS-1$\r
-                                               }\r
+                               SqlConnectionManager.closeConnection();\r
+                               SqlManager.getInstance().closeConnection();\r
+                               \r
+                               File tempDir = new File(PathManager.DA_TEMP_FOLDER_PATH);\r
+                               if (tempDir.isDirectory() && tempDir.exists()) {\r
+                                       if (AnalyzerUtil.deleteFile(tempDir)) {\r
+                                               DA_LOG.debug("Delete temp folder!"); //$NON-NLS-1$\r
+                                       } else {\r
+                                               DA_LOG.debug("Delete temp folder fail..."); //$NON-NLS-1$\r
                                        }\r
                                }\r
                        }\r
@@ -120,12 +96,6 @@ public class AnalyzerPlugin extends AbstractUIPlugin {
                                DA_LOG.debug("save folder create failed...");\r
                        }\r
                }\r
-\r
-               IPartService partService = PlatformUI.getWorkbench()\r
-                               .getActiveWorkbenchWindow().getPartService();\r
-\r
-               AnalyzerPartListener partListener = new AnalyzerPartListener();\r
-               partService.addPartListener(partListener);\r
        }\r
 \r
        @Override\r
index 6cd3b16..284ca4f 100644 (file)
@@ -1,13 +1,15 @@
 package org.tizen.dynamicanalyzer.common;
 
 import org.tizen.dynamicanalyzer.model.DeviceInfo;
+import org.tizen.dynamicanalyzer.project.AppInfo;
 import org.tizen.dynamicanalyzer.project.Project;
 
 // This class is for global information that can be accessed from anywhere in dynamic analyzer code.
 // So this class contains only static methods and variables.
 public class GlobalInformation {
-       private static DeviceInfo currentDevice;
-       private static Project currentProject;
+       private static DeviceInfo currentDevice = null;
+       private static AppInfo currentApplication = null;
+       private static Project currentProject = null;
 
        public static DeviceInfo getCurrentDeviceInfo() {
                return currentDevice;
@@ -24,4 +26,12 @@ public class GlobalInformation {
        public static void setCurrentProject(Project project) {
                currentProject = project;
        }
+
+       public static AppInfo getCurrentApplication() {
+               return currentApplication;
+       }
+
+       public static void setCurrentApplication(AppInfo appInfo) {
+               currentApplication = appInfo;
+       }
 }
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/AnalyzerPartListener.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/AnalyzerPartListener.java
deleted file mode 100644 (file)
index 41b175c..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *  Dynamic Analyzer
- *
- * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: 
- * Jooyoul Lee <jy.exe.lee@samsung.com>
- * Juyoung Kim <j0.kim@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * 
- * Contributors:
- * - S-Core Co., Ltd
- * 
- */
-
-package org.tizen.dynamicanalyzer.listeners;
-
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IWorkbenchPartReference;
-
-public class AnalyzerPartListener implements IPartListener2 {
-
-       @Override
-       public void partActivated(IWorkbenchPartReference partRef) {
-       }
-
-       @Override
-       public void partBroughtToTop(IWorkbenchPartReference partRef) {
-       }
-
-       @Override
-       public void partClosed(IWorkbenchPartReference partRef) {
-       }
-
-       @Override
-       public void partDeactivated(IWorkbenchPartReference partRef) {
-       }
-
-       @Override
-       public void partOpened(IWorkbenchPartReference partRef) {
-       }
-
-       @Override
-       public void partHidden(IWorkbenchPartReference partRef) {
-       }
-
-       @Override
-       public void partVisible(IWorkbenchPartReference partRef) {
-
-       }
-
-       @Override
-       public void partInputChanged(IWorkbenchPartReference partRef) {
-       }
-
-}
index 5abf778..f3ce6b1 100644 (file)
@@ -60,7 +60,6 @@ public class AnalyzerPerspectiveListener extends PerspectiveAdapter {
                        BinarySettingManager.getInstance().initBinarySettings();
                        DA_LOG.performance("TEST", "DA Start", "Target Binary Setting");
 
-                       SingletonFocusManager.saveSingletonPid();
                        IDECommunicator.startIDECommunicatorThread();
                        DA_LOG.performance("TEST", "DA Start", "Start IDE Communicator");
                        ConfigurationDialogDataManager.getInstance()
index ae28aa2..7a32fa7 100755 (executable)
@@ -45,6 +45,7 @@ import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
 import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.common.path.PathManager;
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
+import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
 import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
 import org.tizen.dynamicanalyzer.nl.WidgetLabels;
 import org.tizen.dynamicanalyzer.project.Project;
@@ -254,6 +255,7 @@ public class SaveAsDialog extends DAMessageBox {
                                + File.separator + saveFileName;
 
                SqlManager.getInstance().closeConnection();
+               SqlConnectionManager.closeConnection();
                project.setSavePath(targetPath);
 
                File sourceFolder = new File(sourcePath);
@@ -274,7 +276,6 @@ public class SaveAsDialog extends DAMessageBox {
                AnalyzerUtil.copyDirectory(sourceFolder, targetFolder);
 
                boolean success = AnalyzerUtil.deleteFile(new File(sourcePath));
-               AnalyzerManager.removeFromProjectList(sourcePath);
                if (success) {
                        // add snapshot model update
                        DA_LOG.debug("save complete!!"); //$NON-NLS-1$
index bdf03c8..c74e741 100644 (file)
@@ -30,6 +30,7 @@ import org.eclipse.swt.widgets.Display;
 import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
 import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.communicator.DACommunicator;
+import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
 import org.tizen.dynamicanalyzer.logparser.LogInserter;
 import org.tizen.dynamicanalyzer.logparser.LogParser;
 import org.tizen.dynamicanalyzer.project.Project;
@@ -124,6 +125,7 @@ public class StopLogProcessor implements Runnable {
                        SqlManager.getInstance().saveProfilingChildData();
                        SqlManager.getInstance().saveApiNames();
                        SqlManager.getInstance().closeConnection();
+                       SqlConnectionManager.closeConnection();
 
                        DA_LOG.debug("insert to db complete..."); //$NON-NLS-1$
                        percent += 10;
index 679ad1b..0648a08 100755 (executable)
@@ -77,7 +77,7 @@ import org.tizen.sdblib.IDevice;
 
 public class ToolbarArea {
        private static final DALogger DA_LOG = DALogger.getInstance();
-       
+
        public static final int START_BUTTON = 0;
        public static final int SAVE_BUTTON = 1;
        public static final int OPEN_BUTTON = 2;
@@ -98,7 +98,6 @@ public class ToolbarArea {
 
        private static ToolbarArea coolbarArea;
 
-
        // Toolbar
        private DACustomCombo deviceCombo;
        private DACustomCombo appCombo;
@@ -188,23 +187,23 @@ public class ToolbarArea {
                                        return;
                                }
 
-                               String device = DACommunicator.getSelectedDevice().getIDevice()
-                                               .getSerialNumber();
-                               String deviceName = p.getDevice();
+                               String sDeviceName = DACommunicator.getSelectedDevice()
+                                               .getIDevice().getSerialNumber();
+                               String pDeviceName = p.getDevice();
 
                                String appName = p.getAppName();
                                String text = appCombo.getText();
-                               if ((null != deviceName && !deviceName.isEmpty()
-                                               && !device.isEmpty() && deviceName.equals(device))
+                               if ((null != pDeviceName && !pDeviceName.isEmpty()
+                                               && !sDeviceName.isEmpty() && pDeviceName
+                                                       .equals(sDeviceName))
                                                && (null != appName && !appName.isEmpty()
                                                                && !text.isEmpty() && appName.equals(text))) {
                                        replayButton.setButtonEnabled(true);
                                        replayEditButton.setButtonEnabled(true);
-                                       return;
+                               } else {
+                                       replayButton.setButtonEnabled(false);
+                                       replayEditButton.setButtonEnabled(false);
                                }
-
-                               replayButton.setButtonEnabled(false);
-                               replayEditButton.setButtonEnabled(false);
                        }
                });
        }