Author: sskracic Date: 2005-09-15 16:25:13 +0200 (Thu, 15 Sep 2005) New Revision: 815 Modified: ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupport.java ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupportListener.java ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupportProfiler.java ccm-core/trunk/src/com/arsdigita/kernel/permissions/PermissionCache.java ccm-core/trunk/src/com/arsdigita/webdevsupport/Dispatcher.java ccm-core/trunk/src/com/arsdigita/webdevsupport/QueryInfo.java ccm-core/trunk/src/com/arsdigita/webdevsupport/WebDevSupport.java ccm-core/trunk/src/com/redhat/persistence/engine/rdbms/RDBMSEngine.java ccm-core/trunk/src/com/redhat/persistence/engine/rdbms/RDBMSProfiler.java ccm-core/trunk/src/com/redhat/persistence/profiler/rdbms/CompoundProfiler.java ccm-core/trunk/src/com/redhat/persistence/profiler/rdbms/StatementProfiler.java Log: Changed contract of some profiler interfaces so that we can track JDBC Connection object as well. While we're at it, changed developer support code so that it now displays connection tag in 'Conn' column, instead of completely useless Profiler's hash code. Modified: ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupport.java =================================================================== --- ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupport.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupport.java 2005-09-15 14:25:13 UTC (rev 815) @@ -118,7 +118,7 @@ * sqle should be null if no exception was thrown, otherwise * it should be the exception thrown */ - static public void logQuery(int connection_id, + static public void logQuery(String connection_id, String type, String query, HashMap bindvars, Modified: ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupportListener.java =================================================================== --- ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupportListener.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupportListener.java 2005-09-15 14:25:13 UTC (rev 815) @@ -55,7 +55,7 @@ * logQuery * Callback logging a database query */ - public void logQuery(int connection_id, + public void logQuery(String connection_id, String type, String query, HashMap bindvars, Modified: ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupportProfiler.java =================================================================== --- ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupportProfiler.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/arsdigita/developersupport/DeveloperSupportProfiler.java 2005-09-15 14:25:13 UTC (rev 815) @@ -18,9 +18,11 @@ */ package com.arsdigita.developersupport; +import com.arsdigita.persistence.PooledConnectionSource; import com.redhat.persistence.engine.rdbms.RDBMSProfiler; import com.redhat.persistence.engine.rdbms.RDBMSStatement; import com.redhat.persistence.engine.rdbms.StatementLifecycle; +import java.sql.Connection; import java.sql.SQLException; import java.util.HashMap; @@ -37,9 +39,9 @@ public DeveloperSupportProfiler() {} - public StatementLifecycle getLifecycle(RDBMSStatement stmt) { + public StatementLifecycle getLifecycle(Connection conn, RDBMSStatement stmt) { if (DeveloperSupport.getListenerCount() > 0) { - return new Lifecycle(stmt); + return new Lifecycle(conn, stmt); } else { return null; } @@ -48,10 +50,12 @@ private class Lifecycle implements StatementLifecycle { private RDBMSStatement m_stmt; + private Connection m_conn; private long m_start; private HashMap m_bindings = new HashMap(); - public Lifecycle(RDBMSStatement stmt) { + public Lifecycle(Connection conn, RDBMSStatement stmt) { + m_conn = conn; m_stmt = stmt; } @@ -76,9 +80,9 @@ public void endExecute(SQLException e) { long end = System.currentTimeMillis(); - DeveloperSupport.logQuery - (System.identityHashCode(DeveloperSupportProfiler.this), - (m_stmt.getSignature() == null + DeveloperSupport.logQuery( + PooledConnectionSource.getConnectionTag(m_conn), + (m_stmt.getSignature() == null ? "executeUpdate" : "executeQuery"), m_stmt.getText(), m_bindings, end - m_start, e); } Modified: ccm-core/trunk/src/com/arsdigita/kernel/permissions/PermissionCache.java =================================================================== --- ccm-core/trunk/src/com/arsdigita/kernel/permissions/PermissionCache.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/arsdigita/kernel/permissions/PermissionCache.java 2005-09-15 14:25:13 UTC (rev 815) @@ -177,7 +177,7 @@ bindVars.put("1", obj.get("id")); bindVars.put("2", party.get("id")); DeveloperSupport.logQuery - (conn.hashCode(), + (conn.toString(), "executeQuery", privQuery, bindVars, Modified: ccm-core/trunk/src/com/arsdigita/webdevsupport/Dispatcher.java =================================================================== --- ccm-core/trunk/src/com/arsdigita/webdevsupport/Dispatcher.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/arsdigita/webdevsupport/Dispatcher.java 2005-09-15 14:25:13 UTC (rev 815) @@ -363,7 +363,7 @@ return result.toString(); } case 1: return current.getTime() + " ms"; - case 2: return current.getConnectionID() + ""; + case 2: return current.getConnectionID(); case 3: return "<blockquote><pre>" + current.getQuery() + "</pre><br>BINDS: " + Modified: ccm-core/trunk/src/com/arsdigita/webdevsupport/QueryInfo.java =================================================================== --- ccm-core/trunk/src/com/arsdigita/webdevsupport/QueryInfo.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/arsdigita/webdevsupport/QueryInfo.java 2005-09-15 14:25:13 UTC (rev 815) @@ -31,7 +31,7 @@ public class QueryInfo { public static final String versionId = "$Id$ by $Author$, $DateTime: 2004/08/16 18:10:38 $"; private int m_id; - private int m_connection_id; + private String m_connection_id; private String m_type; private String m_query; private TreeMap m_bindvars; @@ -40,7 +40,7 @@ private Throwable m_stack_trace; public QueryInfo(int id, - int connection_id, + String connection_id, String type, String query, Map bindvars, @@ -59,7 +59,7 @@ public int getID() { return m_id; } - public int getConnectionID() { + public String getConnectionID() { return m_connection_id; } public String getType() { Modified: ccm-core/trunk/src/com/arsdigita/webdevsupport/WebDevSupport.java =================================================================== --- ccm-core/trunk/src/com/arsdigita/webdevsupport/WebDevSupport.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/arsdigita/webdevsupport/WebDevSupport.java 2005-09-15 14:25:13 UTC (rev 815) @@ -154,7 +154,7 @@ * logQuery * Callback logging a database query */ - public void logQuery(int connection_id, + public void logQuery(String connection_id, String type, String query, HashMap bindvars, Modified: ccm-core/trunk/src/com/redhat/persistence/engine/rdbms/RDBMSEngine.java =================================================================== --- ccm-core/trunk/src/com/redhat/persistence/engine/rdbms/RDBMSEngine.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/redhat/persistence/engine/rdbms/RDBMSEngine.java 2005-09-15 14:25:13 UTC (rev 815) @@ -466,7 +466,7 @@ for (Iterator it = op.getEvents().iterator(); it.hasNext(); ) { stmt.addEvent((Event) it.next()); } - cycle = m_profiler.getLifecycle(stmt); + cycle = m_profiler.getLifecycle(m_conn, stmt); } PreparedStatement ps; Modified: ccm-core/trunk/src/com/redhat/persistence/engine/rdbms/RDBMSProfiler.java =================================================================== --- ccm-core/trunk/src/com/redhat/persistence/engine/rdbms/RDBMSProfiler.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/redhat/persistence/engine/rdbms/RDBMSProfiler.java 2005-09-15 14:25:13 UTC (rev 815) @@ -18,6 +18,8 @@ */ package com.redhat.persistence.engine.rdbms; +import java.sql.Connection; + /** * RDBMSProfiler * @@ -29,6 +31,6 @@ public final static String versionId = "$Id$ by $Author$, $DateTime: 2004/08/16 18:10:38 $"; - StatementLifecycle getLifecycle(RDBMSStatement stmt); + StatementLifecycle getLifecycle(Connection conn, RDBMSStatement stmt); } Modified: ccm-core/trunk/src/com/redhat/persistence/profiler/rdbms/CompoundProfiler.java =================================================================== --- ccm-core/trunk/src/com/redhat/persistence/profiler/rdbms/CompoundProfiler.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/redhat/persistence/profiler/rdbms/CompoundProfiler.java 2005-09-15 14:25:13 UTC (rev 815) @@ -21,6 +21,7 @@ import com.redhat.persistence.engine.rdbms.RDBMSProfiler; import com.redhat.persistence.engine.rdbms.RDBMSStatement; import com.redhat.persistence.engine.rdbms.StatementLifecycle; +import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; import java.util.Iterator; @@ -45,11 +46,11 @@ m_children.add(child); } - public StatementLifecycle getLifecycle(RDBMSStatement stmt) { + public StatementLifecycle getLifecycle(Connection conn, RDBMSStatement stmt) { CompoundLifecycle result = null; for (Iterator it = m_children.iterator(); it.hasNext(); ) { RDBMSProfiler child = (RDBMSProfiler) it.next(); - StatementLifecycle sl = child.getLifecycle(stmt); + StatementLifecycle sl = child.getLifecycle(conn, stmt); if (sl == null) { continue; } if (result == null) { result = new CompoundLifecycle(); } result.add(sl); Modified: ccm-core/trunk/src/com/redhat/persistence/profiler/rdbms/StatementProfiler.java =================================================================== --- ccm-core/trunk/src/com/redhat/persistence/profiler/rdbms/StatementProfiler.java 2005-09-15 14:21:27 UTC (rev 814) +++ ccm-core/trunk/src/com/redhat/persistence/profiler/rdbms/StatementProfiler.java 2005-09-15 14:25:13 UTC (rev 815) @@ -32,6 +32,7 @@ import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; +import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; import java.util.Iterator; @@ -52,7 +53,7 @@ m_inPhase = false; } - public StatementLifecycle getLifecycle(final RDBMSStatement statement) { + public StatementLifecycle getLifecycle(final Connection conn, final RDBMSStatement statement) { if (m_isEnabled) { Assert.exists(m_out, PrintWriter.class); |