[유치수] [NOBTS] refactoring

git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@473 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
Chisu Yu
2012-07-31 04:52:37 +00:00
parent 8efd46c434
commit ddc5f6b083
24 changed files with 288 additions and 220 deletions
@@ -3,6 +3,8 @@ package com.profiler.modifier;
import java.util.HashMap;
import java.util.Map;
import javassist.ClassPool;
import com.profiler.modifier.db.cubrid.CubridPreparedStatementModifier;
import com.profiler.modifier.db.cubrid.CubridResultSetModifier;
import com.profiler.modifier.db.cubrid.CubridStatementModifier;
@@ -28,6 +30,12 @@ public class DefaultModifierRegistry implements ModifierRegistry {
// TODO 혹시 동시성을 고려 해야 되는지 검토.
private Map<String, Modifier> registry = new HashMap<String, Modifier>();
private final ClassPool classPool;
public DefaultModifierRegistry(ClassPool classPool) {
this.classPool = classPool;
}
@Override
public Modifier findModifier(String className) {
return registry.get(className);
@@ -35,13 +43,13 @@ public class DefaultModifierRegistry implements ModifierRegistry {
public void addTomcatModifier() {
Map<String, Modifier> registry = this.registry;
Modifier entryPointStandardHostValveModifier = new EntryPointStandardHostValveModifier();
Modifier entryPointStandardHostValveModifier = new EntryPointStandardHostValveModifier(classPool);
registry.put("org/apache/catalina/core/StandardHostValve", entryPointStandardHostValveModifier);
Modifier tomcatStandardServiceModifier = new TomcatStandardServiceModifier();
Modifier tomcatStandardServiceModifier = new TomcatStandardServiceModifier(classPool);
registry.put("org/apache/catalina/core/StandardService", tomcatStandardServiceModifier);
Modifier tomcatConnectorModifier = new TomcatConnectorModifier();
Modifier tomcatConnectorModifier = new TomcatConnectorModifier(classPool);
registry.put("org/apache/catalina/connector/Connector", tomcatConnectorModifier);
}
@@ -61,31 +69,31 @@ public class DefaultModifierRegistry implements ModifierRegistry {
private void addMySqlDriver() {
// TODO MySqlDriver는 버전별로 Connection이 interface인지 class인지가 다름. 문제 없는지
// 확인필요.
Modifier mysqlConnectionImplModifier = new MySQLConnectionImplModifier();
Modifier mysqlConnectionImplModifier = new MySQLConnectionImplModifier(classPool);
registry.put("com/mysql/jdbc/ConnectionImpl", mysqlConnectionImplModifier);
Modifier mysqlStatementModifier = new MySQLStatementModifier();
Modifier mysqlStatementModifier = new MySQLStatementModifier(classPool);
registry.put("com/mysql/jdbc/StatementImpl", mysqlStatementModifier);
Modifier mysqlPreparedStatementModifier = new MySQLPreparedStatementModifier();
Modifier mysqlPreparedStatementModifier = new MySQLPreparedStatementModifier(classPool);
registry.put("com/mysql/jdbc/PreparedStatement", mysqlPreparedStatementModifier);
Modifier mysqlResultSetModifier = new MySQLResultSetModifier();
Modifier mysqlResultSetModifier = new MySQLResultSetModifier(classPool);
registry.put("com/mysql/jdbc/ResultSetImpl", mysqlResultSetModifier);
}
private void addMsSqlDriver() {
Map<String, Modifier> registry = this.registry;
Modifier mssqlConnectionModifier = new MSSQLConnectionModifier();
Modifier mssqlConnectionModifier = new MSSQLConnectionModifier(classPool);
registry.put("net/sourceforge/jtds/jdbc/ConnectionJDBC2", mssqlConnectionModifier);
Modifier mssqlStatementModifier = new MSSQLStatementModifier();
Modifier mssqlStatementModifier = new MSSQLStatementModifier(classPool);
registry.put("net/sourceforge/jtds/jdbc/JtdsStatement", mssqlStatementModifier);
Modifier mssqlPreparedStatementModifier = new MSSQLPreparedStatementModifier();
Modifier mssqlPreparedStatementModifier = new MSSQLPreparedStatementModifier(classPool);
registry.put("net/sourceforge/jtds/jdbc/JtdsPreparedStatement", mssqlPreparedStatementModifier);
Modifier mssqlResultSetModifier = new MSSQLResultSetModifier();
Modifier mssqlResultSetModifier = new MSSQLResultSetModifier(classPool);
registry.put("net/sourceforge/jtds/jdbc/JtdsResultSet", mssqlResultSetModifier);
}
@@ -93,39 +101,39 @@ public class DefaultModifierRegistry implements ModifierRegistry {
private void addOracleDriver() {
Map<String, Modifier> registry = this.registry;
// TODO oracle의 경우 connection에 대한 impl이 없음. 확인필요.
Modifier oraclePreparedStatementModifier = new OraclePreparedStatementModifier();
Modifier oraclePreparedStatementModifier = new OraclePreparedStatementModifier(classPool);
registry.put("oracle/jdbc/driver/OraclePreparedStatement", oraclePreparedStatementModifier);
Modifier oracleStatement = new OracleStatementModifier();
Modifier oracleStatement = new OracleStatementModifier(classPool);
registry.put("oracle/jdbc/driver/OracleStatement", oracleStatement);
Modifier oracleResultSetModifier = new OracleResultSetModifier();
Modifier oracleResultSetModifier = new OracleResultSetModifier(classPool);
registry.put("oracle/jdbc/driver/OracleResultSetImpl", oracleResultSetModifier);
}
private void addCubridDriver() {
Map<String, Modifier> registry = this.registry;
// TODO cubrid의 경우도 connection에 대한 impl이 없음. 확인필요.
Modifier cubridStatementModifier = new CubridStatementModifier();
Modifier cubridStatementModifier = new CubridStatementModifier(classPool);
registry.put("cubrid/jdbc/driver/CUBRIDStatement", cubridStatementModifier);
Modifier cubridPreparedStatementModifier = new CubridPreparedStatementModifier();
Modifier cubridPreparedStatementModifier = new CubridPreparedStatementModifier(classPool);
registry.put("cubrid/jdbc/driver/CUBRIDPreparedStatement", cubridPreparedStatementModifier);
Modifier cubridResultSetModifier = new CubridResultSetModifier();
Modifier cubridResultSetModifier = new CubridResultSetModifier(classPool);
registry.put("cubrid/jdbc/driver/CUBRIDResultSet", cubridResultSetModifier);
Modifier cubridUStatementModifier = new CubridUStatementModifier();
Modifier cubridUStatementModifier = new CubridUStatementModifier(classPool);
registry.put("cubrid/jdbc/jci/UStatement", cubridUStatementModifier);
}
private void addDbcpDriver() {
Map<String, Modifier> registry = this.registry;
// TODO cubrid의 경우도 connection에 대한 impl이 없음. 확인필요.
Modifier dbcpBasicDataSourceModifier = new DBCPBasicDataSourceModifier();
Modifier dbcpBasicDataSourceModifier = new DBCPBasicDataSourceModifier(classPool);
registry.put("org/apache/commons/dbcp/BasicDataSource", dbcpBasicDataSourceModifier);
Modifier dbcpPoolModifier = new DBCPPoolModifier();
Modifier dbcpPoolModifier = new DBCPPoolModifier(classPool);
registry.put("org/apache/commons/dbcp/PoolingDataSource$PoolGuardConnectionWrapper", dbcpPoolModifier);
}
}