DB: remove old database class totally 65/27865/1
authorgreatim <jaewon81.lim@samsung.com>
Sun, 21 Sep 2014 16:45:33 +0000 (01:45 +0900)
committergreatim <jaewon81.lim@samsung.com>
Sun, 21 Sep 2014 16:45:33 +0000 (01:45 +0900)
remove old database class totally
refactor selectData function of DBTable class

Change-Id: I28375a1398f1762987f309d93d2d133e7d61296c
Signed-off-by: greatim <jaewon81.lim@samsung.com>
31 files changed:
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/DBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/IResultSet.java [new file with mode: 0644]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/DeviceStatusInfo.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/ProcessInformation.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/ProcessMemoryMap.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/data/BinaryInfoDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/data/FunctionNameDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/data/MemoryMapDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/data/ProcessInfoDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackDataDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/callstack/CallStackUnitDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/info/screenshot/ScreenShotDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/ContextDataDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/FunctionDataDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/KernelDataMaker.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiDataDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/failed/FailedApiDataMaker.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDataMaker.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/FunctionSampleDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfilingChildDataDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfilingDataDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/warning/WarningDataMaker.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/CustomDataDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/SystemDataDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TargetProcessDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/UIEventDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/FunctionEntryDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/calltrace/FunctionExitDBTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/common/TimelineChartManager.java

index 0537520..71c1116 100644 (file)
@@ -27,13 +27,14 @@ package org.tizen.dynamicanalyzer.database;
 
 import java.sql.Array;
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
 
-public abstract class DBTable implements IPreparedStatement {
+public abstract class DBTable implements IPreparedStatement, IResultSet {
        private List<DBColumn> columns = new ArrayList<DBColumn>();
 
        // instance initializing block
@@ -116,9 +117,13 @@ public abstract class DBTable implements IPreparedStatement {
                }
        }
 
+       public final List<List<Object>> selectAllColumnData(String option) {
+               return selectData(null, option, this);
+       }
+
        // select data from this table
        // if column list is null, then all column will be selected
-       public final List<List<Object>> selectData(List<String> column, String option) {
+       public final List<List<Object>> selectData(List<String> column, String option, IResultSet irs) {
                StringBuffer query = new StringBuffer();
                query.append("select ");
 
@@ -143,7 +148,18 @@ public abstract class DBTable implements IPreparedStatement {
                        query.append(" ").append(option);
                }
 
-               return SqlConnectionManager.executeQuery(query.toString());
+               List<List<Object>> resultdata = new ArrayList<List<Object>>();
+               ResultSet rs = SqlConnectionManager.executeQueryRS(query.toString());
+               if (rs != null) {
+                       List<Object> row = irs.extractDataFromResultSet(rs);
+                       if (row != null && !row.isEmpty()) {
+                               resultdata.add(row);
+                       }
+
+                       SqlConnectionManager.releaseResultSet(rs);
+               }
+
+               return resultdata;
        }
 
        public final void createIndexTable() {
@@ -183,4 +199,30 @@ public abstract class DBTable implements IPreparedStatement {
                        e.printStackTrace();
                }
        }
+
+       @SuppressWarnings("unchecked")
+       protected <T> List<Object> getArrayFromResultSet(ResultSet rs, int index, T type) {
+               try {
+                       Array sqlArray = rs.getArray(index);
+                       if (sqlArray == null) {
+                               return null;
+                       } else {
+                               List<Object> rlist = new ArrayList<Object>();
+                               Object[] objarray = (Object[]) sqlArray.getArray();
+                               int len = objarray.length;
+                               for (int i = 0; i < len; i++) {
+                                       rlist.add((T) objarray[i]);
+                               }
+                               return rlist;
+                       }
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+       }
+
+       // default implementation of IResultSet
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               return null;
+       }
 }
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/IResultSet.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/IResultSet.java
new file mode 100644 (file)
index 0000000..244be8a
--- /dev/null
@@ -0,0 +1,8 @@
+package org.tizen.dynamicanalyzer.database;
+
+import java.sql.ResultSet;
+import java.util.List;
+
+public interface IResultSet {
+       public List<Object> extractDataFromResultSet(ResultSet rs);
+}
index 2687b64..67431e8 100755 (executable)
@@ -280,7 +280,7 @@ public class DeviceStatusInfo {
        }
 
        public void openBinaryInfo(DBTable table) {
-               List<List<Object>> datas = table.selectData(null, null);
+               List<List<Object>> datas = table.selectAllColumnData(null);
                List<String> keylist = new ArrayList<String>();
                List<BinaryInfo> valuelist = new ArrayList<BinaryInfo>();
 
index 396ee94..964b3eb 100644 (file)
@@ -25,6 +25,8 @@
  */
 package org.tizen.dynamicanalyzer.project;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -171,18 +173,21 @@ public class ProcessInformation {
                processMemSnapshots.clear();
 
                String query = String.format(QUERY_DISTINCT_TIME, table.getTableName(), getPid());
-               List<List<Object>> distinctdata = SqlConnectionManager.executeQuery(query);
-               if (distinctdata != null) {
-                       int rowsize = distinctdata.size();
-                       for (int i = 0; i < rowsize; i++) {
-                               List<Object> rowdata = distinctdata.get(i);
-                               long time = ((Long) rowdata.get(0)).longValue();
-
-                               ProcessMemoryMap pmap = new ProcessMemoryMap(getPid(), time);
-                               pmap.openMemoryMap(table);
-
-                               processMemSnapshots.put(Long.valueOf(time), pmap);
+               ResultSet rs = SqlConnectionManager.executeQueryRS(query);
+               if (rs != null) {
+                       try {
+                               while (rs.next()) {
+                                       long time = rs.getLong(1);
+                                       ProcessMemoryMap pmap = new ProcessMemoryMap(getPid(), time);
+                                       pmap.openMemoryMap(table);
+
+                                       processMemSnapshots.put(Long.valueOf(time), pmap);
+                               }
+                       } catch (SQLException e) {
+                               e.printStackTrace();
                        }
+
+                       SqlConnectionManager.releaseResultSet(rs);
                }
        }
 }
index e46431d..4bc39ba 100644 (file)
@@ -152,7 +152,7 @@ public class ProcessMemoryMap {
                binaryByBinaryID.clear();
 
                String where = String.format(WHERE_PID_TIME, pid, capturedTime);
-               List<List<Object>> memdatas = table.selectData(null, where);
+               List<List<Object>> memdatas = table.selectAllColumnData(where);
                if (memdatas != null) {
                        int rsize = memdatas.size();
                        for (int i = 0; i < rsize; i++) {
index 0680d37..43ccb76 100755 (executable)
@@ -720,7 +720,7 @@ public class Project {
        }
 
        private void openFunctionInfo() {
-               List<List<Object>> datas = functionNameTable.selectData(null, null);
+               List<List<Object>> datas = functionNameTable.selectAllColumnData(null);
                if (null == datas) {
                        Logger.error("failed - load function names");
                } else {
@@ -755,7 +755,7 @@ public class Project {
        private void openProcessInfo() {
                processInfos.clear();
 
-               List<List<Object>> datas = processInfoTable.selectData(null, null);
+               List<List<Object>> datas = processInfoTable.selectAllColumnData(null);
                int rowsize = datas.size();
                for (int i = 0; i < rowsize; i++) {
                        List<Object> data = datas.get(i);
index a3105ee..7bc10f0 100644 (file)
@@ -26,7 +26,9 @@
 package org.tizen.dynamicanalyzer.project.data;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.common.DALimit;
@@ -104,4 +106,21 @@ public class BinaryInfoDBTable extends DBTable {
        public String getTableName() {
                return TABLENAME;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Integer.valueOf(rs.getInt(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(rs.getString(3));
+                       row.add(rs.getString(4));
+                       row.add(rs.getString(5));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index 75ee92c..1049f7f 100644 (file)
@@ -27,7 +27,9 @@
 package org.tizen.dynamicanalyzer.project.data;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.common.DALimit;
@@ -87,4 +89,18 @@ public class FunctionNameDBTable extends DBTable {
 
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Integer.valueOf(rs.getInt(1)));
+                       row.add(rs.getString(2));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index c47bc67..5787ecd 100644 (file)
@@ -26,7 +26,9 @@
 package org.tizen.dynamicanalyzer.project.data;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.database.DBColumn;
@@ -102,4 +104,22 @@ public class MemoryMapDBTable extends DBTable {
        public String getTableName() {
                return TABLENAME;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Integer.valueOf(rs.getInt(1)));
+                       row.add(Long.valueOf(rs.getLong(2)));
+                       row.add(Long.valueOf(rs.getLong(3)));
+                       row.add(Long.valueOf(rs.getLong(4)));
+                       row.add(Integer.valueOf(rs.getInt(5)));
+                       row.add(Boolean.valueOf(rs.getBoolean(6)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index afbc014..f9d8d41 100644 (file)
@@ -26,7 +26,9 @@
 package org.tizen.dynamicanalyzer.project.data;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.common.DALimit;
@@ -106,4 +108,22 @@ public class ProcessInfoDBTable extends DBTable {
        public String getTableName() {
                return TABLENAME;
        }
+       
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Integer.valueOf(rs.getInt(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(Long.valueOf(rs.getLong(3)));
+                       row.add(Integer.valueOf(rs.getInt(4)));
+                       row.add(Boolean.valueOf(rs.getBoolean(5)));
+                       row.add(rs.getString(6));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index dffd964..4a16486 100755 (executable)
@@ -40,7 +40,6 @@ import org.tizen.dynamicanalyzer.common.SymbolManager;
 import org.tizen.dynamicanalyzer.communicator.CommunicatorUtils;
 import org.tizen.dynamicanalyzer.communicator.DACommunicator;
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
-import org.tizen.dynamicanalyzer.project.ImageInfo;
 import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
 import org.tizen.dynamicanalyzer.swap.model.data.ContextSwitchData;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
index 2f3e9b5..22d0c80 100644 (file)
@@ -27,6 +27,7 @@
 package org.tizen.dynamicanalyzer.ui.info.callstack;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
@@ -34,6 +35,7 @@ import java.util.List;
 import org.tizen.dynamicanalyzer.database.DBColumn;
 import org.tizen.dynamicanalyzer.database.DBConstants;
 import org.tizen.dynamicanalyzer.database.DBTable;
+import org.tizen.dynamicanalyzer.database.IResultSet;
 
 public class CallStackDataDBTable extends DBTable {
        private static final String TABLENAME="CallStackData";
@@ -71,7 +73,20 @@ public class CallStackDataDBTable extends DBTable {
                List<String> selectColumn = new ArrayList<String>();
                selectColumn.add(COLUMN.PCADDR.name);
                
-               return selectData(selectColumn, where); 
+               return selectData(selectColumn, where, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Long.valueOf(rs.getLong(1)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+                               
+                               return row;
+                       }
+               }); 
        }
        
        @Override
index 056e85d..ede3d4d 100644 (file)
 package org.tizen.dynamicanalyzer.ui.info.callstack;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
-import org.tizen.dynamicanalyzer.constant.CommonConstants;
 import org.tizen.dynamicanalyzer.database.DBColumn;
 import org.tizen.dynamicanalyzer.database.DBConstants;
 import org.tizen.dynamicanalyzer.database.DBTable;
+import org.tizen.dynamicanalyzer.database.IResultSet;
 
-public class CallStackUnitDBTable extends DBTable {
+public class CallStackUnitDBTable extends DBTable implements IResultSet {
        private static final String TABLENAME="CallStackUnits";
        
        public enum COLUMN {
@@ -66,7 +68,7 @@ public class CallStackUnitDBTable extends DBTable {
        }
 
        public List<List<Object>> getCallStackUnitsFromDB() {
-               return selectData(null, CommonConstants.EMPTY);
+               return selectAllColumnData(null);
        }
        
        @Override
@@ -90,4 +92,20 @@ public class CallStackUnitDBTable extends DBTable {
                
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Integer.valueOf(rs.getInt(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+                       row.add(Long.valueOf(rs.getLong(4)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index eab9b21..c9265dd 100644 (file)
@@ -27,7 +27,9 @@
 package org.tizen.dynamicanalyzer.ui.info.screenshot;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.database.DBColumn;
@@ -81,5 +83,20 @@ public class ScreenShotDBTable extends DBTable {
 
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Long.valueOf(rs.getLong(1)));
+                       row.add(rs.getString(2));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
 
index 000a148..915f435 100644 (file)
@@ -1,14 +1,17 @@
 package org.tizen.dynamicanalyzer.ui.kernel.data;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.database.DBColumn;
 import org.tizen.dynamicanalyzer.database.DBConstants;
 import org.tizen.dynamicanalyzer.database.DBTable;
+import org.tizen.dynamicanalyzer.database.IResultSet;
 
-public class ContextDataDBTable extends DBTable {
+public class ContextDataDBTable extends DBTable implements IResultSet {
        private static final String TABLENAME = "ContextSwitchData";
        
        public enum COLUMN {
@@ -72,4 +75,23 @@ public class ContextDataDBTable extends DBTable {
                return isPrepared;
        }
 
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Integer.valueOf(rs.getInt(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+                       row.add(Integer.valueOf(rs.getInt(4)));
+                       row.add(Long.valueOf(rs.getLong(5)));
+                       row.add(Long.valueOf(rs.getLong(6)));
+                       row.add(Long.valueOf(rs.getLong(7)));
+                       row.add(Long.valueOf(rs.getLong(8)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index ed6071f..c76dafd 100644 (file)
@@ -1,7 +1,9 @@
 package org.tizen.dynamicanalyzer.ui.kernel.data;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.database.DBColumn;
@@ -82,4 +84,27 @@ public class FunctionDataDBTable extends DBTable {
 
                return isPrepared;
        }
+       
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Integer.valueOf(rs.getInt(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+                       row.add(Integer.valueOf(rs.getInt(4)));
+                       row.add(Long.valueOf(rs.getLong(5)));
+                       row.add(Integer.valueOf(rs.getInt(6)));
+                       row.add(Long.valueOf(rs.getLong(7)));
+                       row.add(Long.valueOf(rs.getLong(8)));
+                       row.add(Integer.valueOf(rs.getInt(9)));
+                       row.add(Long.valueOf(rs.getLong(10)));
+                       row.add(Integer.valueOf(rs.getInt(11)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index a893b73..c5e9b26 100755 (executable)
 
 package org.tizen.dynamicanalyzer.ui.kernel.data;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Stack;
 
 import org.tizen.dynamicanalyzer.database.DBTable;
+import org.tizen.dynamicanalyzer.database.IResultSet;
 import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
 import org.tizen.dynamicanalyzer.swap.model.data.ContextSwitchData;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
@@ -91,8 +94,7 @@ public class KernelDataMaker {
 
                                KernelDataPerThread kdata = findKernelData(tid);
                                if (kdata == null) { // thread id is not exist in thread id
-                                       kdata = new KernelDataPerThread(csdata.getPid(), tid,
-                                                       csdata);
+                                       kdata = new KernelDataPerThread(csdata.getPid(), tid, csdata);
                                        threads.add(kdata);
                                } else { // thread id is exist in thread id array
                                        if (kdata.getCorelog() != null) {
@@ -110,8 +112,7 @@ public class KernelDataMaker {
                                                        pfdata.setPcAddr(csdata.getPcAddr());
                                                        pfdata.setCpuNum(csdata.getCpuNum());
 
-                                                       prefunc_type.set(prefunc_type.size() - 1,
-                                                                       START_TYPE_RESUME);
+                                                       prefunc_type.set(prefunc_type.size() - 1, START_TYPE_RESUME);
                                                }
                                        }
                                }
@@ -274,8 +275,7 @@ public class KernelDataMaker {
                                                if (!prefunc.isEmpty() && !prefunc_type.isEmpty()) {
                                                        prefunc.peek().setTime(fndata.getTime());
                                                        prefunc.peek().setPcAddr(fndata.getPcAddr());
-                                                       prefunc_type.set(prefunc_type.size() - 1,
-                                                                       START_TYPE_RETURNED);
+                                                       prefunc_type.set(prefunc_type.size() - 1, START_TYPE_RETURNED);
                                                }
                                        }
                                }
@@ -291,8 +291,7 @@ public class KernelDataMaker {
                contextDataList.clear();
 
                @SuppressWarnings("unchecked")
-               List<List<Object>> flist = (List<List<Object>>) functionDataList
-                               .clone();
+               List<List<Object>> flist = (List<List<Object>>) functionDataList.clone();
                functionDataList.clear();
 
                ContextDataDBInserter.pushContextData(clist);
@@ -308,41 +307,36 @@ public class KernelDataMaker {
        }
 
        public List<List<Object>> getContextDataFromDB(long start, long end) {
-               String where = String.format(queryto_withTime,
-                               ContextDataDBTable.COLUMN.STARTTIME.name, end,
-                               ContextDataDBTable.COLUMN.ENDTIME.name, start,
+               String where = String.format(queryto_withTime, ContextDataDBTable.COLUMN.STARTTIME.name,
+                               end, ContextDataDBTable.COLUMN.ENDTIME.name, start,
                                ContextDataDBTable.COLUMN.STARTTIME.name);
 
                DBTable table = KernelDataManager.getInstance().getContextDataTable();
 
-               return table.selectData(null, where);
+               return table.selectAllColumnData(where);
        }
 
-       public List<List<Object>> getFunctionDataFromDB(long start, long end,
-                       int tid) {
+       public List<List<Object>> getFunctionDataFromDB(long start, long end, int tid) {
                String where;
 
                if (tid >= 0) {
-                       where = String.format(queryto_withTidAndTime,
-                                       FunctionDataDBTable.COLUMN.TID.name, tid,
+                       where = String.format(queryto_withTidAndTime, FunctionDataDBTable.COLUMN.TID.name, tid,
                                        FunctionDataDBTable.COLUMN.STARTTIME.name, end,
                                        FunctionDataDBTable.COLUMN.ENDTIME.name, start,
                                        FunctionDataDBTable.COLUMN.STARTTIME.name);
                } else {
-                       where = String.format(queryto_withTime,
-                                       FunctionDataDBTable.COLUMN.STARTTIME.name, end,
+                       where = String.format(queryto_withTime, FunctionDataDBTable.COLUMN.STARTTIME.name, end,
                                        FunctionDataDBTable.COLUMN.ENDTIME.name, start,
                                        FunctionDataDBTable.COLUMN.STARTTIME.name);
                }
 
                DBTable table = KernelDataManager.getInstance().getFunctionDataTable();
 
-               return table.selectData(null, where);
+               return table.selectAllColumnData(where);
        }
 
        public List<List<Object>> getFuncnameFromDB(int tid) {
-               String where = String.format(queryto_withTid,
-                               FunctionDataDBTable.COLUMN.TID.name, tid,
+               String where = String.format(queryto_withTid, FunctionDataDBTable.COLUMN.TID.name, tid,
                                FunctionDataDBTable.COLUMN.FUNCID.name);
 
                List<String> selectColumn = new ArrayList<String>();
@@ -350,13 +344,26 @@ public class KernelDataMaker {
 
                DBTable table = KernelDataManager.getInstance().getFunctionDataTable();
 
-               return table.selectData(selectColumn, where);
+               return table.selectData(selectColumn, where, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Integer.valueOf(rs.getInt(1)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+
+                               return row;
+                       }
+               });
        }
 
        public List<KernelDataPerThread> getThreadData() {
                return threads;
        }
-       
+
        public void addThreadData(KernelDataPerThread data) {
                threads.add(data);
        }
index f9deaae..5fb8090 100644 (file)
@@ -27,7 +27,9 @@
 package org.tizen.dynamicanalyzer.ui.summary.failed;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.common.DALimit;
@@ -37,9 +39,9 @@ import org.tizen.dynamicanalyzer.database.DBTable;
 
 public class FailedApiDataDBTable extends DBTable {
        private static final String TABLENAME = "FailedAPIData";
-       
+
        public static final String SEQUENCE_NUMBER = DBConstants.DBCOLUMN_SEQUENCE_NUMBER;
-       public static final String API_ID = "API_ID";   
+       public static final String API_ID = "API_ID";
        public static final String PROCESS_ID = DBConstants.DBCOLUMN_PROCESS_ID;
        public static final String START_TIME = DBConstants.DBCOLUMN_START_TIME;
        public static final String ARGUMENT = DBConstants.DBCOLUMN_ARGUMENT;
@@ -48,7 +50,7 @@ public class FailedApiDataDBTable extends DBTable {
        public static final String CALLER_PC_ADDRESS = DBConstants.DBCOLUMN_CALLER_PC_ADDRESS;
        public static final String CALLER_LIBRARY_NAME = DBConstants.DBCOLUMN_CALLER_LIBRARY_NAME;
        public static final String MESSAGE_ID = "MESSAGE_ID";
-       
+
        public final static int COLUMN_INDEX_SEQUENCE_NUMBER = 0;
        public final static int COLUMN_INDEX_API_ID = 1;
        public final static int COLUMN_INDEX_PROCESS_ID = 2;
@@ -84,7 +86,7 @@ public class FailedApiDataDBTable extends DBTable {
        @Override
        public boolean prepare(PreparedStatement prep, List<Object> rowData) {
                boolean isPrepared = true;
-               
+
                int columnsize = getColumnSize();
                if (columnsize != rowData.size()) {
                        isPrepared = false;
@@ -105,7 +107,29 @@ public class FailedApiDataDBTable extends DBTable {
                                isPrepared = false;
                        }
                }
-               
+
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Integer.valueOf(rs.getInt(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+                       row.add(Long.valueOf(rs.getLong(4)));
+                       row.add(rs.getString(5));
+                       row.add(rs.getString(6));
+                       row.add(Long.valueOf(rs.getLong(7)));
+                       row.add(Long.valueOf(rs.getLong(8)));
+                       row.add(rs.getString(9));
+                       row.add(Integer.valueOf(rs.getInt(10)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+
+               return row;
+       }
 }
index 2893707..96a8336 100644 (file)
 
 package org.tizen.dynamicanalyzer.ui.summary.failed;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.database.DBTable;
+import org.tizen.dynamicanalyzer.database.IResultSet;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData;
 import org.tizen.dynamicanalyzer.ui.summary.SummaryDataManager;
@@ -131,7 +134,29 @@ public class FailedApiDataMaker {
                columns.add(FailedApiDataDBTable.CALLER_LIBRARY_NAME);
                columns.add(FailedApiDataDBTable.MESSAGE_ID);
                
-               return table.selectData(columns, null);
+               return table.selectData(columns, null, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Integer.valueOf(rs.getInt(1)));
+                                       row.add(Integer.valueOf(rs.getInt(2)));
+                                       row.add(Integer.valueOf(rs.getInt(3)));
+                                       row.add(Long.valueOf(rs.getLong(4)));
+                                       row.add(rs.getString(5));
+                                       row.add(rs.getString(6));
+                                       row.add(Long.valueOf(rs.getLong(7)));
+                                       row.add(Long.valueOf(rs.getLong(8)));
+                                       row.add(rs.getString(9));
+                                       row.add(Integer.valueOf(rs.getInt(10)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+                               
+                               return row;
+                       }
+               });
        }
        
        public List<List<Object>> getFailedApiDataFromDBForRange(Long startTime, Long endTime) {
@@ -151,6 +176,28 @@ public class FailedApiDataMaker {
                columns.add(FailedApiDataDBTable.CALLER_LIBRARY_NAME);
                columns.add(FailedApiDataDBTable.MESSAGE_ID);
                
-               return table.selectData(columns, where);
+               return table.selectData(columns, where, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Integer.valueOf(rs.getInt(1)));
+                                       row.add(Integer.valueOf(rs.getInt(2)));
+                                       row.add(Integer.valueOf(rs.getInt(3)));
+                                       row.add(Long.valueOf(rs.getLong(4)));
+                                       row.add(rs.getString(5));
+                                       row.add(rs.getString(6));
+                                       row.add(Long.valueOf(rs.getLong(7)));
+                                       row.add(Long.valueOf(rs.getLong(8)));
+                                       row.add(rs.getString(9));
+                                       row.add(Integer.valueOf(rs.getInt(10)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+                               
+                               return row;
+                       }
+               });
        }
 }
index be13cdc..e746549 100644 (file)
@@ -26,6 +26,8 @@
 
 package org.tizen.dynamicanalyzer.ui.summary.leaks;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -38,6 +40,7 @@ import org.tizen.dynamicanalyzer.common.DALimit;
 import org.tizen.dynamicanalyzer.common.Global;
 import org.tizen.dynamicanalyzer.common.path.PathManager;
 import org.tizen.dynamicanalyzer.database.DBTable;
+import org.tizen.dynamicanalyzer.database.IResultSet;
 import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
 import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
 import org.tizen.dynamicanalyzer.resources.ImageResources;
@@ -72,7 +75,8 @@ public class LeakDataMaker {
                int size = inputs.size();
                for (int i = 0; i < size; i++) {
                        LogData input = (LogData) inputs.get(i);
-                       if (input == null)      continue;
+                       if (input == null)
+                               continue;
                        if (isHeapMemoryOverflow())
                                break;
                        switch (leakDetector.runLeakDetect(input)) {
@@ -106,13 +110,13 @@ public class LeakDataMaker {
                        FreeDataDBInserter.startThread();
                }
        }
-       
+
        public void makeData() {
                HashMap<Integer, CurrentLeakData> leaks = leakDetector.getLeakHash();
                for (Integer key : leaks.keySet()) {
                        makeLeakData(leaks.get(key));
                }
-               
+
                if (leakDataList.size() > 0) {
                        @SuppressWarnings("unchecked")
                        List<List<Object>> lList = (List<List<Object>>) leakDataList.clone();
@@ -137,10 +141,10 @@ public class LeakDataMaker {
                                        dialog.open();
                                }
                        });
-                       
+
                        flag = true;
-               } 
-               
+               }
+
                return flag;
        }
 
@@ -221,15 +225,16 @@ public class LeakDataMaker {
 
                freeDataList.add(dbFreeData);
        }
-       
+
        public void makeLeakData(CurrentLeakData input) {
                ArrayList<Object> dbLeakData = new ArrayList<Object>();
-               
-               if (input == null)      return;
+
+               if (input == null)
+                       return;
                dbLeakData.add(Integer.valueOf(input.getSequenceNumber()));
                dbLeakData.add(Long.valueOf(input.getAllocatedValue()));
                dbLeakData.add(Integer.valueOf(input.getPid()));
-               
+
                leakDataList.add(dbLeakData);
        }
 
@@ -255,22 +260,60 @@ public class LeakDataMaker {
                columns.add(MemoryAllocationDataDBTable.COLUMN.CALLER_LIBRARY_NAME.name);
                columns.add(MemoryAllocationDataDBTable.COLUMN.MESSAGE_ID.name);
 
-               return table.selectData(columns, where);
+               return table.selectData(columns, where, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Integer.valueOf(rs.getInt(1)));
+                                       row.add(Integer.valueOf(rs.getInt(2)));
+                                       row.add(Integer.valueOf(rs.getInt(3)));
+                                       row.add(Integer.valueOf(rs.getInt(4)));
+                                       row.add(Long.valueOf(rs.getLong(5)));
+                                       row.add(Long.valueOf(rs.getLong(6)));
+                                       row.add(Long.valueOf(rs.getLong(7)));
+                                       row.add(rs.getString(8));
+                                       row.add(rs.getString(9));
+                                       row.add(rs.getString(10));
+                                       row.add(Integer.valueOf(rs.getInt(11)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+
+                               return row;
+                       }
+               });
        }
-       
+
        public List<List<Object>> getLeakDataFromDB() {
                DBTable table = SummaryDataManager.getInstance().getLeakDataDBTable();
                List<String> columns = new ArrayList<String>();
                columns.add(LeakDataDBTable.COLUMN.SEQUENCE_NUMBER.name);
                columns.add(LeakDataDBTable.COLUMN.ALLOCATED_VALUE.name);
                columns.add(LeakDataDBTable.COLUMN.PROCESS_ID.name);
-               
-               return table.selectData(columns, null);
+
+               return table.selectData(columns, null, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Integer.valueOf(rs.getInt(1)));
+                                       row.add(Long.valueOf(rs.getLong(2)));
+                                       row.add(Integer.valueOf(rs.getInt(3)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+
+                               return row;
+                       }
+               });
        }
 
        public List<List<Object>> getLeakDataWithSeq(List<Integer> leakSequenceNumbers) {
-               String where = String
-                               .format(query_withSeqList, MemoryAllocationDataDBTable.COLUMN.SEQUENCE_NUMBER.name);
+               String where = String.format(query_withSeqList,
+                               MemoryAllocationDataDBTable.COLUMN.SEQUENCE_NUMBER.name);
                int size = leakSequenceNumbers.size();
                for (int i = 0; i < size - 1; i++) {
                        where += String.valueOf(leakSequenceNumbers.get(i)) + ", ";
@@ -291,13 +334,36 @@ public class LeakDataMaker {
                columns.add(MemoryAllocationDataDBTable.COLUMN.CALLER_LIBRARY_NAME.name);
                columns.add(MemoryAllocationDataDBTable.COLUMN.MESSAGE_ID.name);
 
-               return table.selectData(columns, where);
+               return table.selectData(columns, where, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Integer.valueOf(rs.getInt(1)));
+                                       row.add(Integer.valueOf(rs.getInt(2)));
+                                       row.add(Integer.valueOf(rs.getInt(3)));
+                                       row.add(Integer.valueOf(rs.getInt(4)));
+                                       row.add(Long.valueOf(rs.getLong(5)));
+                                       row.add(Long.valueOf(rs.getLong(6)));
+                                       row.add(Long.valueOf(rs.getLong(7)));
+                                       row.add(rs.getString(8));
+                                       row.add(rs.getString(9));
+                                       row.add(rs.getString(10));
+                                       row.add(Integer.valueOf(rs.getInt(11)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+
+                               return row;
+                       }
+               });
        }
 
        public List<List<Object>> getLeakDataForRange() {
                return rangeDataList;
        }
-       
+
        public void clearLeakDataForRange() {
                if (!rangeDataList.isEmpty())
                        rangeDataList.clear();
@@ -305,7 +371,7 @@ public class LeakDataMaker {
 
        public void makeLeakDataForRange(Long startTime, Long endTime) {
                clearLeakDataForRange();
-               
+
                int[] pids = Global.getProject().getProcessIDs();
                for (int i = 0; i < pids.length; i++) {
                        List<List<Object>> allocDataList = getAllocationDataWithPidFromDBForRange(startTime,
@@ -376,7 +442,30 @@ public class LeakDataMaker {
                columns.add(MemoryAllocationDataDBTable.COLUMN.CALLER_LIBRARY_NAME.name);
                columns.add(MemoryAllocationDataDBTable.COLUMN.MESSAGE_ID.name);
 
-               return table.selectData(columns, where);
+               return table.selectData(columns, where, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Integer.valueOf(rs.getInt(1)));
+                                       row.add(Integer.valueOf(rs.getInt(2)));
+                                       row.add(Integer.valueOf(rs.getInt(3)));
+                                       row.add(Integer.valueOf(rs.getInt(4)));
+                                       row.add(Long.valueOf(rs.getLong(5)));
+                                       row.add(Long.valueOf(rs.getLong(6)));
+                                       row.add(Long.valueOf(rs.getLong(7)));
+                                       row.add(rs.getString(8));
+                                       row.add(rs.getString(9));
+                                       row.add(rs.getString(10));
+                                       row.add(Integer.valueOf(rs.getInt(11)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+
+                               return row;
+                       }
+               });
        }
 
        private List<List<Object>> getFreeDataWithPidFromDBForRange(Long startTime, Long endTime,
@@ -391,6 +480,21 @@ public class LeakDataMaker {
                columns.add(FreeDataDBTable.COLUMN.FREE_TIME.name);
                columns.add(FreeDataDBTable.COLUMN.ALLOCATED_ADDRESS.name);
 
-               return table.selectData(columns, where);
+               return table.selectData(columns, where, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Integer.valueOf(rs.getInt(1)));
+                                       row.add(Long.valueOf(rs.getLong(2)));
+                                       row.add(Long.valueOf(rs.getLong(3)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+
+                               return row;
+                       }
+               });
        }
 }
index 1737375..597e369 100644 (file)
@@ -27,7 +27,9 @@
 package org.tizen.dynamicanalyzer.ui.summary.profiling;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
@@ -80,7 +82,7 @@ public class FunctionSampleDBTable extends DBTable {
        }
 
        public List<List<Object>> getFunctionSampleFromDB() {
-               return selectData(null, CommonConstants.EMPTY);
+               return selectAllColumnData(null);
        }       
        
        @Override
@@ -106,4 +108,22 @@ public class FunctionSampleDBTable extends DBTable {
                
                return isPrepared;
        }
+       
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Long.valueOf(rs.getLong(1)));
+                       row.add(Long.valueOf(rs.getLong(2)));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+                       row.add(Integer.valueOf(rs.getInt(4)));
+                       row.add(Long.valueOf(rs.getLong(5)));
+                       row.add(Byte.valueOf(rs.getByte(6)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index 4298edc..b82686d 100644 (file)
 package org.tizen.dynamicanalyzer.ui.summary.profiling;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
-import org.tizen.dynamicanalyzer.constant.CommonConstants;
 import org.tizen.dynamicanalyzer.database.DBColumn;
 import org.tizen.dynamicanalyzer.database.DBConstants;
 import org.tizen.dynamicanalyzer.database.DBTable;
@@ -64,7 +65,7 @@ public class ProfilingChildDataDBTable extends DBTable {
                }
 
        public List<List<Object>> getProfilingChildDataFromDB() {
-               return selectData(null, CommonConstants.EMPTY);
+               return selectAllColumnData(null);
        }
        
        @Override
@@ -87,4 +88,19 @@ public class ProfilingChildDataDBTable extends DBTable {
                
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Integer.valueOf(rs.getInt(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index e3af65e..9dee30f 100644 (file)
 package org.tizen.dynamicanalyzer.ui.summary.profiling;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
-import org.tizen.dynamicanalyzer.constant.CommonConstants;
 import org.tizen.dynamicanalyzer.database.DBColumn;
 import org.tizen.dynamicanalyzer.database.DBConstants;
 import org.tizen.dynamicanalyzer.database.DBTable;
@@ -78,7 +79,7 @@ public class ProfilingDataDBTable extends DBTable {
        }
 
        public List<List<Object>> getProfilingDataFromDB() {
-               return selectData(null, CommonConstants.EMPTY);
+               return selectAllColumnData(null);
        }
        
        @Override
@@ -108,4 +109,26 @@ public class ProfilingDataDBTable extends DBTable {
                
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Integer.valueOf(rs.getInt(1)));
+                       row.add(Byte.valueOf(rs.getByte(2)));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+                       row.add(Integer.valueOf(rs.getInt(4)));
+                       row.add(Integer.valueOf(rs.getInt(5)));
+                       row.add(Integer.valueOf(rs.getInt(6)));
+                       row.add(Integer.valueOf(rs.getInt(7)));
+                       row.add(Integer.valueOf(rs.getInt(8)));
+                       row.add(Long.valueOf(rs.getLong(9)));
+                       row.add(Long.valueOf(rs.getLong(10)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index 2770426..7aa2e85 100644 (file)
 
 package org.tizen.dynamicanalyzer.ui.summary.warning;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.database.DBTable;
+import org.tizen.dynamicanalyzer.database.IResultSet;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.ProbeCommonData;
 import org.tizen.dynamicanalyzer.ui.summary.SummaryDataManager;
@@ -119,7 +122,21 @@ public class WarningDataMaker {
                
                DBTable table = SummaryDataManager.getInstance().getWarningDataDBTable();
                
-               List<List<Object>> warningList = table.selectData(columns, where);
+               List<List<Object>> warningList = table.selectData(columns, where, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(rs.getString(1));
+                                       row.add(Integer.valueOf(rs.getInt(2)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+                               
+                               return row;
+                       }
+               });
                if (warningList != null) {
                        if (warningList.size() > 0) {   // same warning data is existed
                                return true;
@@ -149,7 +166,28 @@ public class WarningDataMaker {
                columns.add(WarningDataDBTable.CALLER_PC_ADDRESS);
                columns.add(WarningDataDBTable.CALLER_LIBRARY_NAME);
                
-               return table.selectData(columns, null);
+               return table.selectData(columns, null, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Integer.valueOf(rs.getInt(1)));
+                                       row.add(Integer.valueOf(rs.getInt(2)));
+                                       row.add(Integer.valueOf(rs.getInt(3)));
+                                       row.add(Integer.valueOf(rs.getInt(4)));
+                                       row.add(Long.valueOf(rs.getLong(5)));
+                                       row.add(Integer.valueOf(rs.getInt(6)));
+                                       row.add(rs.getString(7));
+                                       row.add(Long.valueOf(rs.getLong(8)));
+                                       row.add(rs.getString(9));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+                               
+                               return row;
+                       }
+               });
        }
        
        public String getFullWarningMessageByLogSeq(int seq) {
@@ -159,7 +197,21 @@ public class WarningDataMaker {
                columns.add(WarningDataDBTable.WARNING_CASE);
                
                DBTable table = SummaryDataManager.getInstance().getWarningDataDBTable();
-               List<List<Object>> result = table.selectData(columns, where);
+               List<List<Object>> result = table.selectData(columns, where, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(rs.getString(1));
+                                       row.add(Integer.valueOf(rs.getInt(2)));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+                               
+                               return row;
+                       }
+               });
                
                String message = null;
                if (result != null) {
@@ -188,6 +240,27 @@ public class WarningDataMaker {
                columns.add(WarningDataDBTable.CALLER_PC_ADDRESS);
                columns.add(WarningDataDBTable.CALLER_LIBRARY_NAME);
                
-               return table.selectData(columns, where);
+               return table.selectData(columns, where, new IResultSet() {
+                       @Override
+                       public List<Object> extractDataFromResultSet(ResultSet rs) {
+                               List<Object> row = new ArrayList<Object>();
+                               try {
+                                       row.add(Integer.valueOf(rs.getInt(1)));
+                                       row.add(Integer.valueOf(rs.getInt(2)));
+                                       row.add(Integer.valueOf(rs.getInt(3)));
+                                       row.add(Integer.valueOf(rs.getInt(4)));
+                                       row.add(Long.valueOf(rs.getLong(5)));
+                                       row.add(Integer.valueOf(rs.getInt(6)));
+                                       row.add(rs.getString(7));
+                                       row.add(Long.valueOf(rs.getLong(8)));
+                                       row.add(rs.getString(9));
+                               } catch (SQLException e) {
+                                       e.printStackTrace();
+                                       return null;
+                               }
+                               
+                               return row;
+                       }
+               });
        }
 }
index 08717a1..c4aebaf 100644 (file)
@@ -27,7 +27,9 @@
 package org.tizen.dynamicanalyzer.ui.timeline;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.database.DBColumn;
@@ -79,4 +81,19 @@ public class CustomDataDBTable extends DBTable {
 
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Long.valueOf(rs.getLong(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(Float.valueOf(rs.getFloat(3)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
\ No newline at end of file
index 6d157bb..cda1a81 100644 (file)
@@ -27,7 +27,9 @@
 package org.tizen.dynamicanalyzer.ui.timeline;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.database.DBColumn;
@@ -155,4 +157,36 @@ public class SystemDataDBTable extends DBTable {
                }
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Long.valueOf(rs.getLong(1)));
+                       row.add(Float.valueOf(rs.getFloat(2)));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+                       row.add(Integer.valueOf(rs.getInt(4)));
+                       row.add(Long.valueOf(rs.getLong(5)));
+                       row.add(Long.valueOf(rs.getLong(6)));
+                       row.add(Long.valueOf(rs.getLong(7)));
+                       row.add(Long.valueOf(rs.getLong(8)));
+                       row.add(Long.valueOf(rs.getLong(9)));
+                       row.add(Long.valueOf(rs.getLong(10)));
+                       row.add(Long.valueOf(rs.getLong(11)));
+                       row.add(Long.valueOf(rs.getLong(12)));
+                       row.add(Long.valueOf(rs.getLong(13)));
+                       row.add(getArrayFromResultSet(rs, 14, Long.valueOf(0)));
+                       row.add(getArrayFromResultSet(rs, 15, Long.valueOf(0)));
+                       row.add(getArrayFromResultSet(rs, 16, Float.valueOf(0)));
+                       row.add(getArrayFromResultSet(rs, 17, Float.valueOf(0)));
+                       row.add(getArrayFromResultSet(rs, 18, Integer.valueOf(0)));
+                       row.add(getArrayFromResultSet(rs, 19, Float.valueOf(0)));
+                       row.add(getArrayFromResultSet(rs, 20, Integer.valueOf(0)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+
+               return row;
+       }
 }
index b9b1da9..279a8cc 100644 (file)
@@ -27,7 +27,9 @@
 package org.tizen.dynamicanalyzer.ui.timeline;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.database.DBColumn;
@@ -108,7 +110,7 @@ public class TargetProcessDBTable extends DBTable {
                                prep.setLong(++index, (Long) (rowData.get(COLUMN.MEMORY_RESIDENT.ordinal())));
                                prep.setLong(++index, (Long) (rowData.get(COLUMN.MEMORY_SHARED.ordinal())));
                                prep.setLong(++index, (Long) (rowData.get(COLUMN.MEMORY_PSS.ordinal())));
-                               prep.setLong(++index, (Integer) (rowData.get(COLUMN.THREAD_COUNT.ordinal())));
+                               prep.setInt(++index, (Integer) (rowData.get(COLUMN.THREAD_COUNT.ordinal())));
                                prep.setLong(++index,
                                                (Long) (rowData.get(COLUMN.HEAP_ALLOCATION_TOTAL_BYTE.ordinal())));
                                setArrayToPreparedStatement(COLUMN.HEAP_ALLOCATION_NAME.ordinal(),
@@ -127,4 +129,29 @@ public class TargetProcessDBTable extends DBTable {
 
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Long.valueOf(rs.getLong(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(Float.valueOf(rs.getFloat(3)));
+                       row.add(Long.valueOf(rs.getLong(4)));
+                       row.add(Long.valueOf(rs.getLong(5)));
+                       row.add(Long.valueOf(rs.getLong(6)));
+                       row.add(Long.valueOf(rs.getLong(7)));
+                       row.add(Integer.valueOf(rs.getInt(8)));
+                       row.add(Long.valueOf(rs.getLong(9)));
+                       row.add(getArrayFromResultSet(rs, 10, String.valueOf(0)));
+                       row.add(getArrayFromResultSet(rs, 11, Long.valueOf(0)));
+                       row.add(getArrayFromResultSet(rs, 12, Integer.valueOf(0)));
+                       row.add(getArrayFromResultSet(rs, 13, Float.valueOf(0)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index 7387a10..18526e3 100644 (file)
@@ -27,7 +27,9 @@
 package org.tizen.dynamicanalyzer.ui.timeline;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.database.DBColumn;
@@ -97,4 +99,23 @@ public class UIEventDBTable extends DBTable {
 
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Long.valueOf(rs.getLong(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+                       row.add(Integer.valueOf(rs.getInt(4)));
+                       row.add(Integer.valueOf(rs.getInt(5)));
+                       row.add(rs.getString(6));
+                       row.add(Integer.valueOf(rs.getInt(7)));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index 51104b4..05a24c8 100644 (file)
@@ -27,7 +27,9 @@
 package org.tizen.dynamicanalyzer.ui.timeline.calltrace;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.common.DALimit;
@@ -94,7 +96,7 @@ public class FunctionEntryDBTable extends DBTable {
        }
 
        public List<List<Object>> getFunctionEntryFromDB() {
-               return selectData(null, CommonConstants.EMPTY);
+               return selectAllColumnData(null);
        }
        
        @Override
@@ -128,4 +130,26 @@ public class FunctionEntryDBTable extends DBTable {
                
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Long.valueOf(rs.getLong(1)));
+                       row.add(Integer.valueOf(rs.getInt(2)));
+                       row.add(Integer.valueOf(rs.getInt(3)));
+                       row.add(Byte.valueOf(rs.getByte(4)));
+                       row.add(Integer.valueOf(rs.getInt(5)));
+                       row.add(Integer.valueOf(rs.getInt(6)));
+                       row.add(Long.valueOf(rs.getLong(7)));
+                       row.add(Long.valueOf(rs.getLong(8)));
+                       row.add(Long.valueOf(rs.getLong(9)));
+                       row.add(rs.getString(10));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index 9aadaf0..4407dd2 100644 (file)
@@ -27,7 +27,9 @@
 package org.tizen.dynamicanalyzer.ui.timeline.calltrace;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
@@ -85,7 +87,7 @@ public class FunctionExitDBTable extends DBTable {
        }
 
        public List<List<Object>> getFunctionExitFromDB() {
-               return selectData(null, CommonConstants.EMPTY);
+               return selectAllColumnData(null);
        }
        
        @Override
@@ -112,4 +114,20 @@ public class FunctionExitDBTable extends DBTable {
                
                return isPrepared;
        }
+
+       @Override
+       public List<Object> extractDataFromResultSet(ResultSet rs) {
+               List<Object> row = new ArrayList<Object>();
+               try {
+                       row.add(Long.valueOf(rs.getLong(1)));
+                       row.add(Long.valueOf(rs.getLong(2)));
+                       row.add(Long.valueOf(rs.getLong(3)));
+                       row.add(rs.getString(4));
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               
+               return row;
+       }
 }
index e69bc00..31a1fc9 100644 (file)
@@ -676,7 +676,7 @@ public class TimelineChartManager extends PageDataManager implements IDAChartSer
        public List<List<Object>> getSystemDataFromDB(long start, long end) {
                String where = "where TIME BETWEEN " + start + " AND " + end + " ORDER BY "
                                + SystemDataDBTable.TIME;
-               List<List<Object>> result = systemDataTable.selectData(null, where);
+               List<List<Object>> result = systemDataTable.selectAllColumnData(where);
 
                if (result != null) {
                        return result;
@@ -688,11 +688,11 @@ public class TimelineChartManager extends PageDataManager implements IDAChartSer
        public List<Object> getSystemDataFromDB(long time) {
                String where = "where TIME = (SELECT MAX(TIME) FROM TIMELINE_SYSTEM_DATA WHERE TIME <= "
                                + time + ")";
-               List<List<Object>> result = systemDataTable.selectData(null, where);
+               List<List<Object>> result = systemDataTable.selectAllColumnData(where);
 
                if (result == null || result.isEmpty()) {
                        where = "where TIME = (SELECT MIN(time) FROM TIMELINE_SYSTEM_DATA)";
-                       result = systemDataTable.selectData(null, where);
+                       result = systemDataTable.selectAllColumnData(where);
                        if (result == null || result.isEmpty()) {
                                return new ArrayList<Object>();
                        } else {
@@ -706,7 +706,7 @@ public class TimelineChartManager extends PageDataManager implements IDAChartSer
        public List<List<Object>> getUIEventDataFromDB(long start, long end) {
                String where = "where TIME BETWEEN " + start + " AND " + end + " ORDER BY "
                                + UIEventDBTable.TIME;
-               List<List<Object>> result = uiEventDBTable.selectData(null, where);
+               List<List<Object>> result = uiEventDBTable.selectAllColumnData(where);
 
                if (result != null) {
                        return result;
@@ -719,7 +719,7 @@ public class TimelineChartManager extends PageDataManager implements IDAChartSer
                String where = "where TIME BETWEEN " + start + " AND " + end + " ORDER BY "
                                + ScreenShotDBTable.TIME;
                List<List<Object>> result = ScreenshotDataManager.getInstance().getScreenShotTable()
-                               .selectData(null, where);
+                               .selectAllColumnData(where);
 
                if (result != null) {
                        return result;
@@ -731,7 +731,7 @@ public class TimelineChartManager extends PageDataManager implements IDAChartSer
        public List<List<Object>> getCustomDataFromDB(long start, long end) {
                String where = "where TIME BETWEEN " + start + " AND " + end + " ORDER BY "
                                + CustomDataDBTable.TIME;
-               List<List<Object>> result = customDataDBTable.selectData(null, where);
+               List<List<Object>> result = customDataDBTable.selectAllColumnData(where);
 
                if (result != null) {
                        return result;
@@ -745,7 +745,7 @@ public class TimelineChartManager extends PageDataManager implements IDAChartSer
 
                String where = "where TIME BETWEEN " + start + " AND " + end + " ORDER BY "
                                + TargetProcessDBTable.TIME;
-               List<List<Object>> queryResult = targetProcessDBTable.selectData(null, where);
+               List<List<Object>> queryResult = targetProcessDBTable.selectAllColumnData(where);
                if (queryResult == null) {
                        return processedResult;
                }