From 778d1acd8dc1fc5d09d242172c3904030e4f3618 Mon Sep 17 00:00:00 2001 From: greatim Date: Tue, 22 Apr 2014 14:09:26 +0900 Subject: [PATCH] [Title] fix some bugs [Desc.] [Issue] Change-Id: Ibea2c7a95e1cf6ff1b4a7e0257de0010660acfc8 --- .../dynamicanalyzer/workbench/Application.java | 2 +- .../dynamicanalyzer/common/AnalyzerConstants.java | 2 + .../dynamicanalyzer/common/AnalyzerManager.java | 21 ------- .../dynamicanalyzer/common/AnalyzerPlugin.java | 54 ++++------------- .../dynamicanalyzer/common/GlobalInformation.java | 14 ++++- .../listeners/AnalyzerPartListener.java | 67 ---------------------- .../listeners/AnalyzerPerspectiveListener.java | 1 - .../dynamicanalyzer/ui/toolbar/SaveAsDialog.java | 3 +- .../ui/toolbar/StopLogProcessor.java | 2 + .../dynamicanalyzer/ui/toolbar/ToolbarArea.java | 21 ++++--- 10 files changed, 41 insertions(+), 146 deletions(-) delete mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/AnalyzerPartListener.java diff --git a/org.tizen.dynamicanalyzer.workbench/src/org/tizen/dynamicanalyzer/workbench/Application.java b/org.tizen.dynamicanalyzer.workbench/src/org/tizen/dynamicanalyzer/workbench/Application.java index 6b59ae2..5073cb4 100755 --- a/org.tizen.dynamicanalyzer.workbench/src/org/tizen/dynamicanalyzer/workbench/Application.java +++ b/org.tizen.dynamicanalyzer.workbench/src/org/tizen/dynamicanalyzer/workbench/Application.java @@ -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(); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java index 3f00146..ec50d5a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java @@ -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 = "";//$NON-NLS-1$ + public final static int SASH_WIDTH = 4; } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerManager.java index d2ac1fe..31d37a7 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerManager.java @@ -68,8 +68,6 @@ public class AnalyzerManager { private static boolean isRunning = false; private static boolean isLogParsingComplete = false; - private static List projectList = null; - private static HashMap imageSet = null; private static List imageList = null; private static int imageListSize = 0; @@ -105,23 +103,6 @@ public class AnalyzerManager { exit = e; } - public static synchronized List getProjectList() { - if (null == projectList) { - projectList = new ArrayList(); - } - 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) { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPlugin.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPlugin.java index 7ef2edb..7cf6d91 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPlugin.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerPlugin.java @@ -27,10 +27,6 @@ package org.tizen.dynamicanalyzer.common; import java.io.File; -import java.util.List; - - -import org.eclipse.ui.IPartService; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchListener; import org.eclipse.ui.IWorkbenchWindow; @@ -38,7 +34,7 @@ import org.eclipse.ui.PlatformUI; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; import org.tizen.dynamicanalyzer.common.path.PathManager; -import org.tizen.dynamicanalyzer.listeners.AnalyzerPartListener; +import org.tizen.dynamicanalyzer.database.SqlConnectionManager; import org.tizen.dynamicanalyzer.listeners.AnalyzerPerspectiveListener; import org.tizen.dynamicanalyzer.sql.SqlManager; import org.tizen.dynamicanalyzer.utils.AnalyzerUtil; @@ -46,7 +42,7 @@ import org.tizen.dynamicanalyzer.util.DALogger; public class AnalyzerPlugin extends AbstractUIPlugin { private static final DALogger DA_LOG = DALogger.getInstance(); - + private static AnalyzerPlugin plugin; public static AnalyzerPlugin getDefault() { @@ -57,42 +53,22 @@ public class AnalyzerPlugin extends AbstractUIPlugin { public void start(BundleContext context) throws Exception { super.start(context); plugin = this; - + // Adds workbench listener. IWorkbench workbench = PlatformUI.getWorkbench(); workbench.getActiveWorkbenchWindow().getPages(); workbench.addWorkbenchListener(new IWorkbenchListener() { @Override public void postShutdown(IWorkbench workbench) { - // for manage temp projects - List tempProjects = AnalyzerManager.getProjectList(); - int size = tempProjects.size(); - for (int i = 0; i < size; i++) { - File tempFile = new File(tempProjects.get(i)); - if (tempFile.isFile() && tempFile.exists()) { - AnalyzerUtil.deleteFile(tempFile); - } - } - boolean delete = true; - /** do not delete : for multi da running **/ - /** - * boolean delete = false; if (tempFolder.exists() && - * tempFolder.isDirectory()) { String[] list = - * tempFolder.list(); if (0 == list.length) { delete = true; } - * else { int count = list.length; for (int i = 0; i < count; - * i++) { String fileName = list[i]; if (fileName - * .contains(AnalyzerConstants.TEMP_FOLDER_RUN_PREFIX)) { delete - * = false; break; } if (i + 1 == count) { delete = true; } } } - **/ - if (delete) { - SqlManager.getInstance().closeConnection(); - File tempDir = new File(PathManager.DA_TEMP_FOLDER_PATH); - if (tempDir.isDirectory() && tempDir.exists()) { - if (AnalyzerUtil.deleteFile(tempDir)) { - DA_LOG.debug("Delete temp folder!"); //$NON-NLS-1$ - } else { - DA_LOG.debug("Delete temp folder fail..."); //$NON-NLS-1$ - } + SqlConnectionManager.closeConnection(); + SqlManager.getInstance().closeConnection(); + + File tempDir = new File(PathManager.DA_TEMP_FOLDER_PATH); + if (tempDir.isDirectory() && tempDir.exists()) { + if (AnalyzerUtil.deleteFile(tempDir)) { + DA_LOG.debug("Delete temp folder!"); //$NON-NLS-1$ + } else { + DA_LOG.debug("Delete temp folder fail..."); //$NON-NLS-1$ } } } @@ -120,12 +96,6 @@ public class AnalyzerPlugin extends AbstractUIPlugin { DA_LOG.debug("save folder create failed..."); } } - - IPartService partService = PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getPartService(); - - AnalyzerPartListener partListener = new AnalyzerPartListener(); - partService.addPartListener(partListener); } @Override diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/GlobalInformation.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/GlobalInformation.java index 6cd3b16..284ca4f 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/GlobalInformation.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/GlobalInformation.java @@ -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 index 41b175c..0000000 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/AnalyzerPartListener.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Dynamic Analyzer - * - * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. - * - * Contact: - * Jooyoul Lee - * Juyoung Kim - * - * 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) { - } - -} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/AnalyzerPerspectiveListener.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/AnalyzerPerspectiveListener.java index 5abf778..f3ce6b1 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/AnalyzerPerspectiveListener.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/listeners/AnalyzerPerspectiveListener.java @@ -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() diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/SaveAsDialog.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/SaveAsDialog.java index ae28aa2..7a32fa7 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/SaveAsDialog.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/SaveAsDialog.java @@ -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$ diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java index bdf03c8..c74e741 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java @@ -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; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java index 679ad1b..0648a08 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java @@ -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); } }); } -- 2.7.4