From 1301db4106c01280798c5203a025efeb0559cfa6 Mon Sep 17 00:00:00 2001 From: "hyeran74.kim" Date: Tue, 5 Aug 2014 11:06:49 +0900 Subject: [PATCH] FILE : considering save and load Change-Id: Icdd535861dcbd65552bd1784fdfd1b4096475bc9 Signed-off-by: hyeran74.kim --- .../dynamicanalyzer/ui/file/FileChartBoard.java | 21 ++++++++++------- .../dynamicanalyzer/ui/file/data/FileAccessDB.java | 5 +++-- .../dynamicanalyzer/ui/file/data/FileApiDB.java | 26 ++++++++++++++++++++-- .../dynamicanalyzer/ui/file/data/FileStatusDB.java | 5 +++-- .../ui/file/manager/FileDataMaker.java | 21 ++++++++--------- .../ui/file/manager/FileDataManager.java | 22 ++++++++++++------ 6 files changed, 67 insertions(+), 33 deletions(-) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartBoard.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartBoard.java index 21b1a6a..48b6297 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartBoard.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartBoard.java @@ -138,7 +138,11 @@ public class FileChartBoard extends DAChartBoard { List eventList = dataMaker.getFileEventList(); if (eventList == null) { // no file event at all. - return; + if(dataMaker.getFileApiList() != null) { + eventList = dataMaker.getFileApiList(); + }else { + return; + } } for (FileEvent event : eventList) { @@ -290,22 +294,23 @@ public class FileChartBoard extends DAChartBoard { private List getVisibleAccessList() { List data = new ArrayList(); List accessList = dataMaker.getFileAccessList(); - for(int i =0; i< accessList.size(); i++) { + for (int i = 0; i < accessList.size(); i++) { FileAccess access = accessList.get(i); double startTime = Formatter.toLongTimeForDoubleTime(access .getStartTime()); double endTime = Formatter.toLongTimeForDoubleTime(access .getEndTime()); - double visibleStartTime = getVisibleStartTime(); + double visibleStartTime = getVisibleStartTime(); double visibleEndTime = getVisibleEndTime(); - - if(startTime >= visibleStartTime && startTime <= visibleEndTime) { + + if (startTime >= visibleStartTime && startTime <= visibleEndTime) { data.add(access); - }else if(endTime >= visibleStartTime && endTime >= visibleEndTime) { + } else if (endTime >= visibleStartTime && endTime >= visibleEndTime) { data.add(access); - }else if(startTime <= visibleStartTime && endTime <= visibleEndTime) { + } else if (startTime <= visibleStartTime + && endTime <= visibleEndTime) { data.add(access); - }else if(endTime <= 0) { // not finished + } else if (endTime <= 0) { // not finished data.add(access); } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileAccessDB.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileAccessDB.java index 7e7acae..70b8fef 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileAccessDB.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileAccessDB.java @@ -103,12 +103,13 @@ public class FileAccessDB extends DBTable { public List select() { String query = String.format(SELECT_QUERY); + List accessList = new ArrayList(); + List> result = SqlConnectionManager.executeQuery(query); if (null == result || result.size() == 0 || result.get(0).size() == 0) { - return null; + return accessList; } - List accessList = new ArrayList(); for (List data : result) { accessList.add(new FileAccess(data)); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileApiDB.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileApiDB.java index 9936425..6a11e48 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileApiDB.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileApiDB.java @@ -100,7 +100,7 @@ public class FileApiDB extends DBTable { addColumn(new DBColumn(COLUMN.TARGET.getName(), DBConstants.NOT_NULL, DBConstants.BOOLEAN)); } - private static final String selectAllColumn = selectAll(); + private static final String selectAllColumn = selectAllColumn(); private static final String SELECT_API_SERIES = "select " + selectAllColumn +" from " @@ -150,6 +150,12 @@ public class FileApiDB extends DBTable { + COLUMN.ERRNO.getName() + " != '0'" + " and " + COLUMN.TARGET.getName() + " = 'true'"; + private static final String SELECT_ALL = "select " + + selectAllColumn + + " from " + + TABLE_NAME + " where " + + COLUMN.TARGET.getName() + " = 'true'"; + public void insert(List> insertData) { insertData(insertData); } @@ -223,7 +229,23 @@ public class FileApiDB extends DBTable { return apiList; } - public static String selectAll() { + public List select() { + String query = String.format(SELECT_ALL); + + List apiList = new ArrayList(); + + List> result = SqlConnectionManager.executeQuery(query); + if (null == result || result.size() == 0 || result.get(0).size() == 0) { + return apiList; + } + + for (List data : result) { + apiList.add(new FileEvent(data)); + } + return apiList; + } + + public static String selectAllColumn() { StringBuffer selectAllColumn = new StringBuffer(); selectAllColumn.append(COLUMN.SEQ.getName()); selectAllColumn.append(","); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileStatusDB.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileStatusDB.java index edee06a..671cd79 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileStatusDB.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileStatusDB.java @@ -99,12 +99,13 @@ public class FileStatusDB extends DBTable { public List select() { String query = String.format(SELECT_QUERY); + List statusList = new ArrayList(); + List> result = SqlConnectionManager.executeQuery(query); if (null == result || result.size() == 0 || result.get(0).size() == 0) { - return null; + return statusList; } - List statusList = new ArrayList(); for (List data : result) { statusList.add(new FileStatus(data)); } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileDataMaker.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileDataMaker.java index 334357f..c24a488 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileDataMaker.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileDataMaker.java @@ -57,10 +57,6 @@ import org.tizen.dynamicanalyzer.ui.file.model.FileAccess; import org.tizen.dynamicanalyzer.ui.file.model.FileEvent; import org.tizen.dynamicanalyzer.ui.file.model.FileStatus; import org.tizen.dynamicanalyzer.ui.summary.SummaryDataManager; -import org.tizen.dynamicanalyzer.ui.summary.failed.FailedChecker; -import org.tizen.dynamicanalyzer.ui.summary.failed.FailedData; -import org.tizen.dynamicanalyzer.ui.summary.leaks.LeakDetector; -import org.tizen.dynamicanalyzer.ui.summary.warning.WarningChecker; import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea; import org.tizen.dynamicanalyzer.ui.toolbar.configuration.ConfigurationDialogDataManager; import org.tizen.dynamicanalyzer.util.DALogger; @@ -70,12 +66,10 @@ import org.tizen.dynamicanalyzer.widgets.da.base.DADialog; public class FileDataMaker { private static final DALogger DA_LOG = DALogger.getInstance(); - private FailedChecker failedChecker = null; - // from LogPackage to... private List fileStatusList = new ArrayList(); private List fileAccessList = new ArrayList(); - List fileEventList = new ArrayList(); + private List fileApiList = new ArrayList(); // to find file path, (key(PID, TID, FD), value (file_path)) @@ -102,11 +96,6 @@ public class FileDataMaker { public FileDataMaker() {} - public FileDataMaker(FailedChecker failedChecker, - LeakDetector leakDetector, WarningChecker warningChecker) { - this.failedChecker = failedChecker; - } - public void clear(){ fileStatusList.clear(); fileAccessList.clear(); @@ -449,6 +438,10 @@ public class FileDataMaker { return fileStatusList; } + public List getFileApiList() { + return fileApiList; + } + private String createKey(int pid, int tid, long fd) { StringBuffer key = new StringBuffer(); key.append(pid); @@ -620,5 +613,9 @@ public class FileDataMaker { public void setFileStatusList(List fileStatusList) { this.fileStatusList = fileStatusList; } + + public void setFileApiList(List fileApiList) { + this.fileApiList = fileApiList; + } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileDataManager.java index 8cd8536..764b788 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileDataManager.java @@ -30,10 +30,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import org.tizen.dynamicanalyzer.common.AnalyzerManager; -import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants; import org.tizen.dynamicanalyzer.swap.logparser.LogPackage; -import org.tizen.dynamicanalyzer.swap.logparser.Logs; import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager; import org.tizen.dynamicanalyzer.ui.file.data.FileAccessDB; import org.tizen.dynamicanalyzer.ui.file.data.FileApiDB; @@ -91,6 +88,7 @@ public class FileDataManager extends PageDataManager { } public void saveData(Map dataMap) { + stopProcess(); } public void openData(Map dataMap) { @@ -99,15 +97,20 @@ public class FileDataManager extends PageDataManager { public void openProcess() { // set status and access list from DB - if (dataMaker.getFileAccessList().size() == 0 - || dataMaker.getFileStatusList().size() == 0) { + if (dataMaker.getFileAccessList().size() == 0 ) { dataMaker.setFileAccessList(accessDB.select()); + } + + if(dataMaker.getFileStatusList().size() == 0) { dataMaker.setFileStatusList(statusDB.select()); } + + if(dataMaker.getFileApiList().size() == 0) { + dataMaker.setFileApiList(apiDB.select()); + } } - @Override - protected void onThreadStop() { + public void stopProcess() { // insert rest of the data to DB List accessList = dataMaker.getFileAccessList(); if (accessList != null & accessList.size() > 0) { @@ -120,6 +123,11 @@ public class FileDataManager extends PageDataManager { } } + @Override + protected void onThreadStop() { + stopProcess(); + } + public FileDataMaker getFileChartDataMaker() { return dataMaker; -- 2.7.4