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;
// 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();
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;
}
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;
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;
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$
public static void setProject(Project p) {
project = p;
- getProjectList().add(p.getSavePath());
}
public static void setProjectNoRegist(Project p) {
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
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
\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
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
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
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;
public static void setCurrentProject(Project project) {
currentProject = project;
}
+
+ public static AppInfo getCurrentApplication() {
+ return currentApplication;
+ }
+
+ public static void setCurrentApplication(AppInfo appInfo) {
+ currentApplication = appInfo;
+ }
}
+++ /dev/null
-/*
- * 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) {
- }
-
-}
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()
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;
+ File.separator + saveFileName;
SqlManager.getInstance().closeConnection();
+ SqlConnectionManager.closeConnection();
project.setSavePath(targetPath);
File sourceFolder = new File(sourcePath);
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$
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;
SqlManager.getInstance().saveProfilingChildData();
SqlManager.getInstance().saveApiNames();
SqlManager.getInstance().closeConnection();
+ SqlConnectionManager.closeConnection();
DA_LOG.debug("insert to db complete..."); //$NON-NLS-1$
percent += 10;
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;
private static ToolbarArea coolbarArea;
-
// Toolbar
private DACustomCombo deviceCombo;
private DACustomCombo appCombo;
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);
}
});
}