File: chaged db select query module 84/28084/2
authorhyeran74.kim <hyeran74.kim@samsung.com>
Fri, 26 Sep 2014 01:19:49 +0000 (10:19 +0900)
committerhyeran74.kim <hyeran74.kim@samsung.com>
Tue, 30 Sep 2014 08:13:42 +0000 (17:13 +0900)
Change-Id: Ifd3ff6df95556bcc447fbce718a58e713155d4a5
Signed-off-by: hyeran74.kim <hyeran74.kim@samsung.com>
13 files changed:
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListTable.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileApiListView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChart.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartBoard.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileChartView.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/FileDetailInfoView.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/FileDataManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/model/FileAccess.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/model/FileEvent.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/file/model/FileStatus.java

index 3eac296..fda48e9 100644 (file)
@@ -26,6 +26,8 @@
 
 package org.tizen.dynamicanalyzer.ui.file;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -33,24 +35,35 @@ import java.util.List;
 import org.eclipse.nebula.widgets.grid.GridItem;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.widgets.Composite;
+import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
 import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.common.DASelectionData;
 import org.tizen.dynamicanalyzer.common.Global;
 import org.tizen.dynamicanalyzer.constant.CommonConstants;
+import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
 import org.tizen.dynamicanalyzer.error.ErrorCodeManager;
 import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
 import org.tizen.dynamicanalyzer.model.TableInput;
+import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.swap.model.data.FileData;
+import org.tizen.dynamicanalyzer.swap.model.data.LogData;
+import org.tizen.dynamicanalyzer.ui.file.data.FileApiDB;
+import org.tizen.dynamicanalyzer.ui.file.data.FileApiDB.COLUMN;
 import org.tizen.dynamicanalyzer.ui.file.manager.FileDataManager;
 import org.tizen.dynamicanalyzer.ui.file.model.FileEvent;
+import org.tizen.dynamicanalyzer.ui.file.model.FileSelectedData;
 import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;
 import org.tizen.dynamicanalyzer.ui.widgets.table.DAApiListTableComposite;
 import org.tizen.dynamicanalyzer.ui.widgets.table.DATableDataFormat;
 import org.tizen.dynamicanalyzer.utils.Formatter;
+import org.tizen.dynamicanalyzer.widgets.chart.DAChartSeriesItem;
 
 
 public class FileApiListTable extends DAApiListTableComposite {
+       private FileDataManager fileDataManager = FileDataManager.getInstance();
+       
        public FileApiListTable(Composite parent, int compStyle, int tableStyle) {
                super(parent, compStyle, tableStyle);
                table.addSelectionListener(new SelectionListener() {
@@ -102,118 +115,141 @@ public class FileApiListTable extends DAApiListTableComposite {
                long rangeEndTime = view.getRangeEndTime();
                
                HashMap<String, Integer> findStartAPITableIndexHashMap = new HashMap<String, Integer>();
+               HashMap<Integer, Long> findStartTimeHashMap = new HashMap<Integer, Long>();
                List<Integer> removeTableIndex = new ArrayList<Integer>();
                List<TableInput> input = new ArrayList<TableInput>();
                
-               List<FileEvent> contents = FileDataManager.getInstance().getSelectedTableAPIList();
-               if(contents == null) {
-                       return null;
-               }
-               for (int i = 0; i < contents.size(); i++) {
-                       FileEvent contentTemp = contents.get(i);
-                       List<String> contentText = new ArrayList<String>();
-                       List<String> contentData = new ArrayList<String>();
+               FileSelectedData selectedData = fileDataManager.getSelectedData();
+               ResultSet rs = fileDataManager.getApiDB().selectAPI(
+                               selectedData.getFilePath(), selectedData.getPid(),
+                               selectedData.getTid(), selectedData.isParentChart());
+               if (rs != null) {
+                       try {
+                               int i = -1;
+                               while (rs.next()) {
+                                       i++;
+                                       
+                                       List<String> contentText = new ArrayList<String>();
+                                       List<String> contentData = new ArrayList<String>();
 
-                       Integer startLogIndex = 0;
-                       int fdApiType = contentTemp.getFdApiType();
+                                       Integer startLogIndex = 0;
+                                       int seq = rs.getInt(FileApiDB.COLUMN.SEQ.index );
+                                       String filePath = rs.getString(FileApiDB.COLUMN.FILE_PATH.index );
+                                       int pid = rs.getInt(FileApiDB.COLUMN.PID.index);
+                                       int tid = rs.getInt(FileApiDB.COLUMN.TID.index);
+                                       long fd = rs.getLong(FileApiDB.COLUMN.FD.index);
+                                       int fdApiType = rs.getInt(FileApiDB.COLUMN.API_TYPE.index);
+                                       long time = rs.getLong(FileApiDB.COLUMN.EVENT_TIME.index);
+                                       int apiId = rs.getInt(FileApiDB.COLUMN.API_ID.index);
+                                       long errno = rs.getLong(FileApiDB.COLUMN.ERRNO.index);
+                                       String returns = rs.getString(COLUMN.RETURN_VALUE.index);
+                                       String args = rs.getString(FileApiDB.COLUMN.ARGS.index);
+                                       boolean isTarget =rs.getBoolean(COLUMN.TARGET.index);
+                                       long fileSize = rs.getLong(COLUMN.FILE_SIZE.index);
+                                       long size = rs.getLong(COLUMN.SIZE.index);
+                                       
+                                       FileEvent fileEvent = new FileEvent(seq, filePath, pid,
+                                                       tid, fd, fdApiType, apiId, time, fileSize, size,
+                                                       args, returns, errno, isTarget);
+                                       
+                                       String apiName = Global.getFunctionName(apiId);
+                                       long startTime = 0;
+                                       
+                                       contentText.add(0, Integer.toString(seq));
+                                       contentData.add(Integer.toString(seq));
+                                       
+                                       boolean isExistStartTimeLog = false;
+                                       if (fdApiType == LogCenterConstants.FD_API_TYPE_READ_START
+                                                       || fdApiType == LogCenterConstants.FD_API_TYPE_WRITE_START
+                                                       ||  fdApiType == LogCenterConstants.FD_API_TYPE_LOCK_START) {
+                                               String keString = apiName + pid + tid + fd;
+                                               findStartAPITableIndexHashMap.put(keString, i);
+                                               findStartTimeHashMap.put(i, time);
+                                       } else if (fdApiType == LogCenterConstants.FD_API_TYPE_READ_END
+                                                       || fdApiType == LogCenterConstants.FD_API_TYPE_WRITE_END
+                                                       ||  fdApiType == LogCenterConstants.FD_API_TYPE_LOCK_END) {
+                                               String keString = apiName + pid + tid + fd;
+                                               startLogIndex = findStartAPITableIndexHashMap.get(keString);
+                                               findStartAPITableIndexHashMap.remove(keString);
+                                               if (null != startLogIndex) {
+                                                       contentText.add(input.get(startLogIndex.intValue())
+                                                                       .getText().get(1)); // start time
+                                                       contentData.add(input.get(startLogIndex.intValue())
+                                                                       .getText().get(1));
 
-                       int seq = contentTemp.getSeq();
-                       contentText.add(0, Integer.toString(seq));
-                       contentData.add(Integer.toString(seq));
-                       long time = contentTemp.getTime();
+                                                       startTime = findStartTimeHashMap.get(startLogIndex);
+                                                       String timeFormat = Formatter
+                                                                       .toTimeFormat(time - startTime);
+                                                       String removeTimeFormat = timeFormat.replace(
+                                                                       "00:", CommonConstants.EMPTY);//$NON-NLS-1$
 
-                       boolean isExistStartTimeLog = false;
-                       if (fdApiType == LogCenterConstants.FD_API_TYPE_READ_START
-                                       || fdApiType == LogCenterConstants.FD_API_TYPE_WRITE_START
-                                       ||  fdApiType == LogCenterConstants.FD_API_TYPE_LOCK_START) {
-                               String keString = contentTemp.getApiName()
-                                               + contentTemp.getPid() + contentTemp.getTid() + contentTemp.getFdValue();
-                               findStartAPITableIndexHashMap.put(keString, i);
+                                                       contentText.add(removeTimeFormat); // elapsed time
+                                                       contentData.add(Long.toString(time - startTime));
+                                                       
+                                                       isExistStartTimeLog = true;
+                                                       removeTableIndex.add(startLogIndex.intValue());
+                                               } else {
+                                                       contentText.add(Formatter.toTimeFormat(time)); // start//
+                                                       contentData.add(Long.toString(time));
+                                                       contentText.add("00.000");//$NON-NLS-1$
+                                                       contentData.add("00.000");//$NON-NLS-1$
+                                               }
+                                       }
 
-                       } else if (fdApiType == LogCenterConstants.FD_API_TYPE_READ_END
-                                       || fdApiType == LogCenterConstants.FD_API_TYPE_WRITE_END
-                                       ||  fdApiType == LogCenterConstants.FD_API_TYPE_LOCK_END) {
-                               String keString = contentTemp.getApiName()
-                                               + contentTemp.getPid() + contentTemp.getTid() + contentTemp.getFdValue();
-                               startLogIndex = findStartAPITableIndexHashMap.get(keString);
-                               findStartAPITableIndexHashMap.remove(keString);
-                               if (null != startLogIndex) {
-                                       contentText.add(input.get(startLogIndex.intValue())
-                                                       .getText().get(1)); // start time
-                                       contentData.add(input.get(startLogIndex.intValue())
-                                                       .getText().get(1));
+                                       if (!isExistStartTimeLog) {
+                                               contentText.add(Formatter.toTimeFormat(time)); // start time
+                                               contentData.add(Long.toString(time));
+                                               contentText.add("00.000");//$NON-NLS-1$ //elapsed time
+                                               contentData.add("00.000");//$NON-NLS-1$                                                         
+                                       }
 
-                                       long startTime = contents.get(startLogIndex.intValue()).getTime();
-                                       String timeFormat = Formatter
-                                                       .toTimeFormat(time - startTime);
-                                       String removeTimeFormat = timeFormat.replace(
-                                                       "00:", CommonConstants.EMPTY);//$NON-NLS-1$
+                                       contentText.add(Integer.toString(pid));
+                                       contentData.add(Integer.toString(pid));
 
-                                       contentText.add(removeTimeFormat); // elapsed time
-                                       contentData.add(Long.toString(time - startTime));
+                                       contentText.add(Integer.toString(tid));
+                                       contentData.add(Integer.toString(tid));
                                        
-                                       isExistStartTimeLog = true;
-                                       removeTableIndex.add(startLogIndex.intValue());
-                               } else {
-                                       contentText.add(Formatter.toTimeFormat(contentTemp
-                                                       .getTime())); // start//
-                                       contentData.add(Long.toString(contentTemp.getTime()));
-                                       contentText.add("00.000");//$NON-NLS-1$
-                                       contentData.add("00.000");//$NON-NLS-1$
-                               }
-                       }
-
-                       if (!isExistStartTimeLog) {
-                               contentText.add(Formatter.toTimeFormat(time)); // start time
-                               contentData.add(Long.toString(time));
-                               contentText.add("00.000");//$NON-NLS-1$                                                 //elapsed time
-                               contentData.add("00.000");//$NON-NLS-1$                                                         
-                       }
+                                       contentText.add(Long.toString(fd));
+                                       contentData.add(Long.toString(fd));
 
-                       contentText.add(Integer.toString(contentTemp.getPid()));
-                       contentData.add(Integer.toString(contentTemp.getPid()));
+                                       contentText.add(apiName);
+                                       contentData.add(apiName);
 
-                       contentText.add(Integer.toString(contentTemp.getTid()));
-                       contentData.add(Integer.toString(contentTemp.getTid()));
-                       
-                       contentText.add(Long.toString(contentTemp.getFdValue()));
-                       contentData.add(Long.toString(contentTemp.getFdValue()));
-
-                       contentText.add(Global.getFunctionName(contentTemp.getApiId()));
-                       contentData.add(Global.getFunctionName(contentTemp.getApiId()));
-
-                       contentText.add(contentTemp.getArgs());
-                       contentData.add(contentTemp.getArgs());
-
-                       contentText.add(contentTemp.getReturn());
-                       contentData.add(contentTemp.getReturn());
+                                       contentText.add(args);
+                                       contentData.add(args);
+                                       
+                                       contentText.add(returns);
+                                       contentData.add(returns);
 
-                       String errMsg = ErrorCodeManager.getInatance()
-                                       .getErrorCode(contentTemp.getErrno()).name();
-                       if (null == errMsg) {
-                               errMsg = "undefined error code"; //$NON-NLS-1$
-                       }
-                       contentText.add(errMsg);
-                       contentData.add(errMsg);
-                       contentText.add(Long.toString(contentTemp.getFileSize()));
-                       contentData.add(Long.toString(contentTemp.getFileSize()));
+                                       String errMsg = ErrorCodeManager.getInatance()
+                                                       .getErrorCode(errno).name();
+                                       if (null == errMsg) {
+                                               errMsg = "undefined error code"; //$NON-NLS-1$
+                                       }
 
-                       DATableDataFormat tableData = new DATableDataFormat(
-                                       contentTemp.getSeq());
-                       tableData.setLogData(contentTemp);
-                       tableData.getData().addAll(contentData);
-                       TableInput tableInput = new TableInput();
-                       tableInput.setText(contentText);
-                       tableInput.setData(tableData);
-                       if (!errMsg.contains("SUCCESS")) {//$NON-NLS-1$
-                               tableInput.setFailed(true);
-                       }
-                       input.add(tableInput);
+                                       // create DATableDataFormat
+                                       DATableDataFormat tableData = new DATableDataFormat(seq);
+                                       tableData.setLogData(fileEvent);
+                                       tableData.getData().addAll(contentData);
+                                       TableInput tableInput = new TableInput();
+                                       tableInput.setText(contentText);
+                                       tableInput.setData(tableData);
+                                       if (!errMsg.contains("SUCCESS")) {//$NON-NLS-1$
+                                               tableInput.setFailed(true);
+                                       }
+                                       input.add(tableInput);
 
-                       if (time >= rangeStartTime && time <= rangeEndTime) {
-                               tableInput.setInRange(true);
+                                       if (time >= rangeStartTime && time <= rangeEndTime) {
+                                               tableInput.setInRange(true);
+                                       }
+                               }
+                       } catch (SQLException e) {
+                               e.printStackTrace();
+                       } finally {
+                               SqlConnectionManager.releaseResultSet(rs);
                        }
                }
+               
                int removeCount = 0;
                for (int index : removeTableIndex) {
                        int removeIndex = index - removeCount;
index 5722dd9..c5fd02e 100644 (file)
@@ -26,6 +26,8 @@
 
 package org.tizen.dynamicanalyzer.ui.file;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.util.List;
 
 import org.eclipse.swt.SWT;
@@ -34,6 +36,7 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
 import org.tizen.dynamicanalyzer.common.DASelectionData;
+import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
 import org.tizen.dynamicanalyzer.nl.FilePageLabels;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.ui.file.manager.FileDataManager;
@@ -145,18 +148,25 @@ public class FileApiListView extends DAViewComposite {
                }
                
                // if new event is put from swap, update table 
-               List<FileEvent> events = manager.getApiDB().selectAPITable(
+               ResultSet rs = manager.getApiDB().selectAPI(
                                selectedData.getFilePath(), selectedData.getPid(),
                                selectedData.getTid(), 
                                selectedData.isParentChart());
-               if(events != null) {
-                       if (tableComp.getTable().getItemCount() > 0
-                                       && events.size() != tableComp.getTable().getItemCount()) {
-                               manager.setSelectedTableAPIList(events);
-                               isUpdate = true;
+               
+               if(rs != null) {
+                       try {
+                               if(rs.next() && tableComp.getTable().getItemCount() > 0) {
+                                       manager.setSelectedData(selectedData);
+                                       isUpdate = true;
+                               }
+                       } catch (SQLException e) {
+                               e.printStackTrace();
+                       } finally {
+                               SqlConnectionManager.releaseResultSet(rs);
                        }
+                       isUpdate = true;
                }
-               
+       
                return isUpdate;
        }
 
@@ -184,12 +194,8 @@ public class FileApiListView extends DAViewComposite {
                                if (null == selectedData) {
                                        return;
                                }
-                               manager.setSelectedTableAPIList(
-                                               manager.getApiDB().
-                                               selectAPITable(selectedData.getFilePath(),
-                                                               selectedData.getPid(), 
-                                                               selectedData.getTid(), 
-                                                               selectedData.isParentChart()));
+                               
+                               manager.setSelectedData(selectedData);
 
                                tableComp.updateTable();
                                tableComp.setSelectionByTime(selectionStartTime,
index 28f726b..20e3825 100644 (file)
 
 package org.tizen.dynamicanalyzer.ui.file;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.eclipse.swt.graphics.Color;
 import org.tizen.dynamicanalyzer.common.Global;
+import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
 import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
 import org.tizen.dynamicanalyzer.nl.FilePageLabels;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
+import org.tizen.dynamicanalyzer.ui.file.data.FileApiDB;
+import org.tizen.dynamicanalyzer.ui.file.manager.FileDataManager;
 import org.tizen.dynamicanalyzer.ui.file.model.FileAccess;
 import org.tizen.dynamicanalyzer.ui.file.model.FileEvent;
 import org.tizen.dynamicanalyzer.ui.file.model.FileStatus;
@@ -60,11 +65,12 @@ public class FileChart {
        private int tid = -1;
        private long fd = -1;
        private long fileSize = 0;
-       //private int parentChartIndex = -1;
        private int chartIndex = -1;
        
        private boolean isTarget = false;
        
+       private FileDataManager fileChartManager = FileDataManager.getInstance();
+       
        public FileChart(String filePath) {
                this.filePath = filePath;
        }
@@ -108,21 +114,25 @@ public class FileChart {
         * Update API series chart
         * @param apiList
         */
-       public void updateApiSeries(List<FileEvent> apiList){
-               for(int i=0; i < apiList.size(); i++) {
-                       FileEvent event = apiList.get(i);
-                       if(!event.getFilePath().equals(this.filePath) || 
-                                       event.getPid() != this.pid ||
-                                       event.getTid() != this.tid) {
-                               continue;
+       public void updateApiSeries(double startTime, double endTime){
+               ResultSet rs = fileChartManager.getApiDB().selectFailedAPI(
+                               startTime, endTime, this.filePath, this.pid, this.tid);
+               if (rs != null) {
+                       try {
+                               while (rs.next()) {
+                                       double time = rs.getLong(1) / TimelineConstants.MEGA_DOUBLE;
+                                       String apiName = Global.getFunctionName(rs.getInt(2));
+                                       Color color = ColorResources.FILE_API_FAILED;
+                                       
+                                       DAChartSeriesItem seriesItem  = new DAChartSeriesItem(time,
+                                                       DAChartSeriesItem.SERIES_AREA_BAR, color, color, apiName);
+                                       accessSeries.addSeriesItem(seriesItem);
+                               }
+                       } catch (SQLException e) {
+                               e.printStackTrace();
+                       } finally {
+                               SqlConnectionManager.releaseResultSet(rs);
                        }
-                       double time = event.getTime() / TimelineConstants.MEGA_DOUBLE;
-                       String apiName = Global.getFunctionName(event.getApiId());
-                       Color color = ColorResources.FILE_API_FAILED;
-                       
-                       DAChartSeriesItem seriesItem  = new DAChartSeriesItem(time,
-                                       DAChartSeriesItem.SERIES_AREA_BAR, color, color, apiName);
-                       accessSeries.addSeriesItem(seriesItem);
                }
                chart.redraw();
        }
index 650d25f..2d86bee 100644 (file)
@@ -48,7 +48,6 @@ import org.tizen.dynamicanalyzer.ui.common.PopupFromSelectionMenuItemClickListen
 import org.tizen.dynamicanalyzer.ui.common.PopupStartMenuItemClickListener;
 import org.tizen.dynamicanalyzer.ui.common.TimelineChartMouseEventListener;
 import org.tizen.dynamicanalyzer.ui.common.TimelineChartMouseTrackAdapter;
-import org.tizen.dynamicanalyzer.ui.file.data.FileApiDB;
 import org.tizen.dynamicanalyzer.ui.file.manager.FileDataMaker;
 import org.tizen.dynamicanalyzer.ui.file.manager.FileDataManager;
 import org.tizen.dynamicanalyzer.ui.file.model.FileAccess;
@@ -72,14 +71,12 @@ public class FileChartBoard extends DAChartBoard {
        private List<FileChart> chartList = new ArrayList<FileChart>();
        private FileDataManager fileChartManager = FileDataManager.getInstance();
        private FileDataMaker dataMaker;
-       private FileApiDB apiDB;
        private int parentChartIndex = -1;
        private Map<HashSet<Object>, int[]> chartIndexMap = new HashMap<HashSet<Object>, int[]>();
        
        public FileChartBoard(Composite parent, String title) {
                super(parent, title);
                dataMaker = fileChartManager.getFileChartDataMaker();
-               apiDB = fileChartManager.getApiDB();
        }
 
        @Override
@@ -268,22 +265,12 @@ public class FileChartBoard extends DAChartBoard {
         */
        private void updateApiSeries() {
                if (chartList.size() > 0) {
-                       /*List<FileEvent> apiList = apiDB.selectAPISeries(
-                                       getVisibleStartTime(), getVisibleEndTime());*/
-                       List<FileEvent> apiList = apiDB.selectFailedAPISeries(
-                                       getVisibleStartTime(), getVisibleEndTime());
-                       if (null == apiList) {
-                               // no file event within the selected time range.
-                               return;
-                       }
                        for (FileChart chart : chartList) {
                                if (chart.isParentChart()) {
                                        continue;
                                }
-                               chart.updateApiSeries(apiList);
+                               chart.updateApiSeries(getVisibleStartTime(), getVisibleEndTime());
                        }
-               } else { // chartList.size() <= 0
-                                       // no data at all
                }
        }
 
@@ -335,16 +322,16 @@ public class FileChartBoard extends DAChartBoard {
                                parentChart.getLastChildChartIndex() });
        }
        
-       public int[] getChartIndex(FileEvent event) {
+       public int[] getChartIndex(String filePath, int pid, int tid) {
                HashSet<Object> set = new HashSet<Object>();
-               set.add(event.getFilePath());
-               set.add(event.getPid());
-               set.add(event.getTid());
+               set.add(filePath);
+               set.add(pid);
+               set.add(tid);
                if(chartIndexMap.containsKey(set)) {
                        return chartIndexMap.get(set);
                }
-               Logger.error("couldn't find index:" + event.getFilePath() + ","
-                               + event.getPid() + "," + event.getTid());
+               Logger.error("couldn't find index:" + filePath + ","
+                               + pid + "," + tid);
                return new int[]{0, 0};
        }
        
index ceb91ce..0ca78d5 100644 (file)
@@ -26,7 +26,8 @@
 
 package org.tizen.dynamicanalyzer.ui.file;
 
-import java.util.List;
+import java.sql.ResultSet;
+import java.sql.SQLException;
 
 import org.eclipse.swt.custom.StackLayout;
 import org.eclipse.swt.layout.FillLayout;
@@ -34,6 +35,7 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.common.DASelectionData;
+import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
 import org.tizen.dynamicanalyzer.nl.FilePageLabels;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.resources.FontResources;
@@ -41,7 +43,6 @@ import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.ui.common.SetRangeMarkerMouseMoveListener;
 import org.tizen.dynamicanalyzer.ui.common.UICommonConstants;
 import org.tizen.dynamicanalyzer.ui.file.manager.FileDataManager;
-import org.tizen.dynamicanalyzer.ui.file.model.FileEvent;
 import org.tizen.dynamicanalyzer.ui.range.RangeDataManager;
 import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineConstants;
 import org.tizen.dynamicanalyzer.ui.timeline.logparser.LifecycleLogParser;
@@ -82,19 +83,13 @@ public class FileChartView extends DAViewComposite {
                        @Override
                        public void handleSelectionEvent(DAChartBoardItem item) {
                                lastSelectedItemForSummary = item;
-                               AnalyzerManager
-                                               .getCurrentPage().updateView(
-                                                               new DASelectionData(
-                                                                               FilePage.chartViewID,
-                                                                               (long) (((DAChartPlotIntervalMarker) fileChartBoard
-                                                                                               .getMarkers()
-                                                                                               .get(UICommonConstants.SELECTION_MARKER_INDEX))
-                                                                                               .getStartVal() * TimelineConstants.MEGA_DOUBLE),
-                                                                               (long) (((DAChartPlotIntervalMarker) fileChartBoard
-                                                                                               .getMarkers()
-                                                                                               .get(UICommonConstants.SELECTION_MARKER_INDEX))
-                                                                                               .getEndVal() * TimelineConstants.MEGA_DOUBLE),
-                                                                               item.getData(), null));
+                               DAChartPlotIntervalMarker intervalMarker = (DAChartPlotIntervalMarker) fileChartBoard
+                                               .getMarkers().get(UICommonConstants.SELECTION_MARKER_INDEX);
+                               long selectiedStartTime = (long) (intervalMarker.getStartVal() * TimelineConstants.MEGA_DOUBLE);
+                               long selectiedEndTime = (long) (intervalMarker.getEndVal() * TimelineConstants.MEGA_DOUBLE);
+                               AnalyzerManager.getCurrentPage().updateView(
+                                                               new DASelectionData(FilePage.chartViewID, 
+                                                                               selectiedStartTime, selectiedEndTime, item.getData(), null));
                        }
                });
 
@@ -168,18 +163,27 @@ public class FileChartView extends DAViewComposite {
                                        LogData ldata = (LogData) obData;
                                        dataTime = ldata.getTime();
                                        int seq = ldata.getSeq();
-                                       FileEvent event = chartManager.getApiDB().selectFileEventBySeq(seq);
-                                       if(event != null) {
-                                               int selectedIndex[] = fileChartBoard.getChartIndex(event);
-                                               fileChartBoard.selectItem(selectedIndex[0], selectedIndex[1]);
-                                               if (null != lastSelectedItemForSummary) {
-                                                       AnalyzerManager.getCurrentPage().updateView(
-                                                                       new DASelectionData(FilePage.chartViewID,
-                                                                                       dataTime, dataTime,
-                                                                                       lastSelectedItemForSummary.getData(),
-                                                                                       null));
+                                       ResultSet rs = chartManager.getApiDB().selectFileEventBySeq(seq);
+                                       if (rs != null) {
+                                               try {
+                                                       if (rs.next()) {
+                                                               int selectedIndex[] = fileChartBoard.getChartIndex(rs.getString(1),
+                                                                               rs.getInt(2), rs.getInt(3));
+                                                               fileChartBoard.selectItem(selectedIndex[0], selectedIndex[1]);
+                                                               if (null != lastSelectedItemForSummary) {
+                                                                       AnalyzerManager.getCurrentPage().updateView(
+                                                                                       new DASelectionData(FilePage.chartViewID,
+                                                                                                       dataTime, dataTime,
+                                                                                                       lastSelectedItemForSummary.getData(),
+                                                                                                       null));
+                                                               }
+                                                       }
+                                               } catch (SQLException e) {
+                                                       e.printStackTrace();
+                                               } finally {
+                                                       SqlConnectionManager.releaseResultSet(rs);
                                                }
-                                       } // else, no need to update
+                                       }
                                }
                        } else {
                                dataTime = selData.getStartTime();
index 342f38c..c630032 100644 (file)
@@ -26,7 +26,8 @@
 
 package org.tizen.dynamicanalyzer.ui.file;
 
-import java.util.List;
+import java.sql.ResultSet;
+import java.sql.SQLException;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.PaintEvent;
@@ -38,13 +39,14 @@ import org.eclipse.swt.widgets.Canvas;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.tizen.dynamicanalyzer.common.DASelectionData;
+import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
 import org.tizen.dynamicanalyzer.logparser.LogCenterConstants;
 import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
 import org.tizen.dynamicanalyzer.nl.FilePageLabels;
 import org.tizen.dynamicanalyzer.resources.ColorResources;
 import org.tizen.dynamicanalyzer.resources.FontResources;
+import org.tizen.dynamicanalyzer.ui.file.data.FileApiDB;
 import org.tizen.dynamicanalyzer.ui.file.manager.FileDataManager;
-import org.tizen.dynamicanalyzer.ui.file.model.FileEvent;
 import org.tizen.dynamicanalyzer.ui.file.model.FileSelectedData;
 import org.tizen.dynamicanalyzer.widgets.da.view.DAViewComposite;
 import org.tizen.dynamicanalyzer.widgets.da.view.DAViewData;
@@ -140,59 +142,75 @@ public class FileDetailInfoView extends DAViewComposite {
 
        private void updateData(FileSelectedData selectData) {
                failedApiCount = 0;
-               List<FileEvent> events = null;
-               events = fileChartManager.getApiDB().selectAPITable(
+               ResultSet rs = fileChartManager.getApiDB().selectAPI(
                                selectData.getFilePath(), selectData.getPid(),
                                selectData.getTid(), selectData.isParentChart());
-               if (events != null) {
-                       filePath = events.get(0).getFilePath();
-                       fileName = events.get(0).getFileName();
-                       fileSize = events.get(events.size()-1).getFileSize();
-                       
-                       long readSize = 0;
-                       long writeSize = 0;
-                       int apiCount = events.size();
-                       for(FileEvent data : events) {
-                               switch(data.getFdApiType()) {
-                               case LogCenterConstants.FD_API_TYPE_OPEN:
-                               case LogCenterConstants.FD_API_TYPE_CLOSE:
-                               case LogCenterConstants.FD_API_TYPE_OTHERS:
-                               case LogCenterConstants.FD_API_TYPE_UNLOCK:
-                                       if(data.getErrno() != 0) {
-                                               failedApiCount++;
-                                       }
-                                       break;
-                               case LogCenterConstants.FD_API_TYPE_LOCK_END:
-                                       if(data.getErrno() != 0) {
-                                               failedApiCount++;
-                                       }
-                                       apiCount--;
-                                       break;
-                               case LogCenterConstants.FD_API_TYPE_READ_END:
-                                       if(data.getErrno() != 0) {
-                                               failedApiCount++;
+               
+               if (rs != null) {
+                       try {
+                               long readSize = 0;
+                               long writeSize = 0;
+                               int apiCount = 0;
+                               
+                               while (rs.next()) {
+                                       apiCount++;
+                                       
+                                       if(rs.isFirst()) {
+                                               filePath = rs.getString(FileApiDB.COLUMN.FILE_PATH.index);
+                                               String[] splitPath = filePath.split("\\/"); //$NON-NLS-1$
+                                               fileName = new String(splitPath[splitPath.length - 1]);
+                                       }else if(rs.isLast()) {
+                                               fileSize = rs.getLong(FileApiDB.COLUMN.FILE_SIZE.index);
                                        }
-                                       readSize += data.getSize();
-                                       // except *_end event among the API count
-                                       apiCount--;
-                                       break;
-                               case LogCenterConstants.FD_API_TYPE_WRITE_END:
-                                       if(data.getErrno() != 0) {
-                                               failedApiCount++;
+                                       int apiType = rs.getInt(FileApiDB.COLUMN.API_TYPE.index);
+                                       long errno = rs.getInt(FileApiDB.COLUMN.ERRNO.index);
+                                       long size = rs.getLong(FileApiDB.COLUMN.SIZE.index);
+                                       
+                                       switch(apiType) {
+                                       case LogCenterConstants.FD_API_TYPE_OPEN:
+                                       case LogCenterConstants.FD_API_TYPE_CLOSE:
+                                       case LogCenterConstants.FD_API_TYPE_OTHERS:
+                                       case LogCenterConstants.FD_API_TYPE_UNLOCK:
+                                               if(errno != 0) {
+                                                       failedApiCount++;
+                                               }
+                                               break;
+                                       case LogCenterConstants.FD_API_TYPE_LOCK_END:
+                                               if(errno != 0) {
+                                                       failedApiCount++;
+                                               }
+                                               apiCount--;
+                                               break;
+                                       case LogCenterConstants.FD_API_TYPE_READ_END:
+                                               if(errno != 0) {
+                                                       failedApiCount++;
+                                               }
+                                               readSize += size;
+                                               // except *_end event among the API count
+                                               apiCount--;
+                                               break;
+                                       case LogCenterConstants.FD_API_TYPE_WRITE_END:
+                                               if(errno != 0) {
+                                                       failedApiCount++;
+                                               }
+                                               writeSize += size;
+                                               // except *_end event among the API count
+                                               apiCount--;
+                                               break;
+                                       default:
+                                               break;
                                        }
-                                       writeSize += data.getSize();
-                                       // except *_end event among the API count
-                                       apiCount--;
-                                       break;
-                               default:
-                                       break;
                                }
+                               this.apiCount = apiCount;
+                               this.readSize = readSize;
+                               this.writeSize = writeSize;
+                       } catch (SQLException e) {
+                               e.printStackTrace();
+                       } finally {
+                               SqlConnectionManager.releaseResultSet(rs);
                        }
-                       this.apiCount = apiCount;
-                       this.readSize = readSize;
-                       this.writeSize = writeSize;
+                       canvas.redraw();
                }
-               canvas.redraw();
        }
 
        @Override
index a67867d..5359fb4 100644 (file)
@@ -27,6 +27,7 @@
 package org.tizen.dynamicanalyzer.ui.file.data;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
@@ -43,25 +44,25 @@ public class FileAccessDB extends DBTable {
        private static final String TABLE_NAME = FilePageLabels.FILE_ACCESS_DB;
 
        public static enum COLUMN {
-               PID(0, "pid"),
-               TID(1, "tid"),
-               FILE_PATH(2, "filePath"),
-               FD(3, "fd"),
-               API_TYPE(4, "apiType"),
-               START_TIME(5, "startTime"),
-               END_TIME(6, "endTime"),
-               ERRNO(7, "errNo"),
-               FILE_SIZE(8, "fileSize");
+               PID(1, "PID"),
+               TID(2, "TID"),
+               FILE_PATH(3, "FILE_PATH"),
+               FD(4, "FD"),
+               API_TYPE(5, "API_TYPE"),
+               START_TIME(6, "START_TIME"),
+               END_TIME(7, "END_TIME"),
+               ERRNO(8, "ERRNO"),
+               FILE_SIZE(9, "FILE_SIZE");
                
-               private final int value;
+               private final int index;
                private final String name;
-               private COLUMN(int value, String name) {
-                       this.value = value;
+               private COLUMN(int index, String name) {
+                       this.index = index;
                        this.name = name;
                }
 
-               public int getValue() {
-                       return value;
+               public int getIndex() {
+                       return index;
                }
                
                public String getName() {
@@ -70,17 +71,18 @@ public class FileAccessDB extends DBTable {
        }
                
        public FileAccessDB() {
-               addColumn(new DBColumn(COLUMN.PID.getName(), DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.TID.getName(), DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.FILE_PATH.getName(), DBConstants.EMPTY, DBConstants.BIG_TEXT));
-               addColumn(new DBColumn(COLUMN.FD.getName(), DBConstants.EMPTY, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.API_TYPE.getName(), DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.START_TIME.getName(), DBConstants.NOT_NULL, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.END_TIME.getName(), DBConstants.NOT_NULL, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.ERRNO.getName(), DBConstants.EMPTY, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.FILE_SIZE.getName(), DBConstants.EMPTY, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.PID.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.TID.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.FILE_PATH.name, DBConstants.EMPTY, DBConstants.BIG_TEXT));
+               addColumn(new DBColumn(COLUMN.FD.name, DBConstants.EMPTY, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.API_TYPE.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.START_TIME.name, DBConstants.NOT_NULL, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.END_TIME.name, DBConstants.NOT_NULL, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.ERRNO.name, DBConstants.EMPTY, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.FILE_SIZE.name, DBConstants.EMPTY, DBConstants.LONG));
        }
        
+       
        @Override
        public String getTableName() {
                return TABLE_NAME;
@@ -91,6 +93,47 @@ public class FileAccessDB extends DBTable {
                        + selectAll
                        + " from " + TABLE_NAME; //$NON-NLS-1$
        
+       public List<FileAccess> executeQueryRS(String query) {
+               List<FileAccess> resultData = new ArrayList<FileAccess>();
+               ResultSet rs = SqlConnectionManager.executeQueryRS(query);
+               if (rs != null) {
+                       try {
+                               while (rs.next()) {
+                                       FileAccess access= getDataFromResultSet(rs);
+                                       if (access != null) {
+                                               resultData.add(access);
+                                       }
+                               }
+                       } catch (SQLException e) {
+                               e.printStackTrace();
+                       } finally {
+                               SqlConnectionManager.releaseResultSet(rs);
+                       }
+               }
+               return resultData;
+       }
+       
+       public FileAccess getDataFromResultSet(ResultSet rs) {
+               FileAccess access = null;
+               try {
+                       access = new FileAccess(
+                                       rs.getInt(COLUMN.PID.index),
+                                       rs.getInt(COLUMN.TID.index),
+                                       rs.getString(COLUMN.FILE_PATH.index),
+                                       rs.getLong(COLUMN.FD.index),
+                                       rs.getInt(COLUMN.API_TYPE.index),
+                                       rs.getLong(COLUMN.START_TIME.index),
+                                       rs.getLong(COLUMN.END_TIME.index),
+                                       rs.getLong(COLUMN.ERRNO.index),
+                                       rs.getLong(COLUMN.FILE_SIZE.index)
+                                       );
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               return access;
+       }
+       
        public void insert(FileAccess insertData) {
                List<List<Object>> insertDataList = new ArrayList<List<Object>>();
                insertDataList.add(insertData.getDBData());
@@ -101,37 +144,29 @@ public class FileAccessDB extends DBTable {
                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 accessList;
-               }
-               
-               for (List<Object> data : result) {
-                       accessList.add(new FileAccess(data));
-               }
+               accessList = executeQueryRS(query);
                return accessList;
        }
        
        public static String selectAll() {
                StringBuffer selectAllColumn = new StringBuffer();
-               selectAllColumn.append(COLUMN.PID.getName());
+               selectAllColumn.append(COLUMN.PID.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.TID.getName());
+               selectAllColumn.append(COLUMN.TID.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.FILE_PATH.getName());
+               selectAllColumn.append(COLUMN.FILE_PATH.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.FD.getName());
+               selectAllColumn.append(COLUMN.FD.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.API_TYPE.getName());
+               selectAllColumn.append(COLUMN.API_TYPE.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.START_TIME.getName());
+               selectAllColumn.append(COLUMN.START_TIME.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.END_TIME.getName());
+               selectAllColumn.append(COLUMN.END_TIME.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.ERRNO.getName());
+               selectAllColumn.append(COLUMN.ERRNO.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.FILE_SIZE.getName());
+               selectAllColumn.append(COLUMN.FILE_SIZE.name);
                return selectAllColumn.toString();
        }
        
@@ -144,15 +179,15 @@ public class FileAccessDB extends DBTable {
                        isPrepared = false;
                } else {
                        try {
-                               prep.setInt(1, (Integer)(rowData.get(COLUMN.PID.getValue())));
-                               prep.setInt(2, (Integer)(rowData.get(COLUMN.TID.getValue())));
-                               prep.setString(3, (String)(rowData.get(COLUMN.FILE_PATH.getValue())));
-                               prep.setLong(4, (Long)(rowData.get(COLUMN.FD.getValue())));
-                               prep.setInt(5, (Integer)(rowData.get(COLUMN.API_TYPE.getValue())));
-                               prep.setLong(6, (Long)(rowData.get(COLUMN.START_TIME.getValue())));
-                               prep.setLong(7, (Long)(rowData.get(COLUMN.END_TIME.getValue())));
-                               prep.setLong(8, (Long)(rowData.get(COLUMN.ERRNO.getValue())));
-                               prep.setLong(9, (Long)(rowData.get(COLUMN.FILE_SIZE.getValue())));
+                               prep.setInt(1, (Integer)(rowData.get(0)));
+                               prep.setInt(2, (Integer)(rowData.get(1)));
+                               prep.setString(3, (String)(rowData.get(2)));
+                               prep.setLong(4, (Long)(rowData.get(3)));
+                               prep.setInt(5, (Integer)(rowData.get(4)));
+                               prep.setLong(6, (Long)(rowData.get(5)));
+                               prep.setLong(7, (Long)(rowData.get(6)));
+                               prep.setLong(8, (Long)(rowData.get(7)));
+                               prep.setLong(9, (Long)(rowData.get(8)));
                        } catch (SQLException e) {
                                e.printStackTrace();
                                isPrepared = false;
index a21fea2..3a435b4 100644 (file)
@@ -27,6 +27,7 @@
 package org.tizen.dynamicanalyzer.ui.file.data;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
@@ -43,32 +44,32 @@ public class FileApiDB extends DBTable {
        private static final String TABLE_NAME = FilePageLabels.FILE_API_DB;
        
        public static enum COLUMN {
-               SEQ(0, "seq"),
-               FILE_PATH(1, "filePath"),
-               PID(2, "pid"),
-               TID(3, "tid"),
-               FD(4, "fd"),
-               API_TYPE(5, "apiType"),
-               EVENT_TIME(6, "eventTime"),
-               API_ID(7, "apiId"),
-               ERRNO(8, "errNo"),
-               IO_SIZE(9, "ioSize"),
-               FILE_SIZE(10, "fileSize"),
-               SIZE(11, "size"),
-               RETURN_VALUE(12, "returnValue"),
-               ARGS(13, "args"),
-               TARGET(14, "target");
+               SEQ(1, "SEQ"),
+               FILE_PATH(2, "FILE_PATH"),
+               PID(3, "PID"),
+               TID(4, "TID"),
+               FD(5, "FD"),
+               API_TYPE(6, "API_TYPE"),
+               EVENT_TIME(7, "EVENT_TIME"),
+               API_ID(8, "API_ID"),
+               ERRNO(9, "ERRNO"),
+               IO_SIZE(10, "IO_SIZE"),
+               FILE_SIZE(11, "FILE_SIZE"),
+               SIZE(12, "SIZE"),
+               RETURN_VALUE(13, "RETURN_VALUE"),
+               ARGS(14, "ARGS"),
+               TARGET(15, "TARGET");
                
-               private final int value;
-               private final String name;
+               public final int index;
+               public final String name;
 
-               private COLUMN(int value, String name) {
-                       this.value = value;
+               private COLUMN(int index, String name) {
+                       this.index = index;
                        this.name = name;
                }
 
-               public int getValue() {
-                       return value;
+               public int getIndex() {
+                       return index;
                }
                
                public String getName() {
@@ -82,200 +83,193 @@ public class FileApiDB extends DBTable {
        }
 
        public FileApiDB() {
-               addColumn(new DBColumn(COLUMN.SEQ.getName(), DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.FILE_PATH.getName(), DBConstants.EMPTY, DBConstants.BIG_TEXT));
-               addColumn(new DBColumn(COLUMN.PID.getName(), DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.TID.getName(), DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.FD.getName(), DBConstants.EMPTY, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.API_TYPE.getName(), DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.EVENT_TIME.getName(), DBConstants.NOT_NULL, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.API_ID.getName(), DBConstants.EMPTY, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.ERRNO.getName(), DBConstants.EMPTY, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.IO_SIZE.getName(), DBConstants.EMPTY, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.FILE_SIZE.getName(), DBConstants.EMPTY, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.SIZE.getName(), DBConstants.EMPTY, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.RETURN_VALUE.getName(), DBConstants.EMPTY, DBConstants.BIG_TEXT));
-               addColumn(new DBColumn(COLUMN.ARGS.getName(), DBConstants.EMPTY, DBConstants.BIG_TEXT));
-               addColumn(new DBColumn(COLUMN.TARGET.getName(), DBConstants.NOT_NULL, DBConstants.BOOLEAN));
+               addColumn(new DBColumn(COLUMN.SEQ.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.FILE_PATH.name, DBConstants.EMPTY, DBConstants.BIG_TEXT));
+               addColumn(new DBColumn(COLUMN.PID.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.TID.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.FD.name, DBConstants.EMPTY, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.API_TYPE.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.EVENT_TIME.name, DBConstants.NOT_NULL, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.API_ID.name, DBConstants.EMPTY, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.ERRNO.name, DBConstants.EMPTY, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.IO_SIZE.name, DBConstants.EMPTY, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.FILE_SIZE.name, DBConstants.EMPTY, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.SIZE.name, DBConstants.EMPTY, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.RETURN_VALUE.name, DBConstants.EMPTY, DBConstants.BIG_TEXT));
+               addColumn(new DBColumn(COLUMN.ARGS.name, DBConstants.EMPTY, DBConstants.BIG_TEXT));
+               addColumn(new DBColumn(COLUMN.TARGET.name, DBConstants.NOT_NULL, DBConstants.BOOLEAN));
        }
        
        private static final String selectAllColumn = selectAllColumn();
-       private static final String SELECT_API_SERIES = "select " 
-                       + selectAllColumn
-                       +" from "
-                       + TABLE_NAME + " where %s <= " 
-                       + COLUMN.EVENT_TIME.getName() + " and "
-                       + COLUMN.EVENT_TIME.getName()
-                       + " <= %s";
-       
+
        private static final String SELECT_FAILED_API_SERIES = "select " 
-                       + selectAllColumn
+                       + COLUMN.EVENT_TIME + " , "
+                       + COLUMN.API_ID
                        +" from "
                        + TABLE_NAME + " where %s <= " 
-                       + COLUMN.EVENT_TIME.getName() + " and "
-                       + COLUMN.EVENT_TIME.getName()
+                       + COLUMN.EVENT_TIME.name + " and "
+                       + COLUMN.EVENT_TIME.name
                        + " <= %s" + " and "
-                       + COLUMN.ERRNO.getName() + " != '0'" + " and "
-                       + COLUMN.TARGET.getName() + " = 'true'";
+                       + COLUMN.FILE_PATH.name + " = '%s'" + " and "
+                       + COLUMN.PID.name + " = '%d'" + " and "
+                       + COLUMN.TID.name + " = '%d'" + " and "
+                       + COLUMN.ERRNO.name + " != '0'" + " and "
+                       + COLUMN.TARGET.name + " = 'true'";
        
        private static final String SELECT_APIS_FOR_CHILD = "select "
                        + selectAllColumn
                        +" from "
                        + TABLE_NAME + " where " 
-                       + COLUMN.FILE_PATH.getName() + " = '%s'" + " and "
-                       + COLUMN.PID.getName() + " = '%d'" + " and "
-                       + COLUMN.TID.getName() + " = '%d'" + " and "
-                       + COLUMN.TARGET.getName() + " = 'true'";
+                       + COLUMN.FILE_PATH.name + " = '%s'" + " and "
+                       + COLUMN.PID.name + " = '%d'" + " and "
+                       + COLUMN.TID.name + " = '%d'" + " and "
+                       + COLUMN.TARGET.name + " = 'true'";
 
        private static final String SELECT_APIS_FOR_PARENT= "select "
                        + selectAllColumn
                        + " from "
                        + TABLE_NAME + " where " 
-                       + COLUMN.FILE_PATH.getName()  + " = '%s'" + " and "
-                       + COLUMN.TARGET.getName() + " = 'true'";
+                       + COLUMN.FILE_PATH.name  + " = '%s'" + " and "
+                       + COLUMN.TARGET.name + " = 'true'";
        
        private static final String SELECT_FILE_EVENT_BY_SEQ = "select "
-                       //+ selectAllColumn
-                       + COLUMN.SEQ.getName() + " , "
-                       + COLUMN.FILE_PATH.getName() + " , "
-                       + COLUMN.PID.getName() + " , "
-                       + COLUMN.TID.getName()
+                       + COLUMN.FILE_PATH.name + " , "
+                       + COLUMN.PID.name + " , "
+                       + COLUMN.TID.name
                        + " from "
                        + TABLE_NAME + " where " 
-                       + COLUMN.SEQ.getName()  + " = '%d'"+ " and "
-                       + COLUMN.TARGET.getName() + " = 'true'";
+                       + COLUMN.SEQ.name  + " = '%d'"+ " and "
+                       + COLUMN.TARGET.name + " = 'true'";
        
        private static final String SELECT_ALL = "select "
                        + selectAllColumn
                        + " from "
                        + TABLE_NAME + " where " 
-                       + COLUMN.TARGET.getName() + " = 'true'";
+                       + COLUMN.TARGET.name + " = 'true'";
        
-       public void insert(List<List<Object>> insertData) {
-               insertData(insertData);
+       public ResultSet executeQuery(String query) {
+               ResultSet rs = SqlConnectionManager.executeQueryRS(query);
+               return rs;
        }
        
-       // for updating api series chart
-       public List<FileEvent> selectAPISeries(double visibleStartTime,
-                       double visibleEndTime) {
-               double selectStartTime = visibleStartTime * TimelineConstants.MEGA_DOUBLE;
-               double selectEndTime = visibleEndTime * TimelineConstants.MEGA_DOUBLE;
-               
-               String query = String.format(SELECT_API_SERIES, selectStartTime, selectEndTime);
-               
-               List<List<Object>> result = SqlConnectionManager.executeQuery(query);
-               if (null == result || result.size() == 0 || result.get(0).size() == 0) {
-                       return null;
+       public List<FileEvent> executeQueryRS(String query) {
+               List<FileEvent> resultData = new ArrayList<FileEvent>();
+               ResultSet rs = SqlConnectionManager.executeQueryRS(query);
+               if (rs != null) {
+                       try {
+                               while (rs.next()) {
+                                       FileEvent event= getDataFromResultSet(rs);
+                                       if (event != null) {
+                                               resultData.add(event);
+                                       }
+                               }
+                       } catch (SQLException e) {
+                               e.printStackTrace();
+                       } finally {
+                               SqlConnectionManager.releaseResultSet(rs);
+                       }
                }
-               List<FileEvent> apiList = new ArrayList<FileEvent>();
-               for (List<Object> data : result) {
-                       apiList.add(new FileEvent(data));
+               return resultData;
+       }
+       
+       public FileEvent getDataFromResultSet(ResultSet rs) {
+               FileEvent event = null;
+               try {
+                       event = new FileEvent(
+                                       rs.getInt(COLUMN.SEQ.index),
+                                       rs.getString(COLUMN.FILE_PATH.index),
+                                       rs.getInt(COLUMN.PID.index),
+                                       rs.getInt(COLUMN.TID.index),
+                                       rs.getLong(COLUMN.FD.index),
+                                       rs.getInt(COLUMN.API_TYPE.index),
+                                       rs.getInt(COLUMN.API_ID.index),
+                                       rs.getLong(COLUMN.EVENT_TIME.index),
+                                       rs.getLong(COLUMN.FILE_SIZE.index),
+                                       rs.getLong(COLUMN.SIZE.index),
+                                       rs.getString(COLUMN.ARGS.index),
+                                       rs.getString(COLUMN.RETURN_VALUE.index),
+                                       rs.getLong(COLUMN.ERRNO.index),
+                                       rs.getBoolean(COLUMN.TARGET.index)
+                                       );
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
                }
-               return apiList;
+               return event;
+       }
+       
+       public void insert(List<List<Object>> insertData) {
+               insertData(insertData);
        }
        
        // for updating api series chart
-       public List<FileEvent> selectFailedAPISeries(double visibleStartTime,
-                       double visibleEndTime) {
+       public ResultSet selectFailedAPI(double visibleStartTime,
+                       double visibleEndTime, String filePath, int pid, int tid) {
                double selectStartTime = visibleStartTime
                                * TimelineConstants.MEGA_DOUBLE;
                double selectEndTime = visibleEndTime * TimelineConstants.MEGA_DOUBLE;
-
                String query = String.format(SELECT_FAILED_API_SERIES, selectStartTime,
-                               selectEndTime);
-
-               List<List<Object>> result = SqlConnectionManager.executeQuery(query);
-               if (null == result || result.size() == 0 || result.get(0).size() == 0) {
-                       return null;
-               }
-               List<FileEvent> apiList = new ArrayList<FileEvent>();
-               for (List<Object> data : result) {
-                       apiList.add(new FileEvent(data));
-               }
-               return apiList;
+                               selectEndTime, filePath, pid, tid);
+               
+               return  SqlConnectionManager.executeQueryRS(query);
        }
+       
 
-       // for updating api table view
-       public List<FileEvent> selectAPITable(String filePath, int pid, int tid,
+       // for updating api table view and detail view
+       public ResultSet selectAPI(String filePath, int pid, int tid,
                        boolean isParentChart) {
                String query = String.format(SELECT_APIS_FOR_CHILD, filePath, pid, tid);
                if (isParentChart) {
-                       query = String
-                                       .format(SELECT_APIS_FOR_PARENT, filePath);
-               }
-               List<List<Object>> result = SqlConnectionManager.executeQuery(query);
-               if (null == result || result.size() == 0 || result.get(0).size() == 0) {
-                       return null;
+                       query = String.format(SELECT_APIS_FOR_PARENT, filePath);
                }
-               List<FileEvent> apiList = new ArrayList<FileEvent>();
-               for (List<Object> data : result) {
-                       apiList.add(new FileEvent(data));
-               }
-               return apiList;
+               return SqlConnectionManager.executeQueryRS(query);
        }
 
-       public FileEvent selectFileEventBySeq(long seq) {
+       // to get chart row index
+       public ResultSet selectFileEventBySeq(long seq) {
                String query = String.format(SELECT_FILE_EVENT_BY_SEQ, seq);
-               List<List<Object>> result = SqlConnectionManager.executeQuery(query);
-               if (null == result || result.size() == 0 || result.get(0).size() == 0) {
-                       return null;
-               }
-               List<Object> data = result.get(0);
-               FileEvent fileEvent = new FileEvent(
-                               (Integer) data.get(FileApiDB.COLUMN.SEQ.getValue()),
-                               (String) data.get(FileApiDB.COLUMN.FILE_PATH.getValue()),
-                               (Integer) data.get(FileApiDB.COLUMN.PID.getValue()),
-                               (Integer) data.get(FileApiDB.COLUMN.TID.getValue()));
-               return fileEvent;
+
+               return SqlConnectionManager.executeQueryRS(query);
        }
        
        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));
-               }
+               List<FileEvent> apiList = executeQueryRS(query);
+       
                return apiList;
        }
        
        public static String selectAllColumn() {
                StringBuffer selectAllColumn = new StringBuffer();
-               selectAllColumn.append(COLUMN.SEQ.getName());
+               selectAllColumn.append(COLUMN.SEQ.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.FILE_PATH.getName());
+               selectAllColumn.append(COLUMN.FILE_PATH.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.PID.getName());
+               selectAllColumn.append(COLUMN.PID.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.TID.getName());
+               selectAllColumn.append(COLUMN.TID.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.FD.getName());
+               selectAllColumn.append(COLUMN.FD.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.API_TYPE.getName());
+               selectAllColumn.append(COLUMN.API_TYPE.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.EVENT_TIME.getName());
+               selectAllColumn.append(COLUMN.EVENT_TIME.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.API_ID.getName());
+               selectAllColumn.append(COLUMN.API_ID.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.ERRNO.getName());
+               selectAllColumn.append(COLUMN.ERRNO.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.IO_SIZE.getName());
+               selectAllColumn.append(COLUMN.IO_SIZE.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.FILE_SIZE.getName());
+               selectAllColumn.append(COLUMN.FILE_SIZE.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.SIZE.getName());
+               selectAllColumn.append(COLUMN.SIZE.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.RETURN_VALUE.getName());
+               selectAllColumn.append(COLUMN.RETURN_VALUE.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.ARGS.getName());
+               selectAllColumn.append(COLUMN.ARGS.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.TARGET.getName());
+               selectAllColumn.append(COLUMN.TARGET.name);
                return selectAllColumn.toString();
        }
        
@@ -288,21 +282,21 @@ public class FileApiDB extends DBTable {
                        isPrepared = false;
                } else {
                        try {
-                               prep.setInt(1, (Integer)(rowData.get(COLUMN.SEQ.getValue())));
-                               prep.setString(2, (String)(rowData.get(COLUMN.FILE_PATH.getValue())));
-                               prep.setInt(3, (Integer)(rowData.get(COLUMN.PID.getValue())));
-                               prep.setInt(4, (Integer)(rowData.get(COLUMN.TID.getValue())));
-                               prep.setLong(5, (Long)(rowData.get(COLUMN.FD.getValue())));
-                               prep.setInt(6, (Integer)(rowData.get(COLUMN.API_TYPE.getValue())));
-                               prep.setLong(7, (Long)(rowData.get(COLUMN.EVENT_TIME.getValue())));
-                               prep.setInt(8, (Integer)(rowData.get(COLUMN.API_ID.getValue())));
-                               prep.setLong(9, (Long)(rowData.get(COLUMN.ERRNO.getValue())));
-                               prep.setLong(10, (Long)(rowData.get(COLUMN.IO_SIZE.getValue())));
-                               prep.setLong(11, (Long)(rowData.get(COLUMN.FILE_SIZE.getValue())));
-                               prep.setLong(12, (Long)(rowData.get(COLUMN.SIZE.getValue())));
-                               prep.setString(13, (String)(rowData.get(COLUMN.RETURN_VALUE.getValue())));
-                               prep.setString(14, (String)(rowData.get(COLUMN.ARGS.getValue())));
-                               prep.setBoolean(15, (Boolean)(rowData.get(COLUMN.TARGET.getValue())));
+                               prep.setInt(1, (Integer)(rowData.get(0)));
+                               prep.setString(2, (String)(rowData.get(1)));
+                               prep.setInt(3, (Integer)(rowData.get(2)));
+                               prep.setInt(4, (Integer)(rowData.get(3)));
+                               prep.setLong(5, (Long)(rowData.get(4)));
+                               prep.setInt(6, (Integer)(rowData.get(5)));
+                               prep.setLong(7, (Long)(rowData.get(6)));
+                               prep.setInt(8, (Integer)(rowData.get(7)));
+                               prep.setLong(9, (Long)(rowData.get(8)));
+                               prep.setLong(10, (Long)(rowData.get(9)));
+                               prep.setLong(11, (Long)(rowData.get(10)));
+                               prep.setLong(12, (Long)(rowData.get(11)));
+                               prep.setString(13, (String)(rowData.get(12)));
+                               prep.setString(14, (String)(rowData.get(13)));
+                               prep.setBoolean(15, (Boolean)(rowData.get(14)));
                        } catch (SQLException e) {
                                e.printStackTrace();
                                isPrepared = false;
index a215358..29141a3 100644 (file)
@@ -27,6 +27,7 @@
 package org.tizen.dynamicanalyzer.ui.file.data;
 
 import java.sql.PreparedStatement;
+import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
@@ -43,23 +44,23 @@ public class FileStatusDB extends DBTable {
        private static final String TABLE_NAME = FilePageLabels.FILE_STATUS_DB;
        
        public static enum COLUMN {
-               PID(0, "pid"),
-               TID(1, "tid"),
-               FILE_PATH(2, "filePath"),
-               FD(3, "FD"),
-               API_TYPE(4, "apiType"),
-               EVENT_TIME(5, "eventTime"),
-               ERRNO(6, "errNo");
+               PID(1, "PID"),
+               TID(2, "TID"),
+               FILE_PATH(3, "FILE_PATH"),
+               FD(4, "FD"),
+               API_TYPE(5, "API_TYPE"),
+               EVENT_TIME(6, "EVENT_TIME"),
+               ERRNO(7, "ERRNO");
                
-               private final int value;
+               private final int index;
                private final String name;
-               private COLUMN(int value, String name) {
-                       this.value = value;
+               private COLUMN(int index, String name) {
+                       this.index = index;
                        this.name = name;
                }
 
-               public int getValue() {
-                       return value;
+               public int getIndex() {
+                       return index;
                }
                
                public String getName() {
@@ -68,13 +69,13 @@ public class FileStatusDB extends DBTable {
        }
 
        public FileStatusDB() {
-               addColumn(new DBColumn(COLUMN.PID.getName(), DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.TID.getName(), DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.FILE_PATH.getName(), DBConstants.NOT_NULL, DBConstants.BIG_TEXT));
-               addColumn(new DBColumn(COLUMN.FD.getName(), DBConstants.EMPTY, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.API_TYPE.getName(), DBConstants.NOT_NULL, DBConstants.INTEGER));
-               addColumn(new DBColumn(COLUMN.EVENT_TIME.getName(), DBConstants.NOT_NULL, DBConstants.LONG));
-               addColumn(new DBColumn(COLUMN.ERRNO.getName(), DBConstants.NOT_NULL, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.PID.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.TID.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.FILE_PATH.name, DBConstants.NOT_NULL, DBConstants.BIG_TEXT));
+               addColumn(new DBColumn(COLUMN.FD.name, DBConstants.EMPTY, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.API_TYPE.name, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(COLUMN.EVENT_TIME.name, DBConstants.NOT_NULL, DBConstants.LONG));
+               addColumn(new DBColumn(COLUMN.ERRNO.name, DBConstants.NOT_NULL, DBConstants.LONG));
        }
        
        @Override
@@ -87,6 +88,45 @@ public class FileStatusDB extends DBTable {
                        + selectAll
                        + " from " + TABLE_NAME; //$NON-NLS-1$
        
+       public List<FileStatus> executeQueryRS(String query) {
+               List<FileStatus> resultData = new ArrayList<FileStatus>();
+               ResultSet rs = SqlConnectionManager.executeQueryRS(query);
+               if (rs != null) {
+                       try {
+                               while (rs.next()) {
+                                       FileStatus status= getDataFromResultSet(rs);
+                                       if (status != null) {
+                                               resultData.add(status);
+                                       }
+                               }
+                       } catch (SQLException e) {
+                               e.printStackTrace();
+                       } finally {
+                               SqlConnectionManager.releaseResultSet(rs);
+                       }
+               }
+               return resultData;
+       }
+       
+       public FileStatus getDataFromResultSet(ResultSet rs) {
+               FileStatus status = null;
+               try {
+                       status = new FileStatus(
+                                       rs.getInt(COLUMN.PID.index),
+                                       rs.getInt(COLUMN.TID.index),
+                                       rs.getLong(COLUMN.FD.index),
+                                       rs.getString(COLUMN.FILE_PATH.index),
+                                       rs.getInt(COLUMN.API_TYPE.index),
+                                       rs.getLong(COLUMN.EVENT_TIME.index),
+                                       rs.getLong(COLUMN.ERRNO.index)
+                                       );
+               } catch (SQLException e) {
+                       e.printStackTrace();
+                       return null;
+               }
+               return status;
+       }
+       
        public void insert(FileStatus insertData) {
                List<List<Object>> insertDataList = new ArrayList<List<Object>>();
                insertDataList.add(insertData.getDBData());
@@ -97,33 +137,25 @@ public class FileStatusDB extends DBTable {
                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 statusList;
-               }
-               
-               for (List<Object> data : result) {
-                       statusList.add(new FileStatus(data));
-               }
+               statusList = executeQueryRS(query);
                return statusList;
        }
 
        public static String selectAll() {
                StringBuffer selectAllColumn = new StringBuffer();
-               selectAllColumn.append(COLUMN.PID.getName());
+               selectAllColumn.append(COLUMN.PID.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.TID.getName());
+               selectAllColumn.append(COLUMN.TID.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.FILE_PATH.getName());
+               selectAllColumn.append(COLUMN.FILE_PATH.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.FD.getName());
+               selectAllColumn.append(COLUMN.FD.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.API_TYPE.getName());
+               selectAllColumn.append(COLUMN.API_TYPE.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.EVENT_TIME.getName());
+               selectAllColumn.append(COLUMN.EVENT_TIME.name);
                selectAllColumn.append(",");
-               selectAllColumn.append(COLUMN.ERRNO.getName());
+               selectAllColumn.append(COLUMN.ERRNO.name);
                return selectAllColumn.toString();
        }
        
@@ -136,13 +168,13 @@ public class FileStatusDB extends DBTable {
                        isPrepared = false;
                } else {
                        try {
-                               prep.setInt(1, (Integer)(rowData.get(COLUMN.PID.getValue())));
-                               prep.setInt(2, (Integer)(rowData.get(COLUMN.TID.getValue())));
-                               prep.setString(3, (String)(rowData.get(COLUMN.FILE_PATH.getValue())));
-                               prep.setLong(4, (Long)(rowData.get(COLUMN.FD.getValue())));
-                               prep.setInt(5, (Integer)(rowData.get(COLUMN.API_TYPE.getValue())));
-                               prep.setLong(6, (Long)(rowData.get(COLUMN.EVENT_TIME.getValue())));
-                               prep.setLong(7, (Long)(rowData.get(COLUMN.ERRNO.getValue())));
+                               prep.setInt(1, (Integer)(rowData.get(0)));
+                               prep.setInt(2, (Integer)(rowData.get(1)));
+                               prep.setString(3, (String)(rowData.get(2)));
+                               prep.setLong(4, (Long)(rowData.get(3)));
+                               prep.setInt(5, (Integer)(rowData.get(4)));
+                               prep.setLong(6, (Long)(rowData.get(5)));
+                               prep.setLong(7, (Long)(rowData.get(6)));
                        } catch (SQLException e) {
                                e.printStackTrace();
                                isPrepared = false;
index b835d88..a571c00 100644 (file)
@@ -26,7 +26,6 @@
 
 package org.tizen.dynamicanalyzer.ui.file.manager;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -36,7 +35,7 @@ import org.tizen.dynamicanalyzer.ui.file.data.FileAccessDB;
 import org.tizen.dynamicanalyzer.ui.file.data.FileApiDB;
 import org.tizen.dynamicanalyzer.ui.file.data.FileStatusDB;
 import org.tizen.dynamicanalyzer.ui.file.model.FileAccess;
-import org.tizen.dynamicanalyzer.ui.file.model.FileEvent;
+import org.tizen.dynamicanalyzer.ui.file.model.FileSelectedData;
 
 
 public class FileDataManager extends PageDataManager {
@@ -47,7 +46,7 @@ public class FileDataManager extends PageDataManager {
        private FileApiDB apiDB = null;
        private FileStatusDB statusDB = null;
        
-       private List<FileEvent> selectedTableAPIList = new ArrayList<FileEvent>();
+       private FileSelectedData selectedData = null;
 
        private FileDataManager() {
                dataMaker = new FileDataMaker();
@@ -72,7 +71,7 @@ public class FileDataManager extends PageDataManager {
                accessDB = null;
                apiDB = null;
                statusDB = null;
-               selectedTableAPIList = new ArrayList<FileEvent>();
+               selectedData = null;
        }
        
        public FileAccessDB getAccessDB(){
@@ -120,13 +119,12 @@ public class FileDataManager extends PageDataManager {
                return dataMaker;
        }
        
-       public List<FileEvent> getSelectedTableAPIList() {
-               return selectedTableAPIList;
+       public void setSelectedData(FileSelectedData selectedData) {
+               this.selectedData = selectedData;
        }
-
-       public void setSelectedTableAPIList(
-                       List<FileEvent> selectedTableAPIList) {
-               this.selectedTableAPIList = selectedTableAPIList;
+       
+       public FileSelectedData getSelectedData() {
+               return selectedData;
        }
        
        /**
index be49768..d0a967e 100644 (file)
@@ -63,6 +63,19 @@ public class FileAccess {
                this.apiType = apiType;
                this.startTime = startTime;
        }
+       
+       public FileAccess(int pid, int tid, String filePath, long fd, int apiType, long startTime,
+                       long endTime, long erroNo, long fileSize) {
+               this.pid = pid;
+               this.tid = tid;
+               this.filePath = filePath;
+               this.fd = fd;
+               this.apiType = apiType;
+               this.startTime = startTime;
+               this.endTime = endTime;
+               this.erroNo = erroNo;
+               this.fileSize = fileSize;
+       }
 
        public List<Object> getDBData() {
                List<Object> data = new ArrayList<Object>();
@@ -78,18 +91,6 @@ public class FileAccess {
                return data;
        }
        
-       public FileAccess(List<Object> data) {
-               this.pid = (Integer)data.get(FileAccessDB.COLUMN.PID.getValue());
-               this.tid = (Integer)data.get(FileAccessDB.COLUMN.TID.getValue());
-               this.filePath = (String)data.get(FileAccessDB.COLUMN.FILE_PATH.getValue());
-               this.fd = (Long)data.get(FileAccessDB.COLUMN.FD.getValue());
-               this.apiType = (Integer)data.get(FileAccessDB.COLUMN.API_TYPE.getValue());
-               this.startTime = (Long)data.get(FileAccessDB.COLUMN.START_TIME.getValue());
-               this.endTime = (Long)data.get(FileAccessDB.COLUMN.END_TIME.getValue());
-               this.erroNo = (Long)data.get(FileAccessDB.COLUMN.ERRNO.getValue());
-               this.fileSize = (Long)data.get(FileAccessDB.COLUMN.FILE_SIZE.getValue());
-       }
-       
        public String getFilePath() {
                return filePath;
        }
index 4592b4b..b0b1ccb 100644 (file)
@@ -81,23 +81,6 @@ public class FileEvent extends FileData{
                this.tid = tid;
        }
        
-       public FileEvent(List<Object> data) {
-               this.seq = (Integer) data.get(FileApiDB.COLUMN.SEQ.getValue());
-               this.filePath = (String) data.get(FileApiDB.COLUMN.FILE_PATH.getValue());
-               this.pid = (Integer) data.get(FileApiDB.COLUMN.PID.getValue());
-               this.tid = (Integer) data.get(FileApiDB.COLUMN.TID.getValue());
-               this.fdValue = (Long) data.get(FileApiDB.COLUMN.FD.getValue());
-               this.fdApiType = (Integer) data.get(FileApiDB.COLUMN.API_TYPE.getValue());
-               this.apiId = (Integer) data.get(FileApiDB.COLUMN.API_ID.getValue());
-               this.time = (Long) data.get(FileApiDB.COLUMN.EVENT_TIME.getValue());
-               this.fileSize = (Long) data.get(FileApiDB.COLUMN.FILE_SIZE.getValue());
-               this.size = (Long) data.get(FileApiDB.COLUMN.SIZE.getValue());
-               this.ret = (String) data.get(FileApiDB.COLUMN.RETURN_VALUE.getValue());
-               this.args = (String) data.get(FileApiDB.COLUMN.ARGS.getValue());
-               this.errno = (Long) data.get(FileApiDB.COLUMN.ERRNO.getValue());
-               this.target = (Boolean) data.get(FileApiDB.COLUMN.TARGET.getValue());
-       }
-       
        public List<Object> getDBData() {
                List<Object> data = new ArrayList<Object>();
                data.add(this.seq);
index 04af3c7..04854ac 100644 (file)
@@ -63,16 +63,6 @@ public class FileStatus {
                return data;
        }
        
-       public FileStatus(List<Object> data) {
-               this.pid = (Integer)data.get(FileStatusDB.COLUMN.PID.getValue());
-               this.tid = (Integer)data.get(FileStatusDB.COLUMN.TID.getValue());
-               this.filePath = (String)data.get(FileStatusDB.COLUMN.FILE_PATH.getValue());
-               this.fd = (Long)data.get(FileStatusDB.COLUMN.FD.getValue());
-               this.apiType = (Integer)data.get(FileStatusDB.COLUMN.API_TYPE.getValue());
-               this.eventTime = (Long)data.get(FileStatusDB.COLUMN.EVENT_TIME.getValue());
-               this.errNo = (Long)data.get(FileStatusDB.COLUMN.ERRNO.getValue());
-       }
-
        public String getFilePath() {
                return filePath;
        }