From e6ef87564633fa97497fd74bc9bd1fb7dcf6870d Mon Sep 17 00:00:00 2001 From: "Hyunjong,park" Date: Mon, 12 May 2014 19:59:18 +0900 Subject: [PATCH] replay : change db manager for save replay's log Signed-off-by: Hyunjong,park Change-Id: I96d96b9af6932ec8ea78fb231be32ab960341508 --- .../communicator/Communicator22.java | 2 - .../communicator/DACommunicator.java | 4 +- .../handlers/ReplayTraceHandler.java | 12 +- .../dynamicanalyzer/logparser/LogInserter.java | 7 +- .../dynamicanalyzer/logparser/MessageProcess.java | 9 +- .../org/tizen/dynamicanalyzer/sql/SqlManager.java | 262 +------------------- .../swap/communicator/Communicator30.java | 5 +- .../swap/model/data/LogDataFactory.java | 2 +- .../swap/model/format/LogFormat.java | 2 +- .../dynamicanalyzer/ui/timeline/TimelinePage.java | 3 + .../ui/toolbar/StopLogProcessor.java | 4 - .../ui/toolbar/replay/data/ReplayDBManager.java | 87 +++++++ .../ui/toolbar/replay/data/ReplayDataManager.java | 114 +++++++++ .../replayEditor/ReplayEditDialogDataManager.java | 264 ++++++++++----------- 14 files changed, 355 insertions(+), 422 deletions(-) create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDBManager.java create mode 100644 org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDataManager.java diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/Communicator22.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/Communicator22.java index e57e642..c6403ec 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/Communicator22.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/Communicator22.java @@ -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(); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/DACommunicator.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/DACommunicator.java index 1682c35..ed5d3c8 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/DACommunicator.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/communicator/DACommunicator.java @@ -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); } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java index 0e8cafb..f247a0c 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java @@ -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; } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogInserter.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogInserter.java index 22425cf..f363d6a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogInserter.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/LogInserter.java @@ -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 newLogs = new ArrayList(); newLogs.addAll(logs.getRawLogs()); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java index 66244c8..9020799 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/logparser/MessageProcess.java @@ -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); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java index 2ccdcaa..b086300 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java @@ -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 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 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 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 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> 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> 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 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 input) { if (null == input || input.isEmpty()) { return null; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java index df45e5e..67bb315 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/communicator/Communicator30.java @@ -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(); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataFactory.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataFactory.java index 349c84a..dc2efc9 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataFactory.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/data/LogDataFactory.java @@ -343,7 +343,7 @@ public class LogDataFactory { format = SystemLogFormat.getInstance(); break; case MSG_DATA_RECORD: - format = ReplayLogFormat.getInstance(); + // format = ReplayLogFormat.getInstance(); break; default: break; diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LogFormat.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LogFormat.java index 63267f8..13b8004 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LogFormat.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/model/format/LogFormat.java @@ -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()); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TimelinePage.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TimelinePage.java index e33815d..dd052cd 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TimelinePage.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/timeline/TimelinePage.java @@ -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 diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java index 1f1016c..5a64ed1 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/StopLogProcessor.java @@ -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 index 0000000..90e3cfb --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDBManager.java @@ -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> result = SqlConnectionManager + .executeQuery(SELECT_QUERY); + if (null == result || result.size() == 0 || result.get(0).size() == 0) { + return null; + } + + ReplayData output = new ReplayData(); + List eventObjs = output.getRecordEvent(); + for (List 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 index 0000000..7eea7f3 --- /dev/null +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replay/data/ReplayDataManager.java @@ -0,0 +1,114 @@ +/* + * Dynamic Analyzer + * + * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved. + * + * Contact: + * Hyunjong Park + * Jooyoul Lee + * Juyoung Kim + * + * 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> insertData = new ArrayList>(); + + List inputs = logs.getLogs(); + int dataRowSize = inputs.size(); + for (int i = 0; i < dataRowSize; i++) { + ReplayData replayData = (ReplayData) inputs.get(i); + List events = replayData + .getRecordEvent(); + for (int ii = 0; ii < replayData.getObjectCount(); ii++) { + RecordEventObject reo = events.get(ii); + List insertObject = new ArrayList(); + 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; + } + +} diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditDialogDataManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditDialogDataManager.java index dc4e2ab..dfe8f21 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditDialogDataManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/toolbar/replayEditor/ReplayEditDialogDataManager.java @@ -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 replayModifyDataList = null; private List> tableItemsList = null; - private List removeDBIndex = new ArrayList(); - 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 item = getTableItemsList().get(i); - List> dataList = new ArrayList>(); + List> dataList = new ArrayList>(); 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 item) { + private int getKeyValue(List 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> makeDBKeyData(List item) { + private List> makeDBKeyData(List 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> dbKeyDataList = new ArrayList>(); + List> dbKeyDataList = new ArrayList>(); for (int i = 0; i < 4; i++) { - List keyData = new ArrayList(); + List keyData = new ArrayList(); 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> makeDBTouchData(List item) { + private List> makeDBTouchData(List 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> dbKeyDataList = new ArrayList>(); + List> dbKeyDataList = new ArrayList>(); for (int i = 0; i < makeLogCount; i++) { - List keyData = new ArrayList(); + List keyData = new ArrayList(); 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); } -- 2.7.4