replay : change db manager for save replay's log 22/20722/3
authorHyunjong,park <phjwithyou.park@samsung.com>
Mon, 12 May 2014 10:59:18 +0000 (19:59 +0900)
committerpark hyunjong <phjwithyou.park@samsung.com>
Tue, 13 May 2014 02:28:43 +0000 (19:28 -0700)
Signed-off-by: Hyunjong,park <phjwithyou.park@samsung.com>
Change-Id: I96d96b9af6932ec8ea78fb231be32ab960341508

14 files changed:
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/Communicator22.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/DACommunicator.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogInserter.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataFactory.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LogFormat.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TimelinePage.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDBManager.java [new file with mode: 0644]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDataManager.java [new file with mode: 0644]
org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditDialogDataManager.java

index e57e642..c6403ec 100755 (executable)
@@ -49,7 +49,6 @@ import org.tizen.dynamicanalyzer.swap.logparser.DataManagerRegistry;
 import org.tizen.dynamicanalyzer.ui.page.UpdateViewTimer;
 import org.tizen.dynamicanalyzer.ui.toolbar.ConfigureManager;
 import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea;
-import org.tizen.dynamicanalyzer.uirecorder.UIRecorderTool;
 import org.tizen.dynamicanalyzer.util.CommonUtil;
 import org.tizen.dynamicanalyzer.util.DALogger;
 
@@ -99,7 +98,6 @@ public class Communicator22 extends BaseCommunicator {
                                return result;
                        }
 
-                       UIRecorderTool.getInstance().startRecorder();
                        ToolbarArea.getInstance().startTimer();
                        // start data manager threads
                        DataManagerRegistry.startThreads();
index 1682c35..ed5d3c8 100644 (file)
@@ -51,9 +51,8 @@ import org.tizen.dynamicanalyzer.project.PackageInfo;
 import org.tizen.dynamicanalyzer.swap.communicator.Communicator30;
 import org.tizen.dynamicanalyzer.swap.platform.BinarySettingData;
 import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea;
-import org.tizen.dynamicanalyzer.uirecorder.UIRecorderTool;
-import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 import org.tizen.dynamicanalyzer.util.DALogger;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 import org.tizen.sdblib.IDevice;
 import org.tizen.sdblib.IDeviceChangeListener;
 import org.tizen.sdblib.SmartDevelopmentBridge;
@@ -524,7 +523,6 @@ public class DACommunicator {
                                        if (selectedDevice.getIDevice().getSerialNumber()
                                                        .equals(deviceInfo.getIDevice().getSerialNumber())) {
                                                DA_LOG.debug("Disconnected while DA is running."); //$NON-NLS-1$
-                                               UIRecorderTool.getInstance().stop();
                                                DACommunicator.setRunning(false);
                                        }
                                }
index 0e8cafb..f247a0c 100644 (file)
@@ -32,13 +32,12 @@ import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.communicator.DACommunicator;
-import org.tizen.dynamicanalyzer.sql.SqlManager;
 import org.tizen.dynamicanalyzer.swap.model.ByteUtils;
 import org.tizen.dynamicanalyzer.swap.model.DATime;
 import org.tizen.dynamicanalyzer.swap.model.data.ReplayData;
 import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea;
 import org.tizen.dynamicanalyzer.ui.toolbar.configuration.ConfigurationDialogDataManager;
-import org.tizen.dynamicanalyzer.uirecorder.UIRecorderTool;
+import org.tizen.dynamicanalyzer.ui.toolbar.replay.data.ReplayDataManager;
 import org.tizen.dynamicanalyzer.widgets.timer.IAlarm;
 import org.tizen.dynamicanalyzer.widgets.timer.TimerClock;
 
@@ -59,15 +58,12 @@ public class ReplayTraceHandler extends AbstractHandler {
        @Override
        public Object execute(ExecutionEvent event) throws ExecutionException {
                if (!DACommunicator.isSWAPVersion()) {
-                       UIRecorderTool recorderMng = UIRecorderTool.getInstance();
                        String xmlFileName = AnalyzerManager.getProject().getSavePath()
                                        + RECORD_DATA_FILE_NAME;
 
                        if (xmlFileName == null || xmlFileName.isEmpty()) {
                                return FAILED;
                        } else {
-                               recorderMng.setXmlPath(xmlFileName);
-                               recorderMng.setReplayFlag(true);
                                isReplay = true;
                                stopTime = AnalyzerManager.getProject().getStopTime();
                        }
@@ -78,8 +74,9 @@ public class ReplayTraceHandler extends AbstractHandler {
 
                        // make replay event
                        // on/off , replay start time, count, event objs
-                       ReplayData replayData = SqlManager.getInstance()
-                                       .getReplayLogs(true);
+                       ReplayData replayData = ReplayDataManager.getInstance()
+                                       .getReplayDBManager().getReplayLogs(true);
+
                        int count = replayData.getObjectCount();
                        byte[] eventObjs = null;
                        for (int i = 0; i < count; i++) {
@@ -102,7 +99,6 @@ public class ReplayTraceHandler extends AbstractHandler {
                        }
                        replayEvent = ByteUtils.getByte(REPLAY_ON, startTime.getSec(),
                                        startTime.getNano(), count, eventObjs);
-                       // SqlManager.getInstance().closeReplayConnection();
                }
                return null;
        }
index 22425cf..f363d6a 100644 (file)
@@ -37,13 +37,12 @@ import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
 import org.tizen.dynamicanalyzer.swap.logparser.Logs;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory;
-import org.tizen.dynamicanalyzer.swap.model.data.ProfileData;
 import org.tizen.dynamicanalyzer.util.DALogger;
 
 /** log insert into database **/
 public class LogInserter implements Runnable {
        private static final DALogger DA_LOG = DALogger.getInstance();
-       
+
        private static Thread insertLogThread = null;
        private static InsertLogQueue insertLogQueue = null;
        private static boolean isCompleted = false;
@@ -102,6 +101,10 @@ public class LogInserter implements Runnable {
                                for (int i = 0; i < size; i++) {
                                        int logId = logIds.get(i);
                                        Logs logs = logPack.getLogs(logId);
+                                       if (null != logs
+                                                       && logId == DataChannelConstants.MSG_DATA_RECORD) {
+                                               continue;
+                                       }
                                        if (null != logs) {
                                                List<LogData> newLogs = new ArrayList<LogData>();
                                                newLogs.addAll(logs.getRawLogs());
index 66244c8..9020799 100644 (file)
@@ -44,10 +44,8 @@ import org.tizen.dynamicanalyzer.nl.AnalyzerLabels;
 import org.tizen.dynamicanalyzer.ui.toolbar.StopLogProcessor;
 import org.tizen.dynamicanalyzer.ui.toolbar.StopProcessManager;
 import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea;
-import org.tizen.dynamicanalyzer.uirecorder.RecordingQueue;
-import org.tizen.dynamicanalyzer.uirecorder.UIRecorderRecordThread;
-import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 import org.tizen.dynamicanalyzer.util.DALogger;
+import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
 
 public class MessageProcess {
        private static final DALogger DA_LOG = DALogger.getInstance();
@@ -148,7 +146,6 @@ public class MessageProcess {
                                processTerminate();
                                break;
                        case AnalyzerConstants.MSG_RECORD: /* terminate : 7 */
-                               processRecordLog(messages[MSG_PAYLOAD_INDEX]);
                                break;
                        default:
                                break;
@@ -221,10 +218,6 @@ public class MessageProcess {
        // return name;
        // }
 
-       private void processRecordLog(final String record) {
-               RecordingQueue rq = UIRecorderRecordThread.getRecordingQueue();
-               rq.putLog(record);
-       }
 
        // private void processImage(final String from) {
        // final String fileName = getImageName(from);
index 2ccdcaa..b086300 100755 (executable)
@@ -54,12 +54,9 @@ import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
 import org.tizen.dynamicanalyzer.swap.channel.data.LibraryObject;
 import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfo;
 import org.tizen.dynamicanalyzer.swap.channel.data.ProcessInfoPackage;
-import org.tizen.dynamicanalyzer.swap.model.RecordEventObject;
 import org.tizen.dynamicanalyzer.swap.model.data.LogData;
 import org.tizen.dynamicanalyzer.swap.model.data.LogDataFactory;
-import org.tizen.dynamicanalyzer.swap.model.data.ReplayData;
 import org.tizen.dynamicanalyzer.swap.model.format.LogFormat;
-import org.tizen.dynamicanalyzer.swap.model.format.ReplayLogFormat;
 import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackData;
 import org.tizen.dynamicanalyzer.ui.info.callstack.CallStackUnit;
 import org.tizen.dynamicanalyzer.ui.summary.failed.FailedChecker;
@@ -81,7 +78,6 @@ public class SqlManager {
        private static SqlManager instance = null;
 
        private Connection connection = null;
-       private Connection replayConnection = null;
 
        private boolean isQueryPrint = false;
 
@@ -93,33 +89,6 @@ public class SqlManager {
                return null;
        }
 
-       public Connection getReplayConnection(String path) {
-               try {
-                       if (null != replayConnection) {
-                               return replayConnection;
-                       }
-                       Class.forName("org.hsqldb.jdbcDriver");
-                       String dbUrl = "jdbc:hsqldb:"
-                                       + path
-                                       + File.separator
-                                       + AnalyzerConstants.DATABASE_NAME
-                                       + ";shutdown=true;hsqldb.default_table_type=cached;hsqldb.large_data=true;hdqldb.log_data=false"; //$NON-NLS-1$
-                       replayConnection = DriverManager.getConnection(dbUrl, "SA", "");
-                       SQLWarning warning = replayConnection.getWarnings();
-                       while (warning != null) {
-                               DA_LOG.debug("Message: " + warning.getMessage());
-                               DA_LOG.debug("SQL state: " + warning.getSQLState());
-                               DA_LOG.debug("Vendor code: " + warning.getErrorCode());
-                               warning = warning.getNextWarning();
-                       }
-               } catch (ClassNotFoundException e) {
-                       e.printStackTrace();
-               } catch (SQLException e) {
-                       e.printStackTrace();
-               }
-               return replayConnection;
-       }
-
        public Connection getConnection(String path) {
                try {
                        if (null != connection) {
@@ -165,24 +134,6 @@ public class SqlManager {
                // }
        }
 
-       public void closeReplayConnection() {
-               if (replayConnection == null) {
-                       return;
-               } else {
-                       try {
-                               Statement st = replayConnection.createStatement();
-                               st.execute("SHUTDOWN");
-                               CommonUtil.tryClose(st);
-                               replayConnection.close();
-                       } catch (SQLException se) {
-                               if (!se.getSQLState().equals("XJ015")) {
-                                       DA_LOG.debug("DB did not shutdown normally");
-                               }
-                       }
-                       replayConnection = null;
-               }
-       }
-
        public void closeConnection() {
                if (connection == null) {
                        return;
@@ -371,28 +322,15 @@ public class SqlManager {
                        int dataRowSize = input.size();
                        for (int i = 0; i < dataRowSize; i++) {
                                logData = input.get(i);
-                               if (logData.getId() != DataChannelConstants.MSG_DATA_RECORD) {
-                                       logData.makePreparedStatement(prep);
-                                       if (logData.getId() == DataChannelConstants.MSG_FUNCTION_ENTRY) {
-                                               ProcessInfoPackage processInfoPkg = AnalyzerManager
-                                                               .getProject().getProcessInfoPackage(
-                                                                               logData.getPid());
-                                               processInfoPkg.addFunctionEntryInsertLogCount();
-                                       }
-
-                                       prep.addBatch();
-                               } else {
-                                       ReplayData replayData = (ReplayData) logData;
-                                       int count = replayData.getObjectCount();
-                                       List<RecordEventObject> events = replayData
-                                                       .getRecordEvent();
-                                       RecordEventObject reo = null;
-                                       for (int ii = 0; ii < count; ii++) {
-                                               reo = events.get(ii);
-                                               reo.makePreparedStatement(prep);
-                                               prep.addBatch();
-                                       }
+                               logData.makePreparedStatement(prep);
+                               if (logData.getId() == DataChannelConstants.MSG_FUNCTION_ENTRY) {
+                                       ProcessInfoPackage processInfoPkg = AnalyzerManager
+                                                       .getProject().getProcessInfoPackage(
+                                                                       logData.getPid());
+                                       processInfoPkg.addFunctionEntryInsertLogCount();
                                }
+                               prep.addBatch();
+
                        }
                        conn.setAutoCommit(false);
                        prep.executeBatch();
@@ -533,8 +471,8 @@ public class SqlManager {
                                int columnSize = rowData.size();
                                for (int j = 0; j < columnSize; j++) {
                                        String rstr = rowData.get(j);
-                                       if(rstr != null && rstr.length() > 256) {
-                                               rstr = rstr.substring(0,  256);
+                                       if (rstr != null && rstr.length() > 256) {
+                                               rstr = rstr.substring(0, 256);
                                                prep.setString(j + 1, rstr);
                                        } else {
                                                prep.setString(j + 1, rstr);
@@ -775,7 +713,7 @@ public class SqlManager {
                        int dataRowSize = input.size();
                        for (int i = 0; i < dataRowSize; i++) {
                                String data = input.get(i);
-                               if(data.length() > 1024) {
+                               if (data.length() > 1024) {
                                        data = data.substring(0, 1024);
                                }
                                prep.setString(1, data);
@@ -1719,184 +1657,6 @@ public class SqlManager {
                return 0;
        }
 
-       public ReplayData getReplayLogs(boolean isReplay) {
-               String query = null;
-               Statement stat = null;
-               ResultSet rs = null;
-               Connection conn = null;
-               ReplayData output = null;
-               try {
-                       if (isReplay) {
-                               conn = getReplayConnection(AnalyzerManager.getProject()
-                                               .getSavePath());
-                       } else {
-                               conn = getConnection();
-                       }
-
-                       if (null == conn) {
-                               return null;
-                       }
-                       semaphoreAcquire();
-                       StringBuffer buffer = new StringBuffer();
-                       List<String> columnNames = ReplayLogFormat.getInstance()
-                                       .getDBColumnNames();
-                       for (int i = 0; i < columnNames.size(); i++) {
-                               buffer.append(columnNames.get(i));
-                               if (i + 1 != columnNames.size()) {
-                                       buffer.append(",");
-                               }
-                       }
-                       stat = conn.createStatement();
-                       query = "select * from replay order by time, rid";
-                       if (isQueryPrint) {
-                               DA_LOG.debug("query : " + query);
-                       }
-                       rs = stat.executeQuery(query);
-                       if (null == rs) {
-                               return null;
-                       }
-                       output = new ReplayData();
-                       List<RecordEventObject> eventObjs = output.getRecordEvent();
-                       while (rs.next()) {
-                               RecordEventObject reObj = new RecordEventObject();
-                               reObj.loadData(rs);
-                               eventObjs.add(reObj);
-                       }
-
-                       output.setObjectCount(eventObjs.size());
-               } catch (SQLException e) {
-                       DA_LOG.debug("SQLException - select : " + query);
-                       e.printStackTrace();
-               } finally {
-                       CommonUtil.tryClose(stat, rs);
-                       if (null != conn) {
-                               semaphoreRelease();
-                       }
-               }
-               return output;
-       }
-
-       public boolean deleteReplayTableItems(boolean isSave, String dbPath,
-                       List<Integer> input) {
-               Statement stat = null;
-               PreparedStatement prep = null;
-               try {
-                       semaphoreAcquire();
-                       Connection conn = null;
-                       if (isSave) {
-                               conn = getReplayConnection(dbPath);
-                       } else {
-                               conn = getConnection();
-                       }
-
-                       if (null == conn) {
-                               return false;
-                       }
-                       stat = conn.createStatement();
-                       String query = String.format("delete from replay");//$NON-NLS-1$
-                       StringBuffer queryBuffer = new StringBuffer(query);
-                       // for (int i = 0; i < input.size(); i++) {
-                       // if (i == 0) {
-                       // queryBuffer.append(" where ");
-                       // }
-                       // queryBuffer.append(" rid = ").append(input.get(i));
-                       // if (i < input.size() - 1) {
-                       // queryBuffer.append(" or ");
-                       // }
-                       // }
-                       if (isQueryPrint) {
-                               DA_LOG.debug("query : " + queryBuffer.toString());
-                       }
-                       stat.executeUpdate(queryBuffer.toString());
-               } catch (SQLException e) {
-                       e.printStackTrace();
-               } finally {
-                       if (null != prep) {
-                               try {
-                                       prep.close();
-                               } catch (SQLException e) {
-                                       e.printStackTrace();
-                               }
-                       }
-                       semaphoreRelease();
-               }
-               return true;
-       }
-
-       public void insertRepalyTableItem(boolean isSave, String dbPath,
-                       List<List<String>> dataList) {
-               LogFormat logFormat = LogDataFactory
-                               .getLogFormatById(DataChannelConstants.MSG_DATA_RECORD);
-
-               StringBuffer buffer = new StringBuffer();
-               buffer.append("insert into ").append(logFormat.getName())
-                               .append(" values( ");
-
-               int columnCount = logFormat.getDBTotalColumnCount();
-               for (int i = 0; i < columnCount; i++) {
-                       if (i + 1 == columnCount) {
-                               buffer.append(" ? );");
-                       } else {
-                               buffer.append("?, ");
-                       }
-               }
-               insertRepalyQuery(isSave, dbPath, buffer.toString(), dataList);
-       }
-
-       public boolean insertRepalyQuery(boolean isSave, String dbPath,
-                       String query, List<List<String>> input) {
-               PreparedStatement prep = null;
-               try {
-                       Connection conn = null;
-                       if (isSave) {
-                               conn = getReplayConnection(dbPath);
-                       } else {
-                               conn = getConnection();
-                       }
-                       if (null == conn || null == query || null == input) {
-                               DA_LOG.debug("failed sql inset : " + input);
-                               return false;
-                       }
-                       semaphoreAcquire();
-                       if (isQueryPrint) {
-                               DA_LOG.debug("query : " + query);
-                       }
-                       prep = conn.prepareStatement(query);
-                       int dataRowSize = input.size();
-                       for (int i = 0; i < dataRowSize; i++) {
-                               List<String> rowData = input.get(i);
-                               prep.setInt(1, Integer.parseInt(rowData.get(0)));
-                               prep.setInt(2, Integer.parseInt(rowData.get(1)));
-                               prep.setLong(3, Long.parseLong(rowData.get(2)));
-                               prep.setLong(4, Long.parseLong(rowData.get(3)));
-                               prep.setInt(5, Integer.parseInt(rowData.get(4)));
-                               prep.setInt(6, Integer.parseInt(rowData.get(5)));
-                               prep.setInt(7, Integer.parseInt(rowData.get(6)));
-                               prep.setInt(8, Integer.parseInt(rowData.get(7)));
-                               prep.setInt(9, Integer.parseInt(rowData.get(8)));
-                               prep.setInt(10, Integer.parseInt(rowData.get(9)));
-                               prep.addBatch();
-                       }
-                       conn.setAutoCommit(false);
-                       prep.executeBatch();
-                       conn.setAutoCommit(true);
-               } catch (SQLException e) {
-                       DA_LOG.error("[Error insert] query = " + query);
-                       e.printStackTrace();
-               } finally {
-                       if (null != prep) {
-                               try {
-                                       prep.close();
-                               } catch (SQLException e) {
-                                       e.printStackTrace();
-                               }
-                       }
-                       semaphoreRelease();
-
-               }
-               return true;
-       }
-
        private String makeSaveFormat(List<Long> input) {
                if (null == input || input.isEmpty()) {
                        return null;
index df45e5e..67bb315 100755 (executable)
@@ -89,10 +89,9 @@ import org.tizen.dynamicanalyzer.ui.page.UpdateViewTimer;
 import org.tizen.dynamicanalyzer.ui.toolbar.ConfigureManager;
 import org.tizen.dynamicanalyzer.ui.toolbar.StartProcessManager;
 import org.tizen.dynamicanalyzer.ui.toolbar.ToolbarArea;
-import org.tizen.dynamicanalyzer.uirecorder.UIRecorderTool;
+import org.tizen.dynamicanalyzer.util.DALogger;
 import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
 import org.tizen.dynamicanalyzer.utils.AnalyzerUtil;
-import org.tizen.dynamicanalyzer.util.DALogger;
 import org.tizen.dynamicanalyzer.widgets.da.base.DADialog;
 import org.tizen.sdblib.exception.SdbCommandRejectedException;
 import org.tizen.sdblib.exception.TimeoutException;
@@ -258,8 +257,6 @@ public class Communicator30 extends BaseCommunicator {
                profilingStartTime.setSec(sec);
                profilingStartTime.setNano(nano);
 
-               UIRecorderTool.getInstance().startRecorder();
-               DA_LOG.performance("TEST", "Start Trace", "Start recoding thread");
                ToolbarArea.getInstance().startTimer();
                DA_LOG.performance("TEST", "Start Trace", "Start Timer");
                SWAPLogParser.startLogParser();
index 349c84a..dc2efc9 100644 (file)
@@ -343,7 +343,7 @@ public class LogDataFactory {
                        format = SystemLogFormat.getInstance();
                        break;
                case MSG_DATA_RECORD:
-                       format = ReplayLogFormat.getInstance();
+       //              format = ReplayLogFormat.getInstance();
                        break;
                default:
                        break;
index 63267f8..13b8004 100755 (executable)
@@ -111,7 +111,7 @@ public class LogFormat {
                        logFormats.add(LifeCycleLogFormat.getInstance());
                        logFormats.add(MemoryLogFormat.getInstance());
                        logFormats.add(ProfilingLogFormat.getInstance());
-                       logFormats.add(ReplayLogFormat.getInstance());
+       //              logFormats.add(ReplayLogFormat.getInstance());
                        logFormats.add(SceneLogFormat.getInstance());
                        logFormats.add(ScreenShotLogFormat.getInstance());
                        logFormats.add(SyncLogFormat.getInstance());
index e33815d..dd052cd 100644 (file)
@@ -38,6 +38,7 @@ import org.tizen.dynamicanalyzer.ui.page.ScreenshotTabComposite;
 import org.tizen.dynamicanalyzer.ui.timeline.calltrace.CallTraceView;
 import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineChartManager;
 import org.tizen.dynamicanalyzer.ui.timeline.common.TimelineView;
+import org.tizen.dynamicanalyzer.ui.toolbar.replay.data.ReplayDataManager;
 import org.tizen.dynamicanalyzer.widgets.da.view.DAPageComposite;
 
 public class TimelinePage extends DAPageComposite {
@@ -83,6 +84,8 @@ public class TimelinePage extends DAPageComposite {
                rightForm.setSashWidth(AnalyzerConstants.SASH_WIDTH);
                
                DataManagerRegistry.registerPageDataManager(TimelineChartManager.getInstance());
+               DataManagerRegistry.registerPageDataManager(ReplayDataManager.getInstance());
+               
        }
 
        @Override
index 1f1016c..5a64ed1 100644 (file)
@@ -30,14 +30,12 @@ import org.eclipse.swt.widgets.Display;
 import org.tizen.dynamicanalyzer.common.AnalyzerConstants;
 import org.tizen.dynamicanalyzer.common.AnalyzerManager;
 import org.tizen.dynamicanalyzer.communicator.DACommunicator;
-import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
 import org.tizen.dynamicanalyzer.logparser.LogInserter;
 import org.tizen.dynamicanalyzer.logparser.LogParser;
 import org.tizen.dynamicanalyzer.project.Project;
 import org.tizen.dynamicanalyzer.sql.SqlManager;
 import org.tizen.dynamicanalyzer.swap.logparser.SWAPLogParser;
 import org.tizen.dynamicanalyzer.ui.page.UpdateViewTimer;
-import org.tizen.dynamicanalyzer.uirecorder.UIRecorderTool;
 import org.tizen.dynamicanalyzer.util.DALogger;
 
 public class StopLogProcessor implements Runnable {
@@ -104,8 +102,6 @@ public class StopLogProcessor implements Runnable {
                percent += 5;
                StopProcessManager.getInstance().setValue(percent);
 
-               UIRecorderTool.getInstance().stop();
-               percent += 5;
                StopProcessManager.getInstance().setValue(percent);
 
                /* save Project */
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDBManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDBManager.java
new file mode 100644 (file)
index 0000000..90e3cfb
--- /dev/null
@@ -0,0 +1,87 @@
+package org.tizen.dynamicanalyzer.ui.toolbar.replay.data;
+
+import java.util.List;
+
+import org.tizen.dynamicanalyzer.database.DBColumn;
+import org.tizen.dynamicanalyzer.database.DBConstants;
+import org.tizen.dynamicanalyzer.database.DBTable;
+import org.tizen.dynamicanalyzer.database.SqlConnectionManager;
+import org.tizen.dynamicanalyzer.swap.model.DATime;
+import org.tizen.dynamicanalyzer.swap.model.RecordEventObject;
+import org.tizen.dynamicanalyzer.swap.model.data.ReplayData;
+
+public class ReplayDBManager extends DBTable {
+
+       private static final String TABLENAME = "REPLAY";
+       public static final String RID = "RID";
+       public static final String MESSAGE_ID = "MESSAGE_ID";
+       public static final String SEQ = "SEQ";
+       public static final String TIME = "TIME";
+       public static final String SEC = "SEC";
+       public static final String NANO = "NANO";
+       public static final String EVENT_ID = "EVENT_ID";
+       public static final String EVENT_TYPE = "EVENT_TYPE";
+       public static final String EVENT_CODE = "EVENT_CODE";
+       public static final String EVENT_VALUE = "EVENT_VALUE";
+
+       private static final String SELECT_QUERY = "select * from " + TABLENAME + " order by " + TIME + " , " + RID; //$NON-NLS-1$
+       private static final String DELETE_QUERY = "delete from " + TABLENAME;
+
+       @Override
+       public String getTableName() {
+               return TABLENAME;
+       }
+
+       public ReplayDBManager() {
+               addColumn(new DBColumn(RID, DBConstants.PRIMARY_KEY,
+                               DBConstants.INTEGER));
+               addColumn(new DBColumn(MESSAGE_ID, DBConstants.NOT_NULL,
+                               DBConstants.INTEGER));
+               addColumn(new DBColumn(SEQ, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(TIME, DBConstants.NOT_NULL, DBConstants.LONG));
+               addColumn(new DBColumn(SEC, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(NANO, DBConstants.NOT_NULL, DBConstants.INTEGER));
+               addColumn(new DBColumn(EVENT_ID, DBConstants.NOT_NULL,
+                               DBConstants.INTEGER));
+               addColumn(new DBColumn(EVENT_TYPE, DBConstants.NOT_NULL,
+                               DBConstants.INTEGER));
+               addColumn(new DBColumn(EVENT_CODE, DBConstants.NOT_NULL,
+                               DBConstants.INTEGER));
+               addColumn(new DBColumn(EVENT_VALUE, DBConstants.NOT_NULL,
+                               DBConstants.INTEGER));
+       }
+
+       public ReplayData getReplayLogs(boolean isReplay) {
+
+               List<List<Object>> result = SqlConnectionManager
+                               .executeQuery(SELECT_QUERY);
+               if (null == result || result.size() == 0 || result.get(0).size() == 0) {
+                       return null;
+               }
+
+               ReplayData output = new ReplayData();
+               List<RecordEventObject> eventObjs = output.getRecordEvent();
+               for (List<Object> data : result) {
+                       RecordEventObject reObj = new RecordEventObject();
+                       reObj.setId((Integer) data.get(0));
+                       reObj.setSeq((Integer) data.get(2));
+                       reObj.setTime((Long) data.get(3));
+                       DATime eventTime = new DATime();
+                       eventTime.setSec((Integer) data.get(4));
+                       eventTime.setNano((Integer) data.get(5));
+                       reObj.setEventTime(eventTime);
+                       reObj.setEventId((Integer) data.get(6));
+                       reObj.setEventType((Integer) data.get(7));
+                       reObj.setEventCode((Integer) data.get(8));
+                       reObj.setEventValue((Integer) data.get(9));
+                       eventObjs.add(reObj);
+               }
+               output.setObjectCount(eventObjs.size());
+               return output;
+       }
+
+       public boolean deleteReplayTableItems() {
+               SqlConnectionManager.executeUpdate(DELETE_QUERY);
+               return true;
+       }
+}
diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDataManager.java
new file mode 100644 (file)
index 0000000..7eea7f3
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ *  Dynamic Analyzer
+ *
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: 
+ * Hyunjong Park <phjwithyou.park@samsung.com>
+ * Jooyoul Lee <jy.exe.lee@samsung.com>
+ * Juyoung Kim <j0.kim@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ * Contributors:
+ * - S-Core Co., Ltd
+ * 
+ */
+
+package org.tizen.dynamicanalyzer.ui.toolbar.replay.data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.tizen.dynamicanalyzer.common.AnalyzerManager;
+import org.tizen.dynamicanalyzer.swap.channel.data.DataChannelConstants;
+import org.tizen.dynamicanalyzer.swap.logparser.LogPackage;
+import org.tizen.dynamicanalyzer.swap.logparser.Logs;
+import org.tizen.dynamicanalyzer.swap.logparser.PageDataManager;
+import org.tizen.dynamicanalyzer.swap.model.RecordEventObject;
+import org.tizen.dynamicanalyzer.swap.model.data.LogData;
+import org.tizen.dynamicanalyzer.swap.model.data.ReplayData;
+import org.tizen.dynamicanalyzer.util.DALogger;
+
+public class ReplayDataManager extends PageDataManager {
+       private static ReplayDataManager instance = null;
+
+       private ReplayDBManager replayDBManager = null;
+       private int rid = 0;
+
+       public ReplayDataManager() {
+               replayDBManager = new ReplayDBManager();
+               addDBTable(replayDBManager);
+       }
+
+       public synchronized static ReplayDataManager getInstance() {
+               if (null == instance) {
+                       instance = new ReplayDataManager();
+               }
+               return instance;
+       }
+
+       /*** make network data thread ***/
+       @Override
+       public void run() {
+               while (!AnalyzerManager.isExit()) {
+                       LogPackage pack = pollPack();
+                       if (pack == null) // stop thread
+                               break;
+
+                       Logs logs = pack.getLogs(DataChannelConstants.MSG_DATA_RECORD);
+                       if (null != logs && logs.getRawLogs().size() != 0) {
+
+                               List<List<Object>> insertData = new ArrayList<List<Object>>();
+
+                               List<LogData> inputs = logs.getLogs();
+                               int dataRowSize = inputs.size();
+                               for (int i = 0; i < dataRowSize; i++) {
+                                       ReplayData replayData = (ReplayData) inputs.get(i);
+                                       List<RecordEventObject> events = replayData
+                                                       .getRecordEvent();
+                                       for (int ii = 0; ii < replayData.getObjectCount(); ii++) {
+                                               RecordEventObject reo = events.get(ii);
+                                               List<Object> insertObject = new ArrayList<Object>();
+                                               insertObject.add(rid++);
+                                               insertObject.add(7);
+                                               insertObject.add(reo.getSeq());
+                                               insertObject.add(reo.getTime());
+                                               insertObject.add(reo.getEventTime().getSec());
+                                               insertObject.add(reo.getEventTime().getNano());
+                                               insertObject.add(reo.getEventId());
+                                               insertObject.add(reo.getEventType());
+                                               insertObject.add(reo.getEventCode());
+                                               insertObject.add(reo.getEventValue());
+                                               insertData.add(insertObject);
+                                       }
+                               }
+                               replayDBManager.insertData(insertData);
+                       }
+               }
+
+               /* log for debug */
+               DALogger.getInstance().info(getName() + " thread end!!");
+       }
+
+       public void clear() {
+               instance = null;
+               replayDBManager = null;
+               rid = 0;
+       }
+
+       public ReplayDBManager getReplayDBManager() {
+               return replayDBManager;
+       }
+
+}
index dc4e2ab..dfe8f21 100644 (file)
@@ -36,6 +36,7 @@ import org.tizen.dynamicanalyzer.sql.SqlManager;
 import org.tizen.dynamicanalyzer.swap.model.DATime;
 import org.tizen.dynamicanalyzer.swap.model.RecordEventObject;
 import org.tizen.dynamicanalyzer.swap.model.data.ReplayData;
+import org.tizen.dynamicanalyzer.ui.toolbar.replay.data.ReplayDataManager;
 import org.tizen.dynamicanalyzer.ui.widgets.table.DATableComposite;
 import org.tizen.dynamicanalyzer.util.WorkbenchUtil;
 import org.tizen.dynamicanalyzer.widgets.button.DACustomButton;
@@ -80,8 +81,6 @@ public class ReplayEditDialogDataManager {
        private List<ReplayEditTableData> replayModifyDataList = null;
        private List<List<String>> tableItemsList = null;
 
-       private List<Integer> removeDBIndex = new ArrayList<Integer>();
-
        public static ReplayEditDialogDataManager getInstance() {
                if (null == instance) {
                        instance = new ReplayEditDialogDataManager();
@@ -98,7 +97,9 @@ public class ReplayEditDialogDataManager {
        public ReplayData getReplayDBData() {
                if (null == replayDBData) {
                        replayDBData = new ReplayData();
-                       replayDBData = SqlManager.getInstance().getReplayLogs(false);
+                       replayDBData = ReplayDataManager.getInstance().getReplayDBManager()
+                                       .getReplayLogs(false);
+                       // replayDBData = SqlManager.getInstance().getReplayLogs(false);
                }
                return replayDBData;
        }
@@ -282,13 +283,12 @@ public class ReplayEditDialogDataManager {
                                dbPath = AnalyzerManager.getProject().getSavePath();
                        }
                        insertDB(true, dbPath);
-                       SqlManager.getInstance().closeReplayConnection();
                }
        }
 
        public void insertDB(boolean isSave, String dbPath) {
-               SqlManager.getInstance().deleteReplayTableItems(isSave, dbPath,
-                               removeDBIndex);
+               ReplayDataManager.getInstance().getReplayDBManager()
+                               .deleteReplayTableItems();
                insertDBData(isSave, dbPath);
        }
 
@@ -302,7 +302,7 @@ public class ReplayEditDialogDataManager {
                int size = getTableItemsList().size();
                for (int i = 0; i < size; i++) {
                        List<String> item = getTableItemsList().get(i);
-                       List<List<String>> dataList = new ArrayList<List<String>>();
+                       List<List<Object>> dataList = new ArrayList<List<Object>>();
                        if (item.get(EVENT_TYPE_TABLE_INDEX).equals(
                                        ReplayEditLabels.CONTEXT_TOUCH)) {
                                dataList = makeDBTouchData(item);
@@ -311,8 +311,8 @@ public class ReplayEditDialogDataManager {
                                dataList = makeDBKeyData(item);
                        }
                        if (dataList.size() > 0) {
-                               SqlManager.getInstance().insertRepalyTableItem(isSave, dbPath,
-                                               dataList);
+                               ReplayDataManager.getInstance().getReplayDBManager()
+                                               .insertData(dataList);
                        }
                }
        }
@@ -335,7 +335,7 @@ public class ReplayEditDialogDataManager {
                return strTime;
        }
 
-       private String getDBPoint(String point) {
+       private int getDBPoint(String point) {
                String strPoint = point;
                if (strPoint.contains(ReplayEditLabels.CONTEXT_VALUE_X)) {
                        strPoint = strPoint.replace(ReplayEditLabels.CONTEXT_VALUE_X,
@@ -346,7 +346,7 @@ public class ReplayEditDialogDataManager {
                        strPoint = strPoint.replace(ReplayEditLabels.CONTEXT_VALUE_Y,
                                        CommonConstants.EMPTY);
                }
-               return strPoint.trim();
+               return Integer.parseInt(strPoint.trim());
        }
 
        public long getTimeValue(long sec, long nano) {
@@ -385,7 +385,7 @@ public class ReplayEditDialogDataManager {
                return resultTime;
        }
 
-       private String getKeyValue(List<String> item) {
+       private int getKeyValue(List<String> item) {
                String keyValue = item.get(EVENT_VALUE1_TABLE_INDEX);
                int nKey = 0;
                if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_MENU)) {
@@ -401,76 +401,72 @@ public class ReplayEditDialogDataManager {
                } else if (keyValue.equals(ReplayEditLabels.CONTEXT_KEY_VOLUME_UP)) {
                        nKey = 114;
                }
-               return Integer.toString(nKey);
+               return nKey;
        }
 
-       private List<List<String>> makeDBKeyData(List<String> item) {
+       private List<List<Object>> makeDBKeyData(List<String> item) {
                String itemMouseDownTime = getDBTime(item
                                .get(EVENT_MOUSE_DOWN_TIME_TABLE_INDEX));
                String itemMouseUpTime = getDBTime(item
                                .get(EVENT_MOUSE_UP_TIME_TABLE_INDEX));
                DATime mouseDownTime = getDATimeValue(Long.parseLong(itemMouseDownTime));
                DATime mouseUpTime = getDATimeValue(Long.parseLong(itemMouseUpTime));
-               String itemValue1 = getKeyValue(item);
+               int itemValue1 = getKeyValue(item);
 
-               List<List<String>> dbKeyDataList = new ArrayList<List<String>>();
+               List<List<Object>> dbKeyDataList = new ArrayList<List<Object>>();
                for (int i = 0; i < 4; i++) {
-                       List<String> keyData = new ArrayList<String>();
+                       List<Object> keyData = new ArrayList<Object>();
                        if (i == 0) {
-                               keyData.add(Integer.toString(mouseDownTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseDownTime);
-                               keyData.add(Long.toString(mouseDownTime.getSec()));
-                               keyData.add(Long.toString(mouseDownTime.getNano()));
-                               keyData.add("1");
-                               keyData.add(Integer.toString(KEY));
+                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseDownTime.getSec());
+                               keyData.add(mouseDownTime.getNano());
+                               keyData.add(1);
+                               keyData.add(KEY);
                                keyData.add(itemValue1);
-                               keyData.add("1");
+                               keyData.add(1);
                        } else if (i == 1) {
-                               keyData.add(Integer.toString(mouseUpTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseDownTime);
-                               keyData.add(Long.toString(mouseDownTime.getSec()));
-                               keyData.add(Long.toString(mouseDownTime.getNano()));
-                               keyData.add("1");
-                               keyData.add("0");
-                               keyData.add("0");
-                               keyData.add("0");
+                               keyData.add(mouseUpTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseDownTime.getSec());
+                               keyData.add(mouseDownTime.getNano());
+                               keyData.add(1);
+                               keyData.add(0);
+                               keyData.add(0);
+                               keyData.add(0);
                        } else if (i == 2) {
-                               keyData.add(Integer.toString(mouseUpTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseUpTime);
-                               keyData.add(Long.toString(mouseUpTime.getSec()));
-                               keyData.add(Long.toString(mouseUpTime.getNano()));
-                               keyData.add("1");
-                               keyData.add(Integer.toString(KEY));
+                               keyData.add(mouseUpTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseUpTime.getSec());
+                               keyData.add(mouseUpTime.getNano());
+                               keyData.add(1);
+                               keyData.add(KEY);
                                keyData.add(itemValue1);
-                               keyData.add("0");
+                               keyData.add(0);
                        } else if (i == 3) {
-                               keyData.add(Integer.toString(mouseUpTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseUpTime);
-                               keyData.add(Long.toString(mouseUpTime.getSec()));
-                               keyData.add(Long.toString(mouseUpTime.getNano()));
-                               keyData.add("1");
-                               keyData.add("0");
-                               keyData.add("0");
-                               keyData.add("0");
+                               keyData.add(mouseUpTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseUpTime.getSec());
+                               keyData.add(mouseUpTime.getNano());
+                               keyData.add(1);
+                               keyData.add(0);
+                               keyData.add(0);
+                               keyData.add(0);
                        }
                        dbKeyDataList.add(keyData);
                }
                return dbKeyDataList;
        }
 
-       private List<List<String>> makeDBTouchData(List<String> item) {
+       private List<List<Object>> makeDBTouchData(List<String> item) {
                String itemMouseDownTime = getDBTime(item
                                .get(EVENT_MOUSE_DOWN_TIME_TABLE_INDEX));
                DATime mouseDownTime = getDATimeValue(Long.parseLong(itemMouseDownTime));
@@ -489,94 +485,86 @@ public class ReplayEditDialogDataManager {
                String itemValue1 = item.get(EVENT_VALUE1_TABLE_INDEX).trim();
                String itemValue2 = item.get(EVENT_VALUE2_TABLE_INDEX).trim();
 
-               List<List<String>> dbKeyDataList = new ArrayList<List<String>>();
+               List<List<Object>> dbKeyDataList = new ArrayList<List<Object>>();
                for (int i = 0; i < makeLogCount; i++) {
-                       List<String> keyData = new ArrayList<String>();
+                       List<Object> keyData = new ArrayList<Object>();
                        if (i == 0) {
-                               keyData.add(Integer.toString(mouseDownTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseDownTime);
-                               keyData.add(Long.toString(mouseDownTime.getSec()));
-                               keyData.add(Long.toString(mouseDownTime.getNano()));
-                               keyData.add("0");
-                               keyData.add(Integer.toString(TOUCH));
-                               keyData.add(Integer
-                                               .toString(TOUCH_EVENT_CODE_MOUSED_DOWN_START));
-                               keyData.add(Integer.toString(insertkeySequence++));
+                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseDownTime.getSec());
+                               keyData.add(mouseDownTime.getNano());
+                               keyData.add(0);
+                               keyData.add(TOUCH);
+                               keyData.add(TOUCH_EVENT_CODE_MOUSED_DOWN_START);
+                               keyData.add(insertkeySequence++);
                        } else if (i == 1) {
-                               keyData.add(Integer.toString(mouseDownTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseDownTime);
-                               keyData.add(Long.toString(mouseDownTime.getSec()));
-                               keyData.add(Long.toString(mouseDownTime.getNano()));
-                               keyData.add("0");
-                               keyData.add(Integer.toString(TOUCH));
-                               keyData.add(Integer.toString(TOUCH_EVENT_CODE_SECOND_ITEM));
-                               keyData.add(Integer.toString(TOUCH_EVENT_VALUE_SECOND_ITEM));
+                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseDownTime.getSec());
+                               keyData.add(mouseDownTime.getNano());
+                               keyData.add(0);
+                               keyData.add(TOUCH);
+                               keyData.add(TOUCH_EVENT_CODE_SECOND_ITEM);
+                               keyData.add(TOUCH_EVENT_VALUE_SECOND_ITEM);
                        } else if (i == 2) {
-                               keyData.add(Integer.toString(mouseDownTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseDownTime);
-                               keyData.add(Long.toString(mouseDownTime.getSec()));
-                               keyData.add(Long.toString(mouseDownTime.getNano()));
-                               keyData.add("0");
-                               keyData.add(Integer.toString(TOUCH));
-                               keyData.add(Integer.toString(TOUCH_EVENT_CODE_X));
+                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseDownTime.getSec());
+                               keyData.add(mouseDownTime.getNano());
+                               keyData.add(0);
+                               keyData.add(TOUCH);
+                               keyData.add(TOUCH_EVENT_CODE_X);
                                keyData.add(getDBPoint(itemValue1));
                        } else if (i == 3) {
-                               keyData.add(Integer.toString(mouseDownTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseDownTime);
-                               keyData.add(Long.toString(mouseDownTime.getSec()));
-                               keyData.add(Long.toString(mouseDownTime.getNano()));
-                               keyData.add("0");
-                               keyData.add(Integer.toString(TOUCH));
-                               keyData.add(Integer.toString(TOUCH_EVENT_CODE_Y));
+                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseDownTime.getSec());
+                               keyData.add(mouseDownTime.getNano());
+                               keyData.add(0);
+                               keyData.add(TOUCH);
+                               keyData.add(TOUCH_EVENT_CODE_Y);
                                keyData.add(getDBPoint(itemValue2));
                        } else if (i == 4) {
-                               keyData.add(Integer.toString(mouseDownTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseDownTime);
-                               keyData.add(Long.toString(mouseDownTime.getSec()));
-                               keyData.add(Long.toString(mouseDownTime.getNano()));
-                               keyData.add("0");
-                               keyData.add("0");
-                               keyData.add("0");
-                               keyData.add("0");
+                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseDownTime.getSec());
+                               keyData.add(mouseDownTime.getNano());
+                               keyData.add(0);
+                               keyData.add(0);
+                               keyData.add(0);
+                               keyData.add(0);
                        } else if (i == 5) {
-                               keyData.add(Integer.toString(mouseDownTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseUpTime);
-                               keyData.add(Long.toString(mouseUpTime.getSec()));
-                               keyData.add(Long.toString(mouseUpTime.getNano()));
-                               keyData.add("0");
-                               keyData.add(Integer.toString(TOUCH));
-                               keyData.add(Integer.toString(TOUCH_EVENT_CODE_MOUSED_UP_START));
-                               keyData.add("-1");
+                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseUpTime.getSec());
+                               keyData.add(mouseUpTime.getNano());
+                               keyData.add(0);
+                               keyData.add(TOUCH);
+                               keyData.add(TOUCH_EVENT_CODE_MOUSED_UP_START);
+                               keyData.add(-1);
                        } else if (i == 6) {
-                               keyData.add(Integer.toString(mouseDownTime.getSec()
-                                               + insertDBRid++));
-                               keyData.add(Integer.toString(MESSAGE_ID));
-                               keyData.add(Integer.toString(sequenceNaumber));
-                               keyData.add(itemMouseUpTime);
-                               keyData.add(Long.toString(mouseUpTime.getSec()));
-                               keyData.add(Long.toString(mouseUpTime.getNano()));
-                               keyData.add("0");
-                               keyData.add("0");
-                               keyData.add("0");
-                               keyData.add("0");
+                               keyData.add(mouseDownTime.getSec() + insertDBRid++);
+                               keyData.add(MESSAGE_ID);
+                               keyData.add(sequenceNaumber);
+                               keyData.add(Long.parseLong(itemMouseDownTime));
+                               keyData.add(mouseUpTime.getSec());
+                               keyData.add(mouseUpTime.getNano());
+                               keyData.add(0);
+                               keyData.add(0);
+                               keyData.add(0);
+                               keyData.add(0);
                        }
                        dbKeyDataList.add(keyData);
                }