From: greatim Date: Fri, 19 Sep 2014 03:46:41 +0000 (+0900) Subject: Merge branch 'tizen' into da-db X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9d43d4a07ecbac8d2278d477442b07ab24a6f587;p=sdk%2Ftools%2Fdynamic-analyzer.git Merge branch 'tizen' into da-db Conflicts: org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomToggleButtonRenderer.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerManager.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/Communicator22.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/DACommunicator.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/IDECommunicator.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogParser.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/CommonColumns.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LogFormat.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/ContextSwitchingChart.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/BaseView.java org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java Change-Id: Iad6f8a439e0e7bd6253ad4b77d03ced38196c4e7 Signed-off-by: greatim --- 9d43d4a07ecbac8d2278d477442b07ab24a6f587 diff --cc org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomToggleButtonRenderer.java index c92f6c9,ea3eff1..e4f27ee --- a/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomToggleButtonRenderer.java +++ b/org.tizen.dynamicanalyzer.widgets/src/org/tizen/dynamicanalyzer/widgets/button/toggle/DACustomToggleButtonRenderer.java @@@ -32,10 -35,12 +35,15 @@@ import org.eclipse.swt.graphics.Image import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Canvas; + import org.eclipse.swt.widgets.Display; import org.tizen.dynamicanalyzer.util.Logger; import org.tizen.dynamicanalyzer.widgets.button.DACustomButton; -import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonRenderer; import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonAttribute; ++<<<<<<< HEAD +import org.tizen.dynamicanalyzer.widgets.button.DACustomButtonRenderer; ++======= + import org.tizen.dynamicanalyzer.widgets.helper.ColorResources; ++>>>>>>> tizen public class DACustomToggleButtonRenderer extends DACustomButtonRenderer { @Override diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerManager.java index 2764a98,b0c17da..4b868f4 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerManager.java @@@ -135,22 -136,23 +135,24 @@@ public class AnalyzerManager } public static void clear() { + Project project = Global.getProject(); if (null != project) { - if (!project.isValid()) { - String sourcePath = project.getSavePath(); - if (null != sourcePath && !sourcePath.isEmpty()) { - boolean success = AnalyzerUtil.deleteFile(new File(sourcePath)); - if (success) { - // logs for debug - Logger.debug("invalid project deleted!"); //$NON-NLS-1$ - } else { - Logger.debug("invalid project delete fail..."); //$NON-NLS-1$ + synchronized (project) { + if (!project.isValid()) { + String sourcePath = project.getSavePath(); + if (null != sourcePath && !sourcePath.isEmpty()) { + boolean success = AnalyzerUtil.deleteFile(new File(sourcePath)); + if (success) { + // logs for debug + Logger.debug("invalid project deleted!"); //$NON-NLS-1$ + } else { + Logger.debug("invalid project delete fail..."); //$NON-NLS-1$ + } } } + project.dispose(); - project = null; ++ Global.setProject(null); } - project.dispose(); - Global.setProject(null); } imageSet = null; diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/DACommunicator.java index bd1a55d,cdb3416..cb9032f --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/DACommunicator.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/DACommunicator.java @@@ -230,8 -231,8 +231,8 @@@ public class DACommunicator return devNameList; } - public static Map getAppListFromTarget() { + public static Map updateAppListFromTarget() { - DeviceInfo curDev = GlobalInformation.getCurrentDeviceInfo(); + DeviceInfo curDev = Global.getCurrentDeviceInfo(); if (curDev == null) { return null; } @@@ -346,9 -346,9 +346,9 @@@ return processMap; } - + public static String getProcessNameFromTarget(int pid) { - if (null == GlobalInformation.getCurrentDeviceInfo()) { + if (null == Global.getCurrentDeviceInfo()) { return null; } String processName = null; @@@ -673,15 -672,11 +672,11 @@@ } public static void closeSock() { - GlobalInformation.getCurrentDeviceInfo().getCommunicator().closeSock(); + Global.getCurrentDeviceInfo().getCommunicator().closeSock(); } - public static HostResult handleControlMessage(String msg) { - return Global.getCurrentDeviceInfo().getCommunicator().handleControlMessage(msg); - } - public static Map sendProcessAddInfoMessage(List pids) { - DeviceInfo dev = GlobalInformation.getCurrentDeviceInfo(); + DeviceInfo dev = Global.getCurrentDeviceInfo(); if (dev != null) { if (isSWAPVersion()) { return ((Communicator30) dev.getCommunicator()).sendProcessAddInfoMessage(pids); diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/IDECommunicator.java index acebe18,ad649df..663bb5d --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/IDECommunicator.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/IDECommunicator.java @@@ -352,9 -351,14 +352,14 @@@ public class IDECommunicator implement Logger.debug("auto start : " + binaryOfTarget); DeviceInfo device = DACommunicator.getDeviceByName(deviceName); - GlobalInformation.setCurrentDeviceInfo(device); + Global.setCurrentDeviceInfo(device); - DACommunicator.getAppListFromTarget(); + if (device == null) { + popupMessage(UserErrorWarningLabels.ERROR_DEVICE_CONNECTION); + ToolbarArea.getInstance().setToolbarStartStopState(true); + return; + } + DACommunicator.updateAppListFromTarget(); PackageInfo pkgInfo = null; if (projectType.equals(PROJECT_TYPE_OSP) || projectType.equals(PROJECT_TYPE_EFL) || projectType.equals(PROJECT_TYPE_WEBAPP)) { diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java index c441f3a,d690200..6e3732f --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java @@@ -312,13 -301,12 +312,13 @@@ public class Project addConfigHistory(currentConfig); } - setAppName(Global.getCurrentApplication().getMainApp() - .getInfo(AppInfo.PROPERTY.LABEL.index)); - setAppName(GlobalInformation.getCurrentApplication().getMainApp().getLabel()); - setPackageID(GlobalInformation.getCurrentApplication().getPackageId()); - DeviceInfo deviceName = GlobalInformation.getCurrentDeviceInfo(); ++ setAppName(Global.getCurrentApplication().getMainApp().getLabel()); + setPackageID(Global.getCurrentApplication().getPackageId()); + DeviceInfo deviceName = Global.getCurrentDeviceInfo(); ++ if (null != deviceName && null != deviceName.getIDevice().getSerialNumber() && !deviceName.getIDevice().getSerialNumber().isEmpty()) { - setDevice(GlobalInformation.getCurrentDeviceInfo().getIDevice().getSerialNumber()); + setDevice(Global.getCurrentDeviceInfo().getIDevice().getSerialNumber()); } else { setDevice(CommonConstants.SPACE); } diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java index 7c0b52c,eebbb02..f5f3a14 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java @@@ -180,6 -187,11 +187,11 @@@ public class Communicator30 extends Bas @Override public HostResult startTrace() { - DeviceInfo curDev = GlobalInformation.getCurrentDeviceInfo(); ++ DeviceInfo curDev = Global.getCurrentDeviceInfo(); + if (curDev == null) { + return HostResult.ERR_DEVICE_IS_NULL; + } + DACommunicator.setRunning(true); UserSpaceInst userSpaceInst = getUserSpaceInst(); Logger.performance("TEST", "Start Trace", "Set application inst"); @@@ -395,7 -412,10 +412,10 @@@ byte[] msgBinInfo = ByteUtil.toBytes(AnalyzerConstants.MSG_BINARY_INFO); byte[] preMsg = null; - DeviceInfo curDevice = GlobalInformation.getCurrentDeviceInfo(); + DeviceInfo curDevice = Global.getCurrentDeviceInfo(); + if (curDevice == null) { + return HostResult.ERR_DEVICE_IS_NULL; + } if (AnalyzerConstants.RUNNING_PROCESS.equals(selectedPkg.getPackageId())) { Map selProcess = selectedPkg.getMainApp().getRunningProcesses(); @@@ -556,9 -597,13 +597,13 @@@ } } - @Override - public HostResult handleControlMessage(String message) { - return HostResult.SUCCESS; + public HostResult handleControlMessage(byte[] message) { - DeviceInfo curDev = GlobalInformation.getCurrentDeviceInfo(); ++ DeviceInfo curDev = Global.getCurrentDeviceInfo(); + if (curDev != null) { + return handleControlMessage(curDev, message); + } else { + return HostResult.ERR_DEVICE_IS_NULL; + } } public HostResult handleControlMessage(DeviceInfo device, byte[] message) { @@@ -903,38 -981,16 +981,16 @@@ public HostResult sendScreenShotRequest() { byte[] msg = ByteUtil.getByte(AnalyzerConstants.MSG_GET_SCREENSHOT, 0); - HostResult result = HostResult.SUCCESS; - Socket controlSock = Global.getCurrentDeviceInfo().getControlSock(); - try { - if (null != controlSock && !controlSock.isClosed()) { - controlSock.getOutputStream().write(msg); - } else { - Logger.debug("control socket is closed"); - result = HostResult.ERR_CONTROL_SOCKET_CONNECTION_CLOSED; - } - } catch (SocketException e) { - result = HostResult.ERR_EXCEPTION_OCCURRED; - result.setMessage(e.getMessage()); - e.printStackTrace(); - return result; - } catch (SocketTimeoutException e) { - result = HostResult.ERR_EXCEPTION_OCCURRED; - result.setMessage(e.getMessage()); - e.printStackTrace(); - return result; - } catch (IOException e) { - result = HostResult.ERR_EXCEPTION_OCCURRED; - result.setMessage(e.getMessage()); - e.printStackTrace(); - return result; - } finally { - blocked = false; - } - return result; - return handleControlMessage(GlobalInformation.getCurrentDeviceInfo(), msg, false, 0); ++ return handleControlMessage(Global.getCurrentDeviceInfo(), msg, false, 0); } public HostResult sendSWAPMessage(int messageId, List settings) { - DeviceInfo curDev = GlobalInformation.getCurrentDeviceInfo(); ++ DeviceInfo curDev = Global.getCurrentDeviceInfo(); + if (curDev == null) { + return HostResult.ERR_DEVICE_IS_NULL; + } + byte[] msg = new byte[0]; int count = settings.size(); int failedCount = 0; @@@ -1006,6 -1062,11 +1062,11 @@@ } public Map sendProcessAddInfoMessage(List pids) { - DeviceInfo curDev = GlobalInformation.getCurrentDeviceInfo(); ++ DeviceInfo curDev = Global.getCurrentDeviceInfo(); + if (curDev == null) { + return null; + } + Map infoMap = null; int pidcount = pids.size(); @@@ -1068,7 -1130,7 +1130,8 @@@ int length = sendBin.length; byte[] msg = ByteUtil.getByte(AnalyzerConstants.MSG_BINARY_INFO, length, sendBin); - HostResult result = handleControlMessage(Global.getCurrentDeviceInfo(), msg); ++ + HostResult result = handleControlMessage(msg); if (!result.isSuccess() || !isCorrectAck(MSG_BINARY_INFO_ACK, result)) { return HostResult.ERR_BIN_INFO_GET_FAIL; diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java index a4dd499,ba87e96..d3dda56 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java @@@ -181,12 -179,12 +178,12 @@@ public class SWAPLogParser implements R // if (pData.getProbeType() // == AnalyzerConstants.FUNCTION_TYPE_APPINST) { - // ProcessInformation process = Global.getProject() - // .getProcessInformation(pData.getPid()); - if(pData.getProbeType() != AnalyzerConstants.FUNCTION_TYPE_FILE) { - // ProcessInformation process = AnalyzerManager.getProject() ++ // ProcessInformation process = Global.getProject() + // .getProcessInformation(pData.getPid()); + if (pData.getProbeType() != AnalyzerConstants.FUNCTION_TYPE_FILE) { int apiId = SymbolManager.getFuncId(pData, pData.getPcAddr(), pData.getPid(), pData.getTime()); - String apiName = FunctionNameManager.getFunctionName(apiId); + String apiName = Global.getFunctionName(apiId); // TODO : check with apiId if (apiId == -1 || apiName.equals("")) { continue; @@@ -232,9 -230,8 +229,8 @@@ String remoteImgPath; if (DACommunicator.isTargetEmulator() && SocketClient.getInstance().isConnected()) { - Global.getCurrentDeviceInfo().emulatorScreenshot - .send(); - GlobalInformation.getCurrentDeviceInfo().emulatorScreenshot.send(); - remoteImgPath = GlobalInformation.getCurrentDeviceInfo().emulatorScreenshot ++ Global.getCurrentDeviceInfo().emulatorScreenshot.send(); + remoteImgPath = Global.getCurrentDeviceInfo().emulatorScreenshot .getFilePath(); bECS = true; } else { @@@ -291,21 -288,15 +287,15 @@@ if (null != res && res.isOk()) { DACommunicator.removeCommand(from); /* image resizing */ - String smallImagePath = Global.getProject() - .getSavePath() - + File.separator - + AnalyzerConstants.IMAGE_FOLDER_NAME - + File.separator - + AnalyzerConstants.SMALL_IMAGE_FOLDER_NAME - String smallImagePath = AnalyzerManager.getProject().getSavePath() - + File.separator + AnalyzerConstants.IMAGE_FOLDER_NAME - + File.separator + AnalyzerConstants.SMALL_IMAGE_FOLDER_NAME -- + File.separator + fileName; - ImageUtil.transform(to, to, DEFAULT_IMG_WIDTH, - DEFAULT_IMG_HEIGHT, angle); ++ String smallImagePath = Global.getProject().getSavePath() + File.separator ++ + AnalyzerConstants.IMAGE_FOLDER_NAME + File.separator ++ + AnalyzerConstants.SMALL_IMAGE_FOLDER_NAME + File.separator ++ + fileName; + ImageUtil.transform(to, to, DEFAULT_IMG_WIDTH, DEFAULT_IMG_HEIGHT, angle); if (angle == 90 || angle == 270) { - ImageUtil.resize(to, smallImagePath, SMALL_IMG_HEIGHT, - SMALL_IMG_WIDTH); + ImageUtil.resize(to, smallImagePath, SMALL_IMG_HEIGHT, SMALL_IMG_WIDTH); } else { - ImageUtil.resize(to, smallImagePath, SMALL_IMG_WIDTH, - SMALL_IMG_HEIGHT); + ImageUtil.resize(to, smallImagePath, SMALL_IMG_WIDTH, SMALL_IMG_HEIGHT); } break; @@@ -340,15 -331,12 +330,12 @@@ File file = new File(path); if (file.exists()) { /* image resizing */ - String smallImagePath = Global.getProject() - .getSavePath() - + File.separator - + AnalyzerConstants.IMAGE_FOLDER_NAME - + File.separator - + AnalyzerConstants.SMALL_IMAGE_FOLDER_NAME - String smallImagePath = AnalyzerManager.getProject().getSavePath() - + File.separator + AnalyzerConstants.IMAGE_FOLDER_NAME - + File.separator + AnalyzerConstants.SMALL_IMAGE_FOLDER_NAME -- + File.separator + fileName; - ImageUtilSWT.transform(path, path, DEFAULT_IMG_WIDTH, - DEFAULT_IMG_HEIGHT, angle); ++ String smallImagePath = Global.getProject().getSavePath() + File.separator ++ + AnalyzerConstants.IMAGE_FOLDER_NAME + File.separator ++ + AnalyzerConstants.SMALL_IMAGE_FOLDER_NAME + File.separator ++ + fileName; + ImageUtilSWT.transform(path, path, DEFAULT_IMG_WIDTH, DEFAULT_IMG_HEIGHT, + angle); if (angle == 90 || angle == 270) { ImageUtilSWT.resize(path, smallImagePath, SMALL_IMG_HEIGHT, SMALL_IMG_WIDTH); diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackManager.java index f95ea52,19c0433..052bbaa --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackManager.java @@@ -33,10 -33,8 +33,9 @@@ import java.util.Map import org.tizen.dynamicanalyzer.common.AnalyzerConstants; import org.tizen.dynamicanalyzer.common.AnalyzerManager; +import org.tizen.dynamicanalyzer.common.Global; import org.tizen.dynamicanalyzer.common.SymbolManager; import org.tizen.dynamicanalyzer.logparser.LogCenterConstants; - import org.tizen.dynamicanalyzer.logparser.LogParser; import org.tizen.dynamicanalyzer.project.ProcessMemoryMap; import org.tizen.dynamicanalyzer.swap.callstack.BaseCallstackManager; import org.tizen.dynamicanalyzer.swap.model.data.LogData; diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/ContextSwitchingChart.java index 5125196,42a225c..f5e6b1b --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/ContextSwitchingChart.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/ContextSwitchingChart.java @@@ -226,11 -216,9 +216,9 @@@ public class ContextSwitchingChart exte int fsize = functionData.size(); for (int i = 0; i < fsize; i++) { List idata = functionData.get(i); - int tid = (Integer) idata - .get(FunctionDataDBTable.COLUMN.TID.index); - int funcId = (Integer) idata - .get(FunctionDataDBTable.COLUMN.FUNCID.index); + int tid = (Integer) idata.get(FunctionDataDBTable.COLUMN.TID.index); + int funcId = (Integer) idata.get(FunctionDataDBTable.COLUMN.FUNCID.index); - String funcname = FunctionNameManager.getFunctionName(funcId); + String funcname = Global.getFunctionName(funcId); double funcStart = (double) ((Long) idata .get(FunctionDataDBTable.COLUMN.STARTTIME.index)) / TimelineConstants.MEGA_DOUBLE; diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/BaseView.java index b68e006,f1f3cb4..614c19e --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/BaseView.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/page/BaseView.java @@@ -84,51 -85,42 +85,44 @@@ public class BaseView extends ViewPart * create tab pages */ public void createTabViewPage() { - ConfigureManager configureManager = ConfigureManager.getInstance(); + Set selectedPageList = SettingDataManager.getInstance().getSelectedPageList(null); List tabViewList = new ArrayList(); - tabViewList.add(AnalyzerConstants.PAGE_TIME_LINE); // default : timeline - // tab - tabViewList.add(CommonConstants.PAGE_TIME_LINE); // default : timeline tab - ++ tabViewList.add(AnalyzerConstants.PAGE_TIME_LINE); // default(timeline tab) + // thread tab - if (AnalyzerConstants.FEATURE_OFF != configureManager - .getValueLong(ConfigureLabels.FEATURE_THREAD)) { + if (selectedPageList.contains(ConfigureLabels.PAGE_NAME_THREAD)) { - tabViewList.add(CommonConstants.PAGE_THREAD); + tabViewList.add(AnalyzerConstants.PAGE_THREAD); } // else nothing // network tab - if (AnalyzerConstants.FEATURE_OFF != configureManager - .getValueLong(ConfigureLabels.FEATURE_NETWORK)) { + if (selectedPageList.contains(ConfigureLabels.PAGE_NAME_NETWORK)) { - tabViewList.add(CommonConstants.PAGE_NETWORK); + tabViewList.add(AnalyzerConstants.PAGE_NETWORK); } // else nothing + // file tab + if (selectedPageList.contains(ConfigureLabels.PAGE_NAME_FILE)) { - tabViewList.add(CommonConstants.PAGE_FILE); ++ tabViewList.add(AnalyzerConstants.PAGE_FILE); + } // else nothing - ++ // openGL tab - if (AnalyzerConstants.FEATURE_OFF != configureManager - .getValueLong(ConfigureLabels.FEATURE_OPENGL)) { + if (selectedPageList.contains(ConfigureLabels.PAGE_NAME_OPENGL)) { - tabViewList.add(CommonConstants.PAGE_GRAPHICS); + tabViewList.add(AnalyzerConstants.PAGE_GRAPHICS); } // else nothing // kernel tab - if (AnalyzerConstants.FEATURE_OFF != configureManager - .getValueLong(ConfigureLabels.FEATURE_CONTEXT_SWITCH)) { + if (selectedPageList.contains(ConfigureLabels.PAGE_NAME_KERNEL)) { - tabViewList.add(CommonConstants.PAGE_KERNEL); + tabViewList.add(AnalyzerConstants.PAGE_KERNEL); } // else nothing - // file tab - if (AnalyzerConstants.FEATURE_OFF != configureManager - .getValueLong(ConfigureLabels.FEATURE_FILE)) { - tabViewList.add(AnalyzerConstants.PAGE_FILE); - } // else nothing - - tabViewList.add(AnalyzerConstants.PAGE_SUMMARY); // default : summary - // tab - tabViewList.add(CommonConstants.PAGE_SUMMARY); // default : summary tab ++ tabViewList.add(AnalyzerConstants.PAGE_SUMMARY); // default(summary tab) addTabViewPage(tabViewList); } - + /** * add tab pages dynamically - * @param tabViewList : selected tab pages for adding + * + * @param tabViewList + * : selected tab pages for adding */ public void addTabViewPage(List tabViewList) { DABaseComposite newPage = null; @@@ -186,39 -184,46 +180,38 @@@ */ public void addTabViewPage(int tabViewType, String tabViewId) { DABaseComposite newPage = null; - if (!tabView.isExistingPage(tabViewId)) { // if the page does not exist, - // add the page - if(!tabView.isExistingPage(tabViewId)) { //if the page does not exist, add the page ++ if (!tabView.isExistingPage(tabViewId)) { // if the page does not exist, add the page switch (tabViewType) { - case CommonConstants.PAGE_FILE: - newPage = new FilePage( - tabView.getContentComposite(), SWT.NONE); + case AnalyzerConstants.PAGE_FILE: + newPage = new FilePage(tabView.getContentComposite(), SWT.NONE); tabView.addView(newPage, false); break; - case CommonConstants.PAGE_GRAPHICS: - newPage = new GLPage( - tabView.getContentComposite(), SWT.NONE); + case AnalyzerConstants.PAGE_GRAPHICS: + newPage = new GLPage(tabView.getContentComposite(), SWT.NONE); tabView.addView(newPage, false); break; - case CommonConstants.PAGE_KERNEL: - newPage = new KernelPage( - tabView.getContentComposite(), SWT.NONE); + case AnalyzerConstants.PAGE_KERNEL: + newPage = new KernelPage(tabView.getContentComposite(), SWT.NONE); tabView.addView(newPage, false); break; - case CommonConstants.PAGE_NETWORK: - newPage = new NetworkPage( - tabView.getContentComposite(), SWT.NONE); + case AnalyzerConstants.PAGE_NETWORK: + newPage = new NetworkPage(tabView.getContentComposite(), SWT.NONE); tabView.addView(newPage, false); break; - case CommonConstants.PAGE_SUMMARY: - newPage = new SummaryPage( - tabView.getContentComposite(), SWT.NONE); + case AnalyzerConstants.PAGE_SUMMARY: + newPage = new SummaryPage(tabView.getContentComposite(), SWT.NONE); tabView.addView(newPage, false); break; - case CommonConstants.PAGE_THREAD: - newPage = new ThreadPage( - tabView.getContentComposite(), SWT.NONE); + case AnalyzerConstants.PAGE_THREAD: + newPage = new ThreadPage(tabView.getContentComposite(), SWT.NONE); tabView.addView(newPage, false); break; - case CommonConstants.PAGE_TIME_LINE: - newPage = new TimelinePage( - tabView.getContentComposite(), SWT.NONE); + case AnalyzerConstants.PAGE_TIME_LINE: + newPage = new TimelinePage(tabView.getContentComposite(), SWT.NONE); tabView.addView(newPage, false); break; - case CommonConstants.PAGE_UI: - newPage = new UIPage(tabView.getContentComposite(), - SWT.NONE); + case AnalyzerConstants.PAGE_UI: + newPage = new UIPage(tabView.getContentComposite(), SWT.NONE); tabView.addView(newPage, false); break; default: diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java index 001f4b1,a8e3cee..af6b11a --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java @@@ -33,8 -33,10 +33,9 @@@ import java.util.HashMap import java.util.Iterator; import java.util.List; import java.util.Map; + import java.util.Set; -import org.tizen.dynamicanalyzer.common.AnalyzerManager; -import org.tizen.dynamicanalyzer.common.GlobalInformation; +import org.tizen.dynamicanalyzer.common.Global; import org.tizen.dynamicanalyzer.communicator.DACommunicator; import org.tizen.dynamicanalyzer.constant.CommonConstants; import org.tizen.dynamicanalyzer.database.DBTable; @@@ -359,14 -408,16 +407,16 @@@ public class TimelineChartManager exten * Check library allocation */ String binaryPath = null; - Project project = AnalyzerManager.getProject(); + Project project = Global.getProject(); ProcessMemoryMap pmap = project.getProcessInformation(logData.getPid()).getProcessMemoryMap( logData.getTime()); - LibraryObject lib = pmap.getLibraryByAddress(logData.getCallerPcAddr()); - if (lib != pmap.getMainbinary()) { - BinaryInfo binfo = project.getDeviceStatusInfo().getBinaryInfo(lib.getBinaryID()); - binaryPath = binfo.getTargetBinaryPath(); - } + if (pmap != null) { + LibraryObject lib = pmap.getLibraryByAddress(logData.getCallerPcAddr()); + if (lib != null && lib != pmap.getMainbinary()) { + BinaryInfo binfo = project.getDeviceStatusInfo().getBinaryInfo(lib.getBinaryID()); + binaryPath = binfo.getTargetBinaryPath(); + } + } if (errorNo == 0 && MEM_USER == internalFlag) { if (MEM_API_TYPE_ALLOC == memApiType || MEM_API_TYPE_FREE == memApiType) { diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java index 66e37fd,2dfdb36..359dedd --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java @@@ -29,9 -29,8 +29,8 @@@ package org.tizen.dynamicanalyzer.ui.to import org.eclipse.swt.widgets.Display; import org.tizen.dynamicanalyzer.common.AnalyzerConstants; -import org.tizen.dynamicanalyzer.common.AnalyzerManager; +import org.tizen.dynamicanalyzer.common.Global; import org.tizen.dynamicanalyzer.communicator.DACommunicator; - import org.tizen.dynamicanalyzer.logparser.LogParser; import org.tizen.dynamicanalyzer.project.Project; import org.tizen.dynamicanalyzer.sql.SqlManager; import org.tizen.dynamicanalyzer.swap.logparser.SWAPLogParser; diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java index 59524ec,cf7389d..40b9746 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/ToolbarArea.java @@@ -205,8 -207,8 +207,7 @@@ public class ToolbarArea String serial = combo.getText(); if (serial != null && !serial.equals(oldDeviceName)) { - Global.setCurrentDeviceInfo(DACommunicator - GlobalInformation.setCurrentDeviceInfo(DACommunicator -- .setSelectedDeviceBySerial(serial)); ++ Global.setCurrentDeviceInfo(DACommunicator.setSelectedDeviceBySerial(serial)); if (null != serial && !serial.isEmpty()) { initAppCombo(); } @@@ -268,10 -270,10 +269,9 @@@ // TODO : implement to select common executable } - GlobalInformation.setCurrentApplication(selectedPkg); - GlobalInformation.getCurrentDeviceInfo().getCommunicator() - .onAppSelected(selectedPkg); - GlobalInformation.getCurrentDeviceInfo().setSelectedPackageID( + Global.setCurrentApplication(selectedPkg); - Global.getCurrentDeviceInfo().getCommunicator() - .onAppSelected(selectedPkg); ++ Global.getCurrentDeviceInfo().getCommunicator().onAppSelected(selectedPkg); + Global.getCurrentDeviceInfo().setSelectedPackageID( selectedPkg.getPackageId()); } else { enablestart = false; @@@ -488,6 -490,12 +488,12 @@@ Logger.performance("TEST", "Start Trace", "Check valid application"); return; } - ++ + // check setting status + if (checkSettingStatus() == false) { + return; + } - ++ Logger.performance("TEST", "Start Trace", "Check valid application"); Display.getDefault().syncExec(new Runnable() { @@@ -506,9 -514,43 +512,43 @@@ TraceStartStopThread.runStartStopThread(); } + private boolean checkSettingStatus() { - if (GlobalInformation.getCurrentDeviceInfo().isConfigSuccess() == false) { ++ if (Global.getCurrentDeviceInfo().isConfigSuccess() == false) { + if (SettingDialogManager.getInstance().applySwapValue() == false) { + // fail message box + Shell shell = WorkbenchUtil.getWorkbenchWindow().getShell(); + DADialog dialog = new DADialog(shell, SWT.NONE, 550, 153); + dialog.setIcon(ImageResources.DIALOG_WARNING_ICON); + dialog.setMessage(ConfigureLabels.SETTING_DIALOG_FAIL_MESSAGE); + dialog.open(); + + setToolbarStartStopState(true); + + if (null == DACommunicator.getDevices() || DACommunicator.getDevices().isEmpty()) { + deviceCombo.setEnabled(false); + } + - if (!deviceCombo.isEnabled() || null == GlobalInformation.getCurrentDeviceInfo()) { ++ if (!deviceCombo.isEnabled() || null == Global.getCurrentDeviceInfo()) { + appCombo.setEnabled(false); + } + - if (!appCombo.isEnabled() || null == GlobalInformation.getCurrentApplication()) { ++ if (!appCombo.isEnabled() || null == Global.getCurrentApplication()) { + setStartButtonEnablement(false); + } + + setSaveButtonEnable(false); + + ShortCutManager.getInstance().setEnabled(true); -// Logger.performance("TEST", "Start Trace", "Check setting information"); ++ // Logger.performance("TEST", "Start Trace", "Check setting information"); + return false; + } + } + return true; + } - ++ public void stopTrace() { ShortCutManager.getInstance().setEnabled(false); - AnalyzerManager.getProject().setReplayStopTime(getTime()); + Global.getProject().setReplayStopTime(getTime()); AnalyzerManager.setRunningState(false); AnalyzerManager.stopScreenshotTimer(); TraceStartStopThread.runStartStopThread(); @@@ -793,11 -835,11 +833,11 @@@ List pkgs = appCombo.getItems(); if (pkgs != null && pkgs.size() > 0) { PackageInfo pkgInfo = null; - String packageID = GlobalInformation.getCurrentDeviceInfo().getSelectedPackageID(); + String packageID = Global.getCurrentDeviceInfo().getSelectedPackageID(); - if (null != packageID && DACommunicator.getPkgInfoByPkgId(packageID) != null) { - pkgInfo = DACommunicator.getPkgInfoByPkgId(packageID); - appCombo.setText(pkgInfo.getMainApp().getInfo(AppInfo.PROPERTY.LABEL.index)); + pkgInfo = DACommunicator.getPkgInfoByPkgId(packageID); + if (null != packageID && pkgInfo != null) { + appCombo.setText(pkgInfo.getMainApp().getLabel()); } else { pkgInfo = DACommunicator.getPkgInfoByLabel(pkgs.get(0)); appCombo.select(0); @@@ -837,8 -879,8 +877,7 @@@ } else { int size = items.size(); int selIndex = 0; - String selDevice = Global.getCurrentDeviceInfo().getIDevice() - String selDevice = GlobalInformation.getCurrentDeviceInfo().getIDevice() -- .getSerialNumber(); ++ String selDevice = Global.getCurrentDeviceInfo().getIDevice().getSerialNumber(); for (int i = 0; i < size; i++) { deviceCombo.add(items.get(i)); if (items.get(i).equals(selDevice)) { @@@ -847,8 -889,8 +886,7 @@@ } deviceCombo.select(selIndex); - Global.setCurrentDeviceInfo(DACommunicator.getDeviceByName(items - GlobalInformation.setCurrentDeviceInfo(DACommunicator.getDeviceByName(items -- .get(selIndex))); ++ Global.setCurrentDeviceInfo(DACommunicator.getDeviceByName(items.get(selIndex))); deviceCombo.setToolTipText(items.get(selIndex)); if (null == oldDevice || !oldDevice.equals(selDevice)) { @@@ -948,10 -1025,10 +1021,10 @@@ public void setAppComboTextByAppId(String id) { PackageInfo pkgInfo = DACommunicator.getPkgInfoByMainAppID(id); if (null != pkgInfo) { - GlobalInformation.setCurrentApplication(pkgInfo); - GlobalInformation.getCurrentDeviceInfo().getCommunicator().onAppSelected(pkgInfo); - GlobalInformation.getCurrentDeviceInfo().setSelectedPackageID(pkgInfo.getPackageId()); + Global.setCurrentApplication(pkgInfo); + Global.getCurrentDeviceInfo().getCommunicator().onAppSelected(pkgInfo); + Global.getCurrentDeviceInfo().setSelectedPackageID(pkgInfo.getPackageId()); - appCombo.setText(pkgInfo.getMainApp().getInfo(AppInfo.PROPERTY.LABEL.index)); + appCombo.setText(pkgInfo.getMainApp().getLabel()); } } @@@ -982,9 -1059,14 +1055,14 @@@ return; } - DeviceInfo curDev = GlobalInformation.getCurrentDeviceInfo(); ++ DeviceInfo curDev = Global.getCurrentDeviceInfo(); + if (curDev == null) { + setStartButtonState(false); + return; + } + String text = deviceCombo.getText(); - String device = Global.getCurrentDeviceInfo().getIDevice() - .getSerialNumber(); + String device = curDev.getIDevice().getSerialNumber(); if (!device.equals(text)) { // startButton.setButtonEnabled(false); setStartButtonState(false); @@@ -1184,8 -1267,9 +1263,9 @@@ private void setStartButtonState(boolean enabled) { if (enabled) { - DeviceInfo device = GlobalInformation.getCurrentDeviceInfo(); -// if (null != device && device.isConfigSuccess()) { + DeviceInfo device = Global.getCurrentDeviceInfo(); - if (null != device && device.isConfigSuccess()) { ++ // if (null != device && device.isConfigSuccess()) { + if (null != device) { startButton.setButtonEnabled(true); } } else { diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDataManager.java index 0000000,49f5b6f..f2e652a mode 000000,100644..100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDataManager.java @@@ -1,0 -1,591 +1,593 @@@ + /* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Heeyoung Hwang + * 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.ui.toolbar.setting; + + import java.io.BufferedReader; + import java.io.BufferedWriter; + import java.io.File; + import java.io.FileNotFoundException; + import java.io.FileReader; + import java.io.FileWriter; + import java.io.IOException; + import java.io.PrintWriter; + import java.util.ArrayList; + import java.util.Iterator; + import java.util.LinkedHashMap; + import java.util.List; + import java.util.Map; + import java.util.Set; + + import org.tizen.common.core.application.ProfileInfo; + import org.tizen.dynamicanalyzer.common.AnalyzerConstants; -import org.tizen.dynamicanalyzer.common.GlobalInformation; ++import org.tizen.dynamicanalyzer.common.Global; + import org.tizen.dynamicanalyzer.common.path.PathManager; + import org.tizen.dynamicanalyzer.communicator.DACommunicator; + import org.tizen.dynamicanalyzer.constant.CommonConstants; + import org.tizen.dynamicanalyzer.model.DeviceInfo; + import org.tizen.dynamicanalyzer.nl.ConfigureLabels; + import org.tizen.dynamicanalyzer.util.CommonUtil; + import org.tizen.dynamicanalyzer.util.Logger; + import org.tizen.sdblib.IDevice; + + public class SettingDataManager { - ++ + private static SettingDataManager instance = null; + + public static final String READ_CSV_SEPARATOR = "\\" + CommonConstants.CMD_SPLIT; + public static final String WRITE_CSV_SEPARATOR = CommonConstants.CMD_SPLIT; + public static final String SETTING_FILE_NAME = "setting.csv"; + public static final String FEATUER_FILE_NAME = "feature.csv"; + public static final String TEMPLATE_FILE_NAME = "template.csv"; - ++ + // key name in setting file + public static final String KEY_TARGET_LIST = "Target List"; + public static final String KEY_SELECTED_TARGET = "Selected Target"; + public static final String KEY_SELECTED_TEMPLATE = "Selected Template"; + public static final String KEY_SELECTED_FEATURE_LIST = "Selected FeatureList"; + public static final String KEY_AVAILABLE_CHART_LIST = "Available Chart List"; + public static final String KEY_SELECTED_CHART_LIST = "Selected Chart List"; + public static final String KEY_SHOW_INITIAL = "Show Initial"; + public static final String AUTO_STOP = "Auto Stop"; + + public boolean existSettingFile = true; + + // init selected information : for revert button + private String initTarget = null; + private boolean initShowInitial = false; + private boolean initAutoStop = false; - ++ + // setting information + private String selectedTarget = null; - private List selectedChartList = null; // TODO : remove? ++ private List selectedChartList = null; // TODO : remove? + private boolean showInitial = false; + private boolean autoStop = false; - ++ + // available target list + private Map targetListMap = null; - ++ + // TODO : check additional property + private String platform = null; + private long internalLogLevel = 4; + + private SettingDataManager() { + parseSettingData(FEATUER_FILE_NAME); + parseSettingData(TEMPLATE_FILE_NAME); + parseSettingData(SETTING_FILE_NAME); + } + + public synchronized static SettingDataManager getInstance() { + if (instance == null) { + instance = new SettingDataManager(); + } + return instance; + } - ++ + public boolean isExistSettingFile() { + return existSettingFile; + } + + private void parseSettingData(String fileName) { + File csv = new File(PathManager.DA_CONFIG_FOLDER_PATH + File.separator + fileName); + BufferedReader in = null; + String content = null; + try { + in = new BufferedReader(new FileReader(csv)); + while (null != (content = in.readLine())) { + if (SETTING_FILE_NAME.equals(fileName)) { + initSettingData(content); + } else if (FEATUER_FILE_NAME.equals(fileName)) { + initFeatureData(content); + } else if (TEMPLATE_FILE_NAME.equals(fileName)) { - initTemplateData(content); ++ initTemplateData(content); + } else { + Logger.debug("unknown setting file : " + fileName); + } + } + } catch (FileNotFoundException e) { + existSettingFile = false; + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + CommonUtil.tryClose(in); + } + } - ++ + private void initSettingData(String readData) { + String list[] = readData.split(READ_CSV_SEPARATOR); + if (list[0].equals(KEY_TARGET_LIST)) { + makeTargetData(list); + } else if (list[0].equals(KEY_SELECTED_TARGET)) { + selectedTarget = list[1]; + initTarget = new String(list[1]); + } else if (list[0].equals(KEY_SELECTED_TEMPLATE)) { + setSelectedTemplate(list); + } else if (list[0].equals(KEY_SELECTED_FEATURE_LIST)) { + makeSelectedFeatureList(list); + } else if (list[0].equals(KEY_AVAILABLE_CHART_LIST)) { + makeAvailableChartList(list); + } else if (list[0].equals(KEY_SELECTED_CHART_LIST)) { + makeChartList(getSelectedChartList(), list); + } else if (list[0].equals(KEY_SHOW_INITIAL)) { + showInitial = Boolean.parseBoolean(list[1]); + initShowInitial = Boolean.parseBoolean(list[1]); + } else if (list[0].equals(AUTO_STOP)) { + autoStop = Boolean.parseBoolean(list[1]); + initAutoStop = Boolean.parseBoolean(list[1]); + } else { + if (null != list[0]) { + Logger.debug("unknown setting key : " + list[0]); + } + } + } - ++ + private void makeTargetData(String list[]) { + if (list != null) { - Map map = getTargetListMap(); ++ Map map = getTargetListMap(); + for (int i = 1; i < list.length; i++) { + if (isTarget(list[i]) == false) { + map.put(list[i], new TargetData(list[i])); + } // else do nothing + } + } // else do nothing + } - ++ + private void setSelectedTemplate(String list[]) { + if (list != null) { + TargetData target = getAndCreateTarget(list[1]); + target.setSelectedTemplate(list[2]); + } // else do nothing + } - ++ + private void makeSelectedFeatureList(String list[]) { + if (list != null) { + TargetData target = getAndCreateTarget(list[1]); + target.makeSelectedFeatureList(list); + } // else do nothing + } - ++ + private void makeAvailableChartList(String list[]) { + if (list != null) { + TargetData target = getAndCreateTarget(list[1]); + target.makeAvailableChartList(list); + } // else do nothing + } - ++ + private void makeChartList(List chartList, String list[]) { + if (list != null) { + for (int i = 1; i < list.length; i++) { + chartList.add(list[i]); + } + } // else do nothing + } - - private void initFeatureData(String readData) { ++ ++ private void initFeatureData(String readData) { + String list[] = readData.split(READ_CSV_SEPARATOR, -1); + if (list != null) { + TargetData target = getAndCreateTarget(list[0]); + target.makeAvailableFeatureListMap(list); + } + } - ++ + private void initTemplateData(String readData) { + String list[] = readData.split(READ_CSV_SEPARATOR, -1); + if (list != null) { + TargetData target = getAndCreateTarget(list[0]); + target.makeAvailableTemplateListMap(list); + } // else do nothing + } + + /** + * Write the setting information in the setting file. + */ + private void writeSettingDataToFile() { + File csv = new File(PathManager.DA_CONFIG_FOLDER_PATH + File.separator + SETTING_FILE_NAME); - ++ + FileWriter fileWriter = null; + BufferedWriter buffWriter = null; + PrintWriter printWriter = null; + try { + fileWriter = new FileWriter(csv); + buffWriter = new BufferedWriter(fileWriter); + printWriter = new PrintWriter(buffWriter); + + printWriter.println(writeTargetData()); + printWriter.println(KEY_SELECTED_TARGET + WRITE_CSV_SEPARATOR + selectedTarget); + printWriter.println(writeChartList(getSelectedChartList(), KEY_SELECTED_CHART_LIST)); - printWriter.println(KEY_SHOW_INITIAL + WRITE_CSV_SEPARATOR + String.valueOf(showInitial)); ++ printWriter.println(KEY_SHOW_INITIAL + WRITE_CSV_SEPARATOR ++ + String.valueOf(showInitial)); + printWriter.println(AUTO_STOP + WRITE_CSV_SEPARATOR + String.valueOf(autoStop)); - ++ + // target : selected Template, selected feature, available chart list - Map map = getTargetListMap(); ++ Map map = getTargetListMap(); + for (Map.Entry entry : map.entrySet()) { + TargetData target = entry.getValue(); + target.writeSelectedData(printWriter); + } + - printWriter.checkError(); ++ printWriter.checkError(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + CommonUtil.tryClose(fileWriter, buffWriter, printWriter); + } + } - ++ + private String writeTargetData() { + Map map = getTargetListMap(); + Set targetNameList = map.keySet(); + StringBuffer buffer = new StringBuffer(); - buffer.append(KEY_TARGET_LIST); - ++ buffer.append(KEY_TARGET_LIST); ++ + Iterator iter = targetNameList.iterator(); - while(iter.hasNext()) { ++ while (iter.hasNext()) { + buffer.append(WRITE_CSV_SEPARATOR + iter.next()); + } + return buffer.toString(); + } - ++ + private String writeChartList(List list, String key) { + StringBuffer buffer = new StringBuffer(); - buffer.append(key + WRITE_CSV_SEPARATOR); - ++ buffer.append(key + WRITE_CSV_SEPARATOR); ++ + for (int i = 0; i < list.size(); i++) { - if (i < list.size() -1) { ++ if (i < list.size() - 1) { + buffer.append(list.get(i) + WRITE_CSV_SEPARATOR); + } else { + buffer.append(list.get(i)); + } + } + return buffer.toString(); + } - ++ + public String getSelectedTarget() { + return selectedTarget; + } - ++ + public void setSelectedTarget(String selectedTarget) { + this.selectedTarget = selectedTarget; + } + + public boolean isShowInitial() { + return showInitial; + } + + public void setShowInitial(boolean showInitial) { + this.showInitial = showInitial; + } + + public boolean isAutoStop() { + return autoStop; + } + + public void setAutoStop(boolean autoStop) { + this.autoStop = autoStop; + } + + public List getSelectedChartList() { + if (selectedChartList == null) { + selectedChartList = new ArrayList(); + } + return selectedChartList; + } - ++ + public void setSelectedChartList(List selectedChartList) { + if (this.selectedChartList != null) { + this.selectedChartList.clear(); + } + this.selectedChartList = selectedChartList; + } + + public Map getTargetListMap() { + if (targetListMap == null) { + targetListMap = new LinkedHashMap(); + } + return targetListMap; + } - ++ + public TargetData getConnectedTarget() { + // check connected target + Map map = getTargetListMap(); - DeviceInfo currentDevice = GlobalInformation.getCurrentDeviceInfo(); ++ DeviceInfo currentDevice = Global.getCurrentDeviceInfo(); + + if (currentDevice != null) { - IDevice device = currentDevice.getIDevice(); ++ IDevice device = currentDevice.getIDevice(); + String profileName = ProfileInfo.getPlatformName(device); // mobile-2.3 + // device.getPlatformInfo().getProfileName(); // mobile - ++ + if (isTarget(profileName)) { + return map.get(profileName); + } + } - ++ + return map.get(selectedTarget); + } - ++ + public TargetData getTarget(String targetName) { + Map map = getTargetListMap(); + if (targetName == null) { + return map.get(selectedTarget); + } else if (isTarget(targetName) == true) { + return map.get(targetName); - } // else : return null ++ } // else : return null + return null; + } - ++ + public boolean isTarget(String targetName) { - Map map = getTargetListMap(); ++ Map map = getTargetListMap(); + if (map.get(targetName) == null) { + return false; + } + return true; + } + + private TargetData getAndCreateTarget(String targetName) { - Map map = getTargetListMap(); ++ Map map = getTargetListMap(); + TargetData target = null; - ++ + if (isTarget(targetName) == false) { + target = new TargetData(targetName); - map.put(targetName, target); ++ map.put(targetName, target); + } else { + target = map.get(targetName); + } + return target; + } - ++ + /** + * Get page information shown on the screen. + * - * @param targetName targetName ++ * @param targetName ++ * targetName + * - * @return The page name list to be shown on the screen. ++ * @return The page name list to be shown on the screen. + */ + public Set getSelectedPageList(String targetName) { + String searchTargetName = validateTargetName(targetName); + if (isTarget(searchTargetName) == true) { - Map map = getTargetListMap(); ++ Map map = getTargetListMap(); + TargetData target = map.get(searchTargetName); + return target.getSelectedPageList(); + } else { + Logger.debug("Does not exist targetName : " + searchTargetName); + } + return null; + } + + /** + * Get chart information shown on the screen. + * - * @param targetName targetName ++ * @param targetName ++ * targetName + * - * @return The chart name list to be shown on the screen. ++ * @return The chart name list to be shown on the screen. + */ + public Set getSelectedChartList(String targetName) { + String searchTargetName = validateTargetName(targetName); + if (isTarget(searchTargetName) == true) { - Map map = getTargetListMap(); ++ Map map = getTargetListMap(); + TargetData target = map.get(searchTargetName); + return target.getSelectedChartList(); + } else { + Logger.debug("Does not exist targetName : " + searchTargetName); + } + return null; + } + + private String validateTargetName(String targetName) { + if (targetName == null) { + return selectedTarget; + } else { + return targetName; + } + } - ++ + public boolean changedFeatures() { + // check target + if (initTarget.equals(selectedTarget) == false) { + return true; + } + + // check showInitial + if (initShowInitial != showInitial) { + return true; + } - ++ + // check autoStop + if (initAutoStop != autoStop) { + return true; + } + + // check template, feature - Map map = getTargetListMap(); ++ Map map = getTargetListMap(); + for (Map.Entry entry : map.entrySet()) { + TargetData target = entry.getValue(); + if (target.changedFeatures() == true) { + return true; + } + } + return false; + } - ++ + public void applySettingData() { + // write setting file + writeSettingDataToFile(); - ++ + // update init setting data + initTarget = selectedTarget; + initShowInitial = showInitial; + initAutoStop = autoStop; - ++ + // update init template, feature - Map map = getTargetListMap(); ++ Map map = getTargetListMap(); + for (Map.Entry entry : map.entrySet()) { + TargetData target = entry.getValue(); + target.applySettingData(); + } + } + + public void revertSettingData() { + // revert setting data + selectedTarget = initTarget; + showInitial = initShowInitial; + autoStop = initAutoStop; - ++ + // revert template, feature - Map map = getTargetListMap(); ++ Map map = getTargetListMap(); + for (Map.Entry entry : map.entrySet()) { + TargetData target = entry.getValue(); + target.revertSettingData(); + } + } + + public String getPlatform() { - if (null == platform || platform.isEmpty() - || platform.equals(ConfigureLabels.PLATFORM_ETC)) { ++ if (null == platform || platform.isEmpty() || platform.equals(ConfigureLabels.PLATFORM_ETC)) { + return null; + } else { + return platform; + } + } + + public long getInternalLogLevel() { + return internalLogLevel; + } + + public void writeSelectedChartList(List selectedChartList) { + setSelectedChartList(selectedChartList); - ++ + // write setting file - writeSettingDataToFile(); ++ writeSettingDataToFile(); + } + + public void writeAvailableChartList(String targetName, List availableChartList) { + String searchTargetName = validateTargetName(targetName); + if (isTarget(searchTargetName) == true) { - Map map = getTargetListMap(); ++ Map map = getTargetListMap(); + TargetData target = map.get(searchTargetName); + target.setAvailableChartList(availableChartList); + } else { + Logger.debug("Does not exist targetName : " + searchTargetName); + } - ++ + // write setting file - writeSettingDataToFile(); ++ writeSettingDataToFile(); + } + + public long getSelectedFeatureSwapValue() { + long state = 0; + TargetData target = SettingDataManager.getInstance().getTarget(null); + List featureList = target.getSelectedFeatureList(); - ++ + for (int i = 0; i < featureList.size(); i++) { + state |= target.getSelectedFeatureSwapValue(featureList.get(i).getFeatureName()); + } + return state; + } - - ++ + public long getConfiguration(DeviceInfo devInfo) { + TargetData target = SettingDataManager.getInstance().getConnectedTarget(); + long state = 0; + + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_FUNCTION_PROFILING); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_FUNCTION_SAMPLING); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_MEMORY_ALLOCATION); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_FILE); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_THREAD); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_USERINTERFACE); - - if (target.isSelectedFeature(ConfigureLabels.PERIODIC) == false) { ++ ++ if (target.isSelectedFeature(ConfigureLabels.PERIODIC) == false) { + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SCREENSHOT); + } - ++ + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_USER_EVENT); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_RECORDING); + + if (DACommunicator.isSWAPVersion(devInfo)) { + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSCALL_IPC); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSCALL_PROCESS); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSCALL_SIGNAL); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSCALL_NETWORK); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSCALL_DESC); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_CONTEXT_SWITCH); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_NETWORK); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_OPENGL); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.INCLUDE_INSIDE_CALL_MEMORY); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.INCLUDE_INSIDE_CALL_THREAD); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.INCLUDE_INSIDE_CALL_FILE); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.INCLUDE_INSIDE_CALL_UI); - - if ((target.isSelectedFeature(ConfigureLabels.FEATURE_FILE) - || (target.isSelectedFeature(ConfigureLabels.FEATURE_SYSCALL_FILE)))) { ++ ++ if ((target.isSelectedFeature(ConfigureLabels.FEATURE_FILE) || (target ++ .isSelectedFeature(ConfigureLabels.FEATURE_SYSCALL_FILE)))) { + state |= AnalyzerConstants.FEATURE_SYSCALL_FILE; + } + } + return state; + } - ++ + public long getPreConfiguration(DeviceInfo devInfo) { + TargetData target = SettingDataManager.getInstance().getConnectedTarget(); + long state = 0; + if (DACommunicator.isSWAPVersion(devInfo)) { - state |= target.getSelectedFeatureSwapValue(ConfigureLabels.INCLUDE_INSIDE_CALL_NETWORK); ++ state |= target ++ .getSelectedFeatureSwapValue(ConfigureLabels.INCLUDE_INSIDE_CALL_NETWORK); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.INCLUDE_INSIDE_OPENGL); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_CPU); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_PROCESSES); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_MEMORY); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_DISK); -// state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_FD); -// state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_THREAD); ++ // state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_FD); ++ // state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_THREAD); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_NETWORK); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_DEVICE); + state |= target.getSelectedFeatureSwapValue(ConfigureLabels.FEATURE_SYSTEM_ENERGY); - ++ + if (target.isSelectedFeature(ConfigureLabels.FEATURE_THREAD)) { + state |= AnalyzerConstants.SYSTEM_THREAD_LOAD; + } + } + return state; + } + } diff --cc org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDialogManager.java index 0000000,b0195ed..3553ff7 mode 000000,100644..100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDialogManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/setting/SettingDialogManager.java @@@ -1,0 -1,323 +1,325 @@@ + /* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Heeyoung Hwang + * 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.ui.toolbar.setting; + + import java.util.ArrayList; + import java.util.List; + import java.util.Set; + + import org.eclipse.nebula.widgets.grid.Grid; + import org.eclipse.nebula.widgets.grid.GridItem; -import org.tizen.dynamicanalyzer.common.GlobalInformation; ++import org.tizen.dynamicanalyzer.common.AnalyzerConstants; ++import org.tizen.dynamicanalyzer.common.Global; + import org.tizen.dynamicanalyzer.common.HostResult; + import org.tizen.dynamicanalyzer.communicator.DACommunicator; + import org.tizen.dynamicanalyzer.constant.CommonConstants; + import org.tizen.dynamicanalyzer.nl.ConfigureLabels; + import org.tizen.dynamicanalyzer.ui.page.BaseView; + import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager; + import org.tizen.dynamicanalyzer.util.WorkbenchUtil; + import org.tizen.dynamicanalyzer.widgets.da.base.DAMessageBox; + + public class SettingDialogManager { + + private static SettingDialogManager instance = null; + + private DAMessageBox configDlg = null; + private FeatureDialog featureDlg = null; - ++ + public synchronized static SettingDialogManager getInstance() { + if (instance == null) { + instance = new SettingDialogManager(); + } + return instance; + } - ++ + public void setConfigDlg(DAMessageBox configDlg) { + this.configDlg = configDlg; + } - ++ + public DAMessageBox getConfigDlg() { + return configDlg; + } - ++ + public FeatureDialog getFeatureDlg() { + return featureDlg; + } + + public void setFeatureDlg(FeatureDialog featureDlg) { + this.featureDlg = featureDlg; + } + - public boolean applySwapValue() { ++ public boolean applySwapValue() { + boolean ret = true; - if (null != GlobalInformation.getCurrentDeviceInfo()) { - HostResult result = DACommunicator.sendRuntimeMessage( - DACommunicator.MSG_TYPE_CONFIG, null); ++ if (null != Global.getCurrentDeviceInfo()) { ++ HostResult result = DACommunicator.sendRuntimeMessage(DACommunicator.MSG_TYPE_CONFIG, ++ null); + // check result + if (!result.equals(HostResult.SUCCESS)) { - GlobalInformation.getCurrentDeviceInfo().setConfigSuccess(false); ++ Global.getCurrentDeviceInfo().setConfigSuccess(false); + ret = false; + } else { - GlobalInformation.getCurrentDeviceInfo().setConfigSuccess(true); ++ Global.getCurrentDeviceInfo().setConfigSuccess(true); + } + } + return ret; + } - - public void updateFeatureButtonStatus(Boolean enable, Grid table) { ++ ++ public void updateFeatureButtonStatus(Boolean enable, Grid table) { + if (changedFeaturesFromTableItemsList(table) == true) { + featureDlg.enableButteon(); + } else { + featureDlg.diableButteon(); + } - ++ + if (null != enable) { + if (enable) { + featureDlg.enableButteon(); + } else { + featureDlg.diableButteon(); + } + } + } - ++ + public void updateSaveButtonStatus(Boolean enable) { - // change button status ++ // change button status + if (SettingDataManager.getInstance().changedFeatures() == true) { + if (getConfigDlg() instanceof SettingDialog) { + SettingDialog dlg = (SettingDialog) getConfigDlg(); + dlg.editableButteon(); + } else { + WelcomeDialog dlg = (WelcomeDialog) getConfigDlg(); + dlg.editableButteon(); - } ++ } + } else { + if (getConfigDlg() instanceof SettingDialog) { + SettingDialog dlg = (SettingDialog) getConfigDlg(); + dlg.applicableButteon(); + } else { + WelcomeDialog dlg = (WelcomeDialog) getConfigDlg(); + dlg.applicableButteon(); + } + } + } - ++ + public void setFeaturesValueFromTableItemsList(Grid table) { + TargetData target = SettingDataManager.getInstance().getTarget(null); + List list = new ArrayList(); + FeatureValueData featureValue = null; - ++ + for (int i = 0; i < table.getItemCount(); i++) { + String featureName = table.getItem(i).getText(0); + String optionText = table.getItem(i).getText(1); - ++ + FeatureData feature = target.getAvailableFeature(featureName); + if ((optionText.contains(FeatureDialog.ITEM_ALL_CHECKED)) - || (optionText.contains(FeatureDialog.ITEM_PART_CHECKED))) { - ++ || (optionText.contains(FeatureDialog.ITEM_PART_CHECKED))) { ++ + // check detail feature + if (feature.getFeatureType() == FeatureData.FEATURE_TYPE_DETAIL) { + featureValue = addDetailFeature(table.getItem(i), target); - } else { // main, sub fearue ++ } else { // main, sub fearue + featureValue = new FeatureValueData(); + featureValue.setFeatureName(featureName); + } + list.add(featureValue); + } + } + target.setSelectedFeatureList(list); + } - ++ + /** + * Make sure that the feature has changed in the table. + * - * @param table feature table ++ * @param table ++ * feature table + * - * @return Whether the change of feature ++ * @return Whether the change of feature + */ + public boolean changedFeaturesFromTableItemsList(Grid table) { + TargetData target = SettingDataManager.getInstance().getTarget(null); + int count = 0; - ++ + for (int i = 0; i < table.getItemCount(); i++) { + String featureName = table.getItem(i).getText(0); + String optionText = table.getItem(i).getText(1); + + FeatureData feature = target.getAvailableFeature(featureName); + if ((optionText.contains(FeatureDialog.ITEM_ALL_CHECKED)) - || (optionText.contains(FeatureDialog.ITEM_PART_CHECKED))) { ++ || (optionText.contains(FeatureDialog.ITEM_PART_CHECKED))) { + count++; - ++ + // check detail feature + if (feature.getFeatureType() == FeatureData.FEATURE_TYPE_DETAIL) { + if (changedDetailFeature(table.getItem(i), target) == true) { + return true; - } - } else { // main, sub fearue ++ } ++ } else { // main, sub fearue + if (target.isSelectedFeature(featureName) == false) { + return true; + } + } + } + } - ++ + if (target.getSelectedFeatureList().size() != count) { + return true; + } + return false; + } - ++ + private FeatureValueData addDetailFeature(GridItem item, TargetData target) { + FeatureValueData featureValue = null; - String featureName = item.getText(0); - - if ((ConfigureLabels.SYSTEM_INFOMATION_SAMPLING_PERIODIC.equals(featureName)) ++ String featureName = item.getText(0); ++ ++ if ((ConfigureLabels.SYSTEM_INFOMATION_SAMPLING_PERIODIC.equals(featureName)) + || (ConfigureLabels.FUNCTION_PROFILING_SAMPLING_PERIODIC.equals(featureName))) { + int tableValue = Integer.parseInt(getOptionText(item, ConfigureLabels.SAMPLING)); + featureValue = new FeatureValueData(); + featureValue.setFeatureName(featureName); + featureValue.setValue(tableValue); + } else if (ConfigureLabels.SNAPSHOT_PERIODIC_AUTO.equals(featureName)) { + int tableAutoValue = Integer.parseInt(getOptionText(item, ConfigureLabels.AUTO)); + if (tableAutoValue == 1) { + featureValue = new FeatureValueData(); + featureValue.setFeatureName(featureName); - featureValue.setValue(1); ++ featureValue.setValue(1); + } else { + int tableValue = Integer.parseInt(getOptionText(item, ConfigureLabels.SAMPLING)); + featureValue = new FeatureValueData(); + featureValue.setFeatureName(ConfigureLabels.PERIODIC); - featureValue.setValue(tableValue); ++ featureValue.setValue(tableValue); + } + } + return featureValue; + } - ++ + private boolean changedDetailFeature(GridItem item, TargetData target) { - String featureName = item.getText(0); - - if ((ConfigureLabels.SYSTEM_INFOMATION_SAMPLING_PERIODIC.equals(featureName)) ++ String featureName = item.getText(0); ++ ++ if ((ConfigureLabels.SYSTEM_INFOMATION_SAMPLING_PERIODIC.equals(featureName)) + || (ConfigureLabels.FUNCTION_PROFILING_SAMPLING_PERIODIC.equals(featureName))) { + int value = target.getSelectedFeatureValue(featureName); + int tableValue = Integer.parseInt(getOptionText(item, ConfigureLabels.SAMPLING)); + if (value != tableValue) { + return true; + } + } else if (ConfigureLabels.SNAPSHOT_PERIODIC_AUTO.equals(featureName)) { + int tableAutoValue = Integer.parseInt(getOptionText(item, ConfigureLabels.AUTO)); + if (tableAutoValue == 1) { + if (target.isSelectedFeature(ConfigureLabels.SNAPSHOT_PERIODIC_AUTO) == false) { + return true; + } + } else { + if (target.isSelectedFeature(ConfigureLabels.PERIODIC) == false) { + return true; + } else { + int value = target.getSelectedFeatureValue(ConfigureLabels.PERIODIC); - int tableSamplingValue = Integer.parseInt(getOptionText(item, ConfigureLabels.SAMPLING)); ++ int tableSamplingValue = Integer.parseInt(getOptionText(item, ++ ConfigureLabels.SAMPLING)); + if (value != tableSamplingValue) { + return true; + } + } + } + } + return false; + } - ++ + private String getOptionText(GridItem item, String optionName) { + String value = null; + if (item.getText(1).contains(optionName)) { + String[] optionList = item.getText(1).split(optionName); + if (optionList.length > 1) { + if (optionList[1].contains(CommonConstants.COMMA)) { - String[] optionList2 = optionList[1] - .split(CommonConstants.COMMA); ++ String[] optionList2 = optionList[1].split(CommonConstants.COMMA); + value = optionList2[0]; + } else { + value = optionList[1]; + } + } + } + return value; + } - ++ + /** + * create tab pages + */ + public void updateTabViewPage() { + TargetData target = SettingDataManager.getInstance().getConnectedTarget(); + Set selectedPageList = target.getSelectedPageList(); + List tabViewList = new ArrayList(); - tabViewList.add(CommonConstants.PAGE_TIME_LINE); // default : timeline tab - ++ tabViewList.add(AnalyzerConstants.PAGE_TIME_LINE); // default : timeline tab ++ + // thread tab + if (selectedPageList.contains(ConfigureLabels.PAGE_NAME_THREAD)) { - tabViewList.add(CommonConstants.PAGE_THREAD); ++ tabViewList.add(AnalyzerConstants.PAGE_THREAD); + } // else nothing + + // network tab + if (selectedPageList.contains(ConfigureLabels.PAGE_NAME_NETWORK)) { - tabViewList.add(CommonConstants.PAGE_NETWORK); ++ tabViewList.add(AnalyzerConstants.PAGE_NETWORK); + } // else nothing + + // file tab + if (selectedPageList.contains(ConfigureLabels.PAGE_NAME_FILE)) { - tabViewList.add(CommonConstants.PAGE_FILE); ++ tabViewList.add(AnalyzerConstants.PAGE_FILE); + } // else nothing - ++ + // openGL tab + if (selectedPageList.contains(ConfigureLabels.PAGE_NAME_OPENGL)) { - tabViewList.add(CommonConstants.PAGE_GRAPHICS); ++ tabViewList.add(AnalyzerConstants.PAGE_GRAPHICS); + } // else nothing + + // kernel tab + if (selectedPageList.contains(ConfigureLabels.PAGE_NAME_KERNEL)) { - tabViewList.add(CommonConstants.PAGE_KERNEL); ++ tabViewList.add(AnalyzerConstants.PAGE_KERNEL); + } // else nothing + - tabViewList.add(CommonConstants.PAGE_SUMMARY); // default : summary tab ++ tabViewList.add(AnalyzerConstants.PAGE_SUMMARY); // default : summary tab + + BaseView bv = (BaseView) WorkbenchUtil.getViewPart(BaseView.ID); + bv.addTabViewPage(tabViewList); + } + + /** + * update chart list + */ + public void updateChartList() { + TargetData target = SettingDataManager.getInstance().getConnectedTarget(); + Set selectedChartList = target.getSelectedChartList(); + TimelineChartManager.getInstance().loadSelectedChartList(selectedChartList); - ++ + // TODO : selectedChartList remove? + if (selectedChartList.size() > 0) { + List list = SettingDataManager.getInstance().getSelectedChartList(); + if (list.size() > 0) { + list.clear(); + } + list.addAll(selectedChartList); + } + } + }