From 919e15b09ecd266191231a7ad081c1d1dd2311ac Mon Sep 17 00:00:00 2001 From: "Hyunjong,park" Date: Tue, 8 Oct 2013 17:57:20 +0900 Subject: [PATCH] [Title] fix opentrace [Desc.] enable opentrace button when get saved file [Issue] - --- .../dynamicanalyzer/common/AnalyzerConstants.java | 5 +- .../dynamicanalyzer/handlers/OpenTraceHandler.java | 2 + .../handlers/ReplayTraceHandler.java | 1 + .../org/tizen/dynamicanalyzer/project/Project.java | 3 +- .../org/tizen/dynamicanalyzer/sql/SqlManager.java | 107 ++++++++++----------- 5 files changed, 60 insertions(+), 58 deletions(-) diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java index 238a47b..eef0ec3 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/common/AnalyzerConstants.java @@ -130,8 +130,9 @@ public class AnalyzerConstants { public static final int PROJECT_SAVE_PATH_INDEX = 2; public static final int PROJECT_LAST_DATA_INDEX = 3; public static final int PROJECT_VERSION_INDEX = 4; - public static final int PROJECT_DEVICE_INDEX = 5; - public static final int PROJECT_LAST_TIME_INDEX = 6; + public static final int PROJECT_PACKAGE_ID_INDEX = 5; + public static final int PROJECT_DEVICE_INDEX = 6; + public static final int PROJECT_LAST_TIME_INDEX = 7; public static final int PROJECT_STOP_TIME_INDEX = 7; /* save return values */ diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java index 1feedb4..81fa8b7 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/OpenTraceHandler.java @@ -112,6 +112,8 @@ public class OpenTraceHandler extends AbstractHandler { p.setCreateTime(pInfo.get(i)); } else if (i == AnalyzerConstants.PROJECT_APPNAME_INDEX) { p.setAppName(pInfo.get(i)); + } else if (i == AnalyzerConstants.PROJECT_PACKAGE_ID_INDEX) { + p.setPkgId(pInfo.get(i)); } else if (i == AnalyzerConstants.PROJECT_STOP_TIME_INDEX) { try { long stopTime = Long.parseLong(pInfo.get(i)); 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 9b2156b..ea48da0 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/handlers/ReplayTraceHandler.java @@ -87,6 +87,7 @@ 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/project/Project.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java index 0b42c18..98f4844 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/project/Project.java @@ -53,6 +53,7 @@ public class Project { public static final String SAVE_PATH = "SavePath"; public static final String LOG_NUMS = "LastLogs"; public static final String SAVE_VERSION = "Version"; + public static final String PACKAGE_ID = "pkgID"; public static final String DEVICE = "Device"; public static final String LAST_TIME = "LastTime"; public static final String STOP_TIME = "StopTime"; @@ -148,7 +149,7 @@ public class Project { public String getVersion() { return version; } - + public long getLastLogNum(int type) { if (type == AnalyzerConstants.MSG_DATA_SYSTEM) { return lastDeviceLogNum; 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 78a4957..d930c0b 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java @@ -78,7 +78,9 @@ public class SqlManager { private static final int PERMIT = 1; private Semaphore semaphore = new Semaphore(PERMIT); private static SqlManager instance = null; + private Connection connection = null; + private Connection replayConnection = null; private Connection getConnection() { Project project = AnalyzerManager.getProject(); @@ -88,21 +90,30 @@ public class SqlManager { return null; } - // public Connection getConnection(String path) { - // try { - // if (null != connection) { - // return connection; - // } - // Class.forName("org.sqlite.JDBC"); //$NON-NLS-1$ - // connection = DriverManager.getConnection("jdbc:sqlite:" //$NON-NLS-1$ - // + path + File.separator + AnalyzerConstants.DATABASE_NAME); - // } catch (ClassNotFoundException e) { - // e.printStackTrace(); - // } catch (SQLException e) { - // e.printStackTrace(); - // } - // return connection; - // } + 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"; //$NON-NLS-1$ //$NON-NLS-2$ + replayConnection = DriverManager.getConnection(dbUrl, "SA", ""); + SQLWarning warning = replayConnection.getWarnings(); + System.out.println("dbUrl : " + dbUrl); + while (warning != null) { + System.out.println("Message: " + warning.getMessage()); + System.out.println("SQL state: " + warning.getSQLState()); + System.out.println("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 { @@ -147,19 +158,22 @@ public class SqlManager { } } - // public void closeConnection() { - // if (connection == null) { - // return; - // } else { - // try { - // connection.close(); - // } catch (SQLException e) { - // // TODO Auto-generated catch block - // e.printStackTrace(); - // } - // connection = null; - // } - // } + public void closeReplayConnection() { + if (replayConnection == null) { + return; + } else { + try { + Statement st = replayConnection.createStatement(); + st.execute("SHUTDOWN"); + replayConnection.close(); + } catch (SQLException se) { + if (!se.getSQLState().equals("XJ015")) { + System.out.println("DB did not shutdown normally"); + } + } + replayConnection = null; + } + } public void closeConnection() { if (connection == null) { @@ -191,27 +205,6 @@ public class SqlManager { instance = null; } - // create query - // public synchronized void createTable(int id) { - // Statement stat = null; - // try { - // Connection conn = getConnection(); - // if (null == conn) { - // return; - // } - // semaphoreAcquire(); - // stat = conn.createStatement(); - // stat.executeUpdate(createDropTableQuery(LogDataFactory - // .getTableNamebyId(id))); - // stat.executeUpdate(createTableQuery(id)); - // } catch (SQLException e) { - // e.printStackTrace(); - // } finally { - // AnalyzerUtil.tryClose(stat); - // semaphoreRelease(); - // } - // } - public synchronized void createProbeTable() { Statement stat = null; try { @@ -296,6 +289,8 @@ public class SqlManager { .append(COMMA); buf.append(Project.SAVE_VERSION).append(SPACE).append(TEXT) .append(COMMA); + buf.append(Project.PACKAGE_ID).append(SPACE).append(TEXT) + .append(COMMA); buf.append(Project.DEVICE).append(SPACE).append(TEXT).append(COMMA); buf.append(Project.LAST_TIME).append(SPACE).append(TEXT) .append(COMMA); @@ -303,7 +298,7 @@ public class SqlManager { buf.append(CommonConstants.CLOSE_BRACKET).append( CommonConstants.SEMICOLON); stat.executeUpdate(buf.toString()); - System.out.println(buf.toString()); + System.out.println("createProjectTable : " + buf.toString()); } catch (SQLException e) { e.printStackTrace(); } finally { @@ -416,7 +411,7 @@ public class SqlManager { } public void insertProject() { - String insertQuery = "insert into project values ( ?, ?, ?, ?, ?, ?, ?, ? );"; //$NON-NLS-1$ + String insertQuery = "insert into project values ( ?, ?, ?, ?, ?, ?, ?, ?, ? );"; //$NON-NLS-1$ Project project = AnalyzerManager.getProject(); List insetRowData = new ArrayList(); @@ -426,6 +421,7 @@ public class SqlManager { insetRowData.add(project.getSavePath()); insetRowData.add(project.getLastLogNumbers()); insetRowData.add(project.getVersion()); + insetRowData.add(project.getPkgId()); insetRowData.add(project.getDevice()); insetRowData.add(Long.toString(project.getLastTime())); insetRowData.add(Long.toString(project.getStopTime())); @@ -973,7 +969,8 @@ public class SqlManager { Connection conn = null; ReplayData output = null; try { - conn = getConnection(); + conn = getReplayConnection(AnalyzerManager.getProject() + .getSavePath()); if (null == conn) { return null; } @@ -1216,9 +1213,9 @@ public class SqlManager { public List getDetailsInfo(String path) { List> dbInfo = selectQuery(path, new String[] { Project.APP_NAME, Project.CREATE_TIME, Project.SAVE_PATH, - Project.LOG_NUMS, Project.SAVE_VERSION, Project.DEVICE, - Project.LAST_TIME, Project.STOP_TIME }, Project.TABLE_NAME, - null); + Project.LOG_NUMS, Project.SAVE_VERSION, Project.PACKAGE_ID, + Project.DEVICE, Project.LAST_TIME, Project.STOP_TIME }, + Project.TABLE_NAME, null); if (dbInfo == null || dbInfo.isEmpty()) { return null; } -- 2.7.4