From: greatim Date: Wed, 9 Apr 2014 08:34:01 +0000 (+0900) Subject: [Title] bug fix after refactoring database X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8059da3e62114a1ddc86f7ca4d3086091753fbd8;p=sdk%2Ftools%2Fdynamic-analyzer.git [Title] bug fix after refactoring database [Desc.] [Issue] --- diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/DBTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/DBTable.java index bca9022..d538b2a 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/DBTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/DBTable.java @@ -44,55 +44,59 @@ public abstract class DBTable { } public final void insertData(List> data) { - List columnType = new ArrayList(); - StringBuffer query = new StringBuffer(); - query.append("insert into ").append(getTableName()).append(" values( "); + if (data.size() > 0) { + List columnType = new ArrayList(); + StringBuffer query = new StringBuffer(); + query.append("insert into ").append(getTableName()) + .append(" values( "); - int columnsize = columns.size(); - for (int i = 0; i < columnsize; i++) { - columnType.add(columns.get(i).getType()); + int columnsize = columns.size(); + for (int i = 0; i < columnsize; i++) { + columnType.add(columns.get(i).getType()); - if (i == columnsize - 1) { - query.append(" ? )"); - } else { - query.append("?, "); + if (i == columnsize - 1) { + query.append(" ? )"); + } else { + query.append("?, "); + } } - } - query.append(CommonConstants.SEMICOLON); + query.append(CommonConstants.SEMICOLON); - // execute prepared with data - SqlConnectionManager - .executePrepared(query.toString(), data, columnType); + // execute prepared with data + SqlConnectionManager.executePrepared(query.toString(), data, + columnType); + } } - + // select data from this table // if column list is null, then all column will be selected - public final List> selectData(List column, String option) { + public final List> selectData(List column, + String option) { StringBuffer query = new StringBuffer(); query.append("select "); - - if(column != null) { + + if (column != null) { int columnsize = column.size(); for (int i = 0; i < columnsize; i++) { query.append(column.get(i)); - if(i < columnsize - 1) + if (i < columnsize - 1) query.append(", ");//$NON-NLS-1$ } } else { int columnsize = columns.size(); for (int i = 0; i < columnsize; i++) { query.append(columns.get(i).getName()); - if(i < columnsize - 1) + if (i < columnsize - 1) query.append(", ");//$NON-NLS-1$ } } - + query.append(" from ").append(getTableName()); query.append(" ").append(option); - + return SqlConnectionManager.executeQuery(query.toString()); } - + public final void createIndexTable(String indexColumn) { String queryString = "create index " + getTableName() + "_index on "//$NON-NLS-1$//$NON-NLS-2$ + getTableName() + CommonConstants.OPEN_BRACKET + indexColumn diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/SqlConnectionManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/SqlConnectionManager.java index eb1a3b1..de91aed 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/SqlConnectionManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/database/SqlConnectionManager.java @@ -20,7 +20,7 @@ public class SqlConnectionManager { public static boolean establishConnection(String dbFilePath) { boolean result = true; try { - synchronized (connection) { + synchronized (SqlConnectionManager.class) { if (connection == null) { Class.forName("org.hsqldb.jdbcDriver"); String dbUrl = "jdbc:hsqldb:" @@ -54,7 +54,7 @@ public class SqlConnectionManager { } public static void closeConnection() { - synchronized (connection) { + synchronized (SqlConnectionManager.class) { if (connection != null) { try { Statement st = connection.createStatement(); @@ -71,6 +71,10 @@ public class SqlConnectionManager { } } + public static boolean isConnected() { + return (connection != null); + } + private static void semaphoreAcquire() { } @@ -98,6 +102,10 @@ public class SqlConnectionManager { public static void executePrepared(String query, List> data, List columnType) { PreparedStatement prep = null; + + if (data.size() == 0) + return; + try { if (connection != null) { prep = connection.prepareStatement(query); @@ -133,13 +141,13 @@ public class SqlConnectionManager { try { if (columnType.get(i).equals(DBConstants.TEXT)) { - prep.setString(i, (String) col); + prep.setString(i + 1, (String) col); } else if (columnType.get(i).equals( DBConstants.BIG_TEXT)) { - prep.setString(i, (String) col); + prep.setString(i + 1, (String) col); } else if (columnType.get(i).equals( DBConstants.BIGBIG_TEXT)) { - prep.setString(i, (String) col); + prep.setString(i + 1, (String) col); } else if (columnType.get(i).equals( DBConstants.INTEGER)) { if (col == null) { @@ -148,7 +156,7 @@ public class SqlConnectionManager { isPrepared = false; break; } else { - prep.setInt(i, (Integer) col); + prep.setInt(i + 1, (Integer) col); } } else if (columnType.get(i).equals( DBConstants.LONG)) { @@ -158,7 +166,7 @@ public class SqlConnectionManager { isPrepared = false; break; } else { - prep.setLong(i, (Long) col); + prep.setLong(i + 1, (Long) col); } } else { System.out diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/DBTableManager.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/DBTableManager.java index 5ece27e..0a6e3fc 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/DBTableManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/DBTableManager.java @@ -69,14 +69,13 @@ public class DBTableManager { public static final int TABLE_INDEX_CONTEXT_SWITCH_DATA = 12; public static final int TABLE_INDEX_FUNCTION_CALL_DATA = 13; // public static final int TABLE_INDEX_GLES20_CHANGE_INFO = 12; - public static int TABLE_COUNT = 14; public static final String EMPTY = CommonConstants.EMPTY; public static final String TEXT = "VARCHAR(256)";//$NON-NLS-1$ public static final String BIG_TEXT = "VARCHAR(1024)";//$NON-NLS-1$ public static final String BIGBIG_TEXT = "VARCHAR(16384)";//$NON-NLS-1$ -// public static final String TEXT = "LONGVARCHAR";//$NON-NLS-1$ -// public static final String BIG_TEXT = "LONGVARCHAR";//$NON-NLS-1$ + // public static final String TEXT = "LONGVARCHAR";//$NON-NLS-1$ + // public static final String BIG_TEXT = "LONGVARCHAR";//$NON-NLS-1$ public static final String INTEGER = "INTEGER";//$NON-NLS-1$ public static final String LONG = "bigint";//$NON-NLS-1$ public static final String NOT_NULL = "not null";//$NON-NLS-1$ @@ -168,9 +167,6 @@ public class DBTableManager { public List getTableInfos() { if (null == tableInfos) { tableInfos = new ArrayList(); - for (int i = 0; i < TABLE_COUNT; i++) { - tableInfos.add(null); - } } return tableInfos; } @@ -191,7 +187,7 @@ public class DBTableManager { TEXT, TEXT, TEXT, TEXT, TEXT }; DBTableInfo projectInfo = new DBTableInfo(TABLE_NAME_PROJECT, names, options, types); - tableInfos.set(TABLE_INDEX_PROJECT, projectInfo); + tableInfos.add(projectInfo); } // "callstack units" table info block @@ -202,8 +198,7 @@ public class DBTableManager { String[] types = { TEXT, "VARCHAR(256)", TEXT, TEXT }; DBTableInfo callstackUnitsTableInfo = new DBTableInfo( TABLE_NAME_CALLSTACK_UNITS, names, options, types); - tableInfos - .set(TABLE_INDEX_CALLSTACK_UNITS, callstackUnitsTableInfo); + tableInfos.add(callstackUnitsTableInfo); } // "callstack data" table info block @@ -213,7 +208,7 @@ public class DBTableManager { String[] types = { INTEGER, "VARCHAR(1024)" }; DBTableInfo callstackDataTableInfo = new DBTableInfo( TABLE_NAME_CALLSTACK_DATA, names, options, types); - tableInfos.set(TABLE_INDEX_CALLSTACK_DATA, callstackDataTableInfo); + tableInfos.add(callstackDataTableInfo); } // "failed data" table info block @@ -227,7 +222,7 @@ public class DBTableManager { TEXT, TEXT, TEXT }; DBTableInfo failedDataTableInfo = new DBTableInfo( TABLE_NAME_FAILED_DATA, names, options, types); - tableInfos.set(TABLE_INDEX_FAILED_DATA, failedDataTableInfo); + tableInfos.add(failedDataTableInfo); } // "leak data" table info block @@ -242,7 +237,7 @@ public class DBTableManager { TEXT, TEXT, TEXT, TEXT, TEXT, TEXT }; DBTableInfo leakDataTableInfo = new DBTableInfo( TABLE_NAME_LEAK_DATA, names, options, types); - tableInfos.set(TABLE_INDEX_LEAK_DATA, leakDataTableInfo); + tableInfos.add(leakDataTableInfo); } // "profiling data" table info block @@ -258,7 +253,7 @@ public class DBTableManager { "VARCHAR(512)", "VARCHAR(512)", TEXT, TEXT }; DBTableInfo profilingDataTableInfo = new DBTableInfo( TABLE_NAME_PROFILING_DATA, names, options, types); - tableInfos.set(TABLE_INDEX_PROFILING_DATA, profilingDataTableInfo); + tableInfos.add(profilingDataTableInfo); } // "profiling child data" table info block @@ -269,8 +264,7 @@ public class DBTableManager { String[] types = { TEXT, TEXT, "VARCHAR(1024)" }; DBTableInfo profilingChildTableInfo = new DBTableInfo( TABLE_NAME_PROFILING_CHILD_DATA, names, options, types); - tableInfos.set(TABLE_INDEX_PROFILING_CHILD_DATA, - profilingChildTableInfo); + tableInfos.add(profilingChildTableInfo); } // target info @@ -287,7 +281,7 @@ public class DBTableManager { TEXT, TEXT, TEXT }; DBTableInfo targetInfoTableInfo = new DBTableInfo( TABLE_NAME_TARGET_INFO, names, options, types); - tableInfos.set(TABLE_INDEX_TARGET_INFO, targetInfoTableInfo); + tableInfos.add(targetInfoTableInfo); } // process info @@ -297,7 +291,7 @@ public class DBTableManager { String[] types = { TEXT, TEXT }; DBTableInfo processInfoTableInfo = new DBTableInfo( TABLE_NAME_PROCESS_INFO, names, options, types); - tableInfos.set(TABLE_INDEX_PROCESS_INFO, processInfoTableInfo); + tableInfos.add(processInfoTableInfo); } // library object @@ -309,7 +303,7 @@ public class DBTableManager { String[] types = { TEXT, TEXT, TEXT, TEXT, TEXT }; DBTableInfo libObjTableInfo = new DBTableInfo(TABLE_NAME_LIB_OBJ, names, options, types); - tableInfos.set(TABLE_INDEX_LIB_OBJ, libObjTableInfo); + tableInfos.add(libObjTableInfo); } // api name map @@ -319,7 +313,7 @@ public class DBTableManager { String[] types = { "varchar(1024)" }; DBTableInfo apiName = new DBTableInfo(TABLE_NAME_APINAME, names, options, types); - tableInfos.set(TABLE_INDEX_APINAME, apiName); + tableInfos.add(apiName); } { @@ -349,9 +343,9 @@ public class DBTableManager { types[i] = "VARCHAR(20000)"; } else if (i == GLContextDBEnum.TEXTURE_OBJ_MIN_FUNC.ordinal()) { types[i] = "VARCHAR(20000)"; - }else if (i == GLContextDBEnum.TEXTURE_UNIT_2D.ordinal()) { + } else if (i == GLContextDBEnum.TEXTURE_UNIT_2D.ordinal()) { types[i] = "VARCHAR(2000)"; - }else if (i == GLContextDBEnum.TEXTURE_UNIT_CUBE.ordinal()) { + } else if (i == GLContextDBEnum.TEXTURE_UNIT_CUBE.ordinal()) { types[i] = "VARCHAR(2000)"; } else { types[i] = TEXT; @@ -364,8 +358,7 @@ public class DBTableManager { DBTableInfo Gles20ContextTableInfo = new DBTableInfo( TABLE_NAME_GLES20_CONTEXT_DATA, names, options, types); - tableInfos.set(TABLE_INDEX_GLES20_CONTEXT_DATA, - Gles20ContextTableInfo); + tableInfos.add(Gles20ContextTableInfo); // // gles20 context change info // DBTableInfo Gles20ChangeInfoTableInfo = new DBTableInfo( @@ -373,36 +366,28 @@ public class DBTableManager { // tableInfos.set(TABLE_INDEX_GLES20_CHANGE_INFO, // Gles20ChangeInfoTableInfo); } -/* - // context switch data - { - String[] names = { COMMON_COLUMN_SEQ_NUMBER, COMMON_COLUMN_PID, - COMMON_COLUMN_TID, "CpuNum", CUSTOM_COLUMN_START_TIME, - "StartPcAddr", CUSTOM_COLUMN_END_TIME, "EndPcAddr" }; - String[] options = { NOT_NULL, NOT_NULL, NOT_NULL, EMPTY, EMPTY, - EMPTY, EMPTY, EMPTY }; - String[] types = { INTEGER, INTEGER, INTEGER, INTEGER, LONG, LONG, - LONG, LONG }; - DBTableInfo contextSwitchInfo = new DBTableInfo( - TABLE_NAME_CONTEXT_SWITCH_DATA, names, options, types); - tableInfos.set(TABLE_INDEX_CONTEXT_SWITCH_DATA, contextSwitchInfo); - } - - // function call data - { - String[] names = { COMMON_COLUMN_SEQ_NUMBER, COMMON_COLUMN_PID, - COMMON_COLUMN_TID, "CpuNum", CUSTOM_COLUMN_START_TIME, - "StartType", "StartPcAddr", CUSTOM_COLUMN_END_TIME, - "EndType", "EndPcAddr", CUSTOM_COLUMN_FUNCNAME }; - String[] options = { NOT_NULL, NOT_NULL, NOT_NULL, EMPTY, EMPTY, - EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY }; - String[] types = { INTEGER, INTEGER, INTEGER, INTEGER, LONG, - INTEGER, LONG, LONG, INTEGER, LONG, TEXT }; - DBTableInfo funcCallInfo = new DBTableInfo( - TABLE_NAME_FUNCTION_CALL_DATA, names, options, types); - tableInfos.set(TABLE_INDEX_FUNCTION_CALL_DATA, funcCallInfo); - } -*/ + /* + * // context switch data { String[] names = { COMMON_COLUMN_SEQ_NUMBER, + * COMMON_COLUMN_PID, COMMON_COLUMN_TID, "CpuNum", + * CUSTOM_COLUMN_START_TIME, "StartPcAddr", CUSTOM_COLUMN_END_TIME, + * "EndPcAddr" }; String[] options = { NOT_NULL, NOT_NULL, NOT_NULL, + * EMPTY, EMPTY, EMPTY, EMPTY, EMPTY }; String[] types = { INTEGER, + * INTEGER, INTEGER, INTEGER, LONG, LONG, LONG, LONG }; DBTableInfo + * contextSwitchInfo = new DBTableInfo( TABLE_NAME_CONTEXT_SWITCH_DATA, + * names, options, types); + * tableInfos.set(TABLE_INDEX_CONTEXT_SWITCH_DATA, contextSwitchInfo); } + * + * // function call data { String[] names = { COMMON_COLUMN_SEQ_NUMBER, + * COMMON_COLUMN_PID, COMMON_COLUMN_TID, "CpuNum", + * CUSTOM_COLUMN_START_TIME, "StartType", "StartPcAddr", + * CUSTOM_COLUMN_END_TIME, "EndType", "EndPcAddr", + * CUSTOM_COLUMN_FUNCNAME }; String[] options = { NOT_NULL, NOT_NULL, + * NOT_NULL, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY }; + * String[] types = { INTEGER, INTEGER, INTEGER, INTEGER, LONG, INTEGER, + * LONG, LONG, INTEGER, LONG, TEXT }; DBTableInfo funcCallInfo = new + * DBTableInfo( TABLE_NAME_FUNCTION_CALL_DATA, names, options, types); + * tableInfos.set(TABLE_INDEX_FUNCTION_CALL_DATA, funcCallInfo); } + */ } public DBTableInfo getTableInfo(int tableInfoIndex) { 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 de24b70..b4adcbd 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/sql/SqlManager.java @@ -282,7 +282,7 @@ public class SqlManager { } } - System.out.println("dddd : " + query.toString()); +// System.out.println("dddd : " + query.toString()); return query.toString(); } 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 b728b25..e66bc72 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 @@ -184,7 +184,7 @@ public class Communicator30 extends BaseCommunicator { length, rear); System.out.println("print start message"); - ByteUtils.printByteArrayForStart(ret); +// ByteUtils.printByteArrayForStart(ret); if(PRINT_CONTROL_LOG_TOFILE) { File logPath = new File( @@ -303,12 +303,12 @@ public class Communicator30 extends BaseCommunicator { functionInstList.add(functionInst); // for debug - System.out.print("DEBUG : addr "); - AnalyzerUtil.printHexdecimal(addrSymbol.getAddr()); - System.out.print(" symbol " + addrSymbol.getSymbol() - + " args "); - ByteUtils.printByteArray(functionInst.getArgs()); - System.out.println(); +// System.out.print("DEBUG : addr "); +// AnalyzerUtil.printHexdecimal(addrSymbol.getAddr()); +// System.out.print(" symbol " + addrSymbol.getSymbol() +// + " args "); +// ByteUtils.printByteArray(functionInst.getArgs()); +// System.out.println(); } appInst.setFunctionCount(size - exSize); // appInst.setFunctionCount(0); @@ -498,7 +498,7 @@ public class Communicator30 extends BaseCommunicator { int length = rtByte.length; byte[] msg = ByteUtils.getByte(config, length, rtByte); - ByteUtils.printByteArrayForStart(msg); +// ByteUtils.printByteArrayForStart(msg); HostResult result = handleControlMessage(devInfo, msg); @@ -972,12 +972,12 @@ public class Communicator30 extends BaseCommunicator { functionInstList.add(functionInst); // for debug - System.out.print("LIB : addr "); - AnalyzerUtil.printHexdecimal(addrSymbol.getAddr()); - System.out.print(" symbol " + addrSymbol.getSymbol() - + " args "); - ByteUtils.printByteArray(functionInst.getArgs()); - System.out.println(); +// System.out.print("LIB : addr "); +// AnalyzerUtil.printHexdecimal(addrSymbol.getAddr()); +// System.out.print(" symbol " + addrSymbol.getSymbol() +// + " args "); +// ByteUtils.printByteArray(functionInst.getArgs()); +// System.out.println(); } size = size - exSize; libInst = ByteUtils.getByte(libInst, binaryPath, size); @@ -991,7 +991,7 @@ public class Communicator30 extends BaseCommunicator { int length = libInst.length; msg = ByteUtils.getByte(msg, length, libInst); - ByteUtils.printByteArrayForStart(msg); +// ByteUtils.printByteArrayForStart(msg); HostResult result = handleControlMessage( DACommunicator.getSelectedDevice(), msg); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java index ba13c8e..182fee8 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/MessageParser.java @@ -202,7 +202,7 @@ public class MessageParser { List libObjs = pInfo.getLibObjs(); HashMap libHash = pInfo.getLibObjHash(); - System.out.println("LIBCOUNT :: " + dependantLibCount); +// System.out.println("LIBCOUNT :: " + dependantLibCount); for (int i = 0; i < dependantLibCount; i++) { LibraryObject libObj = new LibraryObject(); libObj.setPid(pid); @@ -219,9 +219,9 @@ public class MessageParser { libObj.setLibPath(libPath); libObjs.add(libObj); libHash.put(libPath, libObj); - System.out.println("LIBPATH :: (" + i + ") " + libPath + "low : " - + AnalyzerUtil.toHexdecimal(lowestAddr) + " high : " - + AnalyzerUtil.toHexdecimal(highestAddr)); +// System.out.println("LIBPATH :: (" + i + ") " + libPath + "low : " +// + AnalyzerUtil.toHexdecimal(lowestAddr) + " high : " +// + AnalyzerUtil.toHexdecimal(highestAddr)); } DATime startTime = AnalyzerManager.getProject().getProfileStartTime(); @@ -340,19 +340,19 @@ public class MessageParser { pInfo.getLibObjHash().put(libPath, libObj); // log - System.out.println("MAP CHANGED ADD " - + AnalyzerUtil.toHexdecimal(id) + " libPath : " + libPath - + " low : " + AnalyzerUtil.toHexdecimal(lowAddr) - + " high: " + AnalyzerUtil.toHexdecimal(highAddr) - + " chage time : " + changeTime.toString() - + " total count : " + pInfo.getLibObjs().size()); +// System.out.println("MAP CHANGED ADD " +// + AnalyzerUtil.toHexdecimal(id) + " libPath : " + libPath +// + " low : " + AnalyzerUtil.toHexdecimal(lowAddr) +// + " high: " + AnalyzerUtil.toHexdecimal(highAddr) +// + " chage time : " + changeTime.toString() +// + " total count : " + pInfo.getLibObjs().size()); } else { - System.out.println("MAP CHANGED REMOVE " - + AnalyzerUtil.toHexdecimal(id) + " libPath : " + libPath - + " low : " + AnalyzerUtil.toHexdecimal(lowAddr) - + " high: " + AnalyzerUtil.toHexdecimal(highAddr) - + " chage time : " + changeTime.toString() - + " total count : " + pInfo.getDepLibCount()); +// System.out.println("MAP CHANGED REMOVE " +// + AnalyzerUtil.toHexdecimal(id) + " libPath : " + libPath +// + " low : " + AnalyzerUtil.toHexdecimal(lowAddr) +// + " high: " + AnalyzerUtil.toHexdecimal(highAddr) +// + " chage time : " + changeTime.toString() +// + " total count : " + pInfo.getDepLibCount()); int size = libObjs.size(); for (int i = 0; i < size; i++) { @@ -363,14 +363,14 @@ public class MessageParser { libObjs.remove(libObj); pInfo.getLibObjHash().remove(libObj.getLibPath()); - System.out.println("LIB UNMAP : " - + libObj.getLibPath() - + " low : " - + AnalyzerUtil.toHexdecimal(libObj - .getLowestAddress()) - + " high: " - + AnalyzerUtil.toHexdecimal(libObj - .getHighestAddress())); +// System.out.println("LIB UNMAP : " +// + libObj.getLibPath() +// + " low : " +// + AnalyzerUtil.toHexdecimal(libObj +// .getLowestAddress()) +// + " high: " +// + AnalyzerUtil.toHexdecimal(libObj +// .getHighestAddress())); break; } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java index 685a435..f47ccdd 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/swap/logparser/SWAPLogParser.java @@ -141,8 +141,8 @@ public class SWAPLogParser implements Runnable { int id = log.getId(); int seqNum = log.getSeq(); if (log instanceof SystemData) { - System.out - .println("=========systemData is slicing===========\n"); +// System.out +// .println("=========systemData is slicing===========\n"); pushLog(log, logPack); } else if (log instanceof ProfileData) { if (!AnalyzerManager.isProcessInfoArrived()) { diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/ContextDataDBInserter.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/ContextDataDBInserter.java index c21fb03..8dbdf5e 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/ContextDataDBInserter.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/ContextDataDBInserter.java @@ -72,8 +72,9 @@ public class ContextDataDBInserter implements Runnable { while (!AnalyzerManager.isExit()) { List> contextData = contextDataQueue.poll(); - if (contextData != null) { - KernelDataManager.getInstance().getContextDataTable().insertData(contextData); + if (contextData != null && contextData.size() != 0) { + KernelDataManager.getInstance().getContextDataTable() + .insertData(contextData); } } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/FunctionDataDBInserter.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/FunctionDataDBInserter.java index f15611e..64ee1d8 100755 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/FunctionDataDBInserter.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/kernel/data/FunctionDataDBInserter.java @@ -72,8 +72,9 @@ public class FunctionDataDBInserter implements Runnable { while (!AnalyzerManager.isExit()) { List> functionData = functionDataQueue.poll(); - if (functionData != null) { - KernelDataManager.getInstance().getFunctionDataTable().insertData(functionData); + if (functionData != null && functionData.size() != 0) { + KernelDataManager.getInstance().getFunctionDataTable() + .insertData(functionData); } } } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDetector.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDetector.java index be75b4d..1806fe2 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDetector.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/leaks/LeakDetector.java @@ -130,8 +130,8 @@ public class LeakDetector { } if (isDropLog(logData) && log.isInternal()) { - System.out.println("drop log " + log.getApiName() + " check " - + log.getInternalCall()); +// System.out.println("drop log " + log.getApiName() + " check " +// + log.getInternalCall()); return; } diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfilingTable.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfilingTable.java index 52ff78c..6b7ad3d 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfilingTable.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/summary/profiling/ProfilingTable.java @@ -267,11 +267,11 @@ public class ProfilingTable extends DATreeComposite { } List text = new ArrayList(); - List data = new ArrayList(); + List data = new ArrayList(); // name text.add(input.getName()); - data.add(Integer.toString(input.getProfileDataMaker().getPid())); + data.add(new Integer(input.getProfileDataMaker().getPid())); // EXCLUSIVE!! // cpu time @@ -284,7 +284,7 @@ public class ProfilingTable extends DATreeComposite { // elapsed time text.add(exeTime); - data.add(Long.toString(input.getExclusiveElapsedTime())); + data.add(new Long(input.getExclusiveElapsedTime())); // INCLUSIVE // cpu time, cpu rate @@ -301,11 +301,11 @@ public class ProfilingTable extends DATreeComposite { } // elapsed time text.add(inExeTime); - data.add(Long.toString(input.getElapsedTime())); + data.add(new Long(input.getElapsedTime())); // call count text.add(callCount); - data.add(Integer.toString(input.getCallCount())); + data.add(new Integer(input.getCallCount())); TreeInput output = new TreeInput(); output.setText(text); diff --git a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DAWindowingTableComposite.java b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DAWindowingTableComposite.java index 73eca33..2dd0d3b 100644 --- a/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DAWindowingTableComposite.java +++ b/org.tizen.dynamicanalyzer/src/org/tizen/dynamicanalyzer/ui/widgets/table/DAWindowingTableComposite.java @@ -385,16 +385,20 @@ public abstract class DAWindowingTableComposite extends DATableComposite { table.update(); } + // this function can be called before database established protected int getItemCount() { if (AnalyzerManager.isRunning()) { // trace totalItemCount = getItemCountByPid(); } else { - if (totalItemCount == 0) { // open - String query = String.format(queryto_GetItemCount, - getDBTableName(), getSelectQueryCountOption()); - List> result = SqlConnectionManager - .executeQuery(query); - totalItemCount = (Integer) result.get(0).get(0); + if (totalItemCount == 0) { // open or never trace + if (SqlConnectionManager.isConnected()) { + String query = String.format(queryto_GetItemCount, + getDBTableName(), getSelectQueryCountOption()); + List> result = SqlConnectionManager + .executeQuery(query); + if(result != null) + totalItemCount = (Integer) result.get(0).get(0); + } } else { // stop totalItemCount = getItemCountByPid(); }