FILE : considering save and load 23/25423/1
authorhyeran74.kim <hyeran74.kim@samsung.com>
Tue, 5 Aug 2014 02:06:49 +0000 (11:06 +0900)
committerhyeran74.kim <hyeran74.kim@samsung.com>
Tue, 5 Aug 2014 02:06:49 +0000 (11:06 +0900)
Change-Id: Icdd535861dcbd65552bd1784fdfd1b4096475bc9
Signed-off-by: hyeran74.kim <hyeran74.kim@samsung.com>
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartBoard.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileAccessDB.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileApiDB.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/data/FileStatusDB.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileDataMaker.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/manager/FileDataManager.java

index 21b1a6a..48b6297 100644 (file)
@@ -138,7 +138,11 @@ public class FileChartBoard extends DAChartBoard {
                List<FileEvent> 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<FileAccess> getVisibleAccessList() {
                List<FileAccess> data = new ArrayList<FileAccess>();
                List<FileAccess> 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);
                        }
                }
index 7e7acae..70b8fef 100644 (file)
@@ -103,12 +103,13 @@ public class FileAccessDB extends DBTable {
        public List<FileAccess> select() {
                String query = String.format(SELECT_QUERY);
                
+               List<FileAccess> accessList = new ArrayList<FileAccess>();
+               
                List<List<Object>> result = SqlConnectionManager.executeQuery(query);
                if (null == result || result.size() == 0 || result.get(0).size() == 0) {
-                       return null;
+                       return accessList;
                }
                
-               List<FileAccess> accessList = new ArrayList<FileAccess>();
                for (List<Object> data : result) {
                        accessList.add(new FileAccess(data));
                }
index 9936425..6a11e48 100644 (file)
@@ -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<List<Object>> insertData) {
                insertData(insertData);
        }
@@ -223,7 +229,23 @@ public class FileApiDB extends DBTable {
                return apiList;
        }
        
-       public static String selectAll() {
+       public List<FileEvent> select() {
+               String query = String.format(SELECT_ALL);
+               
+               List<FileEvent> apiList = new ArrayList<FileEvent>();
+               
+               List<List<Object>> result = SqlConnectionManager.executeQuery(query);
+               if (null == result || result.size() == 0 || result.get(0).size() == 0) {
+                       return apiList;
+               }
+               
+               for (List<Object> data : result) {
+                       apiList.add(new FileEvent(data));
+               }
+               return apiList;
+       }
+       
+       public static String selectAllColumn() {
                StringBuffer selectAllColumn = new StringBuffer();
                selectAllColumn.append(COLUMN.SEQ.getName());
                selectAllColumn.append(",");
index edee06a..671cd79 100644 (file)
@@ -99,12 +99,13 @@ public class FileStatusDB extends DBTable {
        public List<FileStatus> select() {
                String query = String.format(SELECT_QUERY);
                
+               List<FileStatus> statusList = new ArrayList<FileStatus>();
+               
                List<List<Object>> result = SqlConnectionManager.executeQuery(query);
                if (null == result || result.size() == 0 || result.get(0).size() == 0) {
-                       return null;
+                       return statusList;
                }
                
-               List<FileStatus> statusList = new ArrayList<FileStatus>();
                for (List<Object> data : result) {
                        statusList.add(new FileStatus(data));
                }
index 334357f..c24a488 100644 (file)
@@ -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<FileStatus> fileStatusList = new ArrayList<FileStatus>();
        private List<FileAccess> fileAccessList = new ArrayList<FileAccess>();
-       List<FileEvent> fileEventList = new ArrayList<FileEvent>();
+       private List<FileEvent> fileApiList = new ArrayList<FileEvent>();
 
 
        // 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<FileEvent> 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<FileStatus> fileStatusList) {
                this.fileStatusList = fileStatusList;
        }
+       
+       public void setFileApiList(List<FileEvent> fileApiList) {
+               this.fileApiList = fileApiList;
+       }
 
 }
index 8cd8536..764b788 100644 (file)
@@ -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<String, String> dataMap) {
+               stopProcess();
        }
 
        public void openData(Map<String, String> 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<FileAccess> 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;