mirror of
https://github.com/wahyd4/pinpoint.git
synced 2026-08-23 19:56:59 +10:00
[유치수] [NOBTS] refactoring
git-svn-id: http://svn.bds.nhncorp.com/pe/hippo-tomcat-profiler/trunk@471 84d0f5b1-2673-498c-a247-62c4ff18d310
This commit is contained in:
@@ -27,138 +27,136 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class DefaultModifierRegistry implements ModifierRegistry {
|
||||
// TODO 혹시 동시성을 고려 해야 되는지 검토.
|
||||
private Map<String, Modifier> registry = new HashMap<String, Modifier>();
|
||||
// TODO 혹시 동시성을 고려 해야 되는지 검토.
|
||||
private Map<String, Modifier> registry = new HashMap<String, Modifier>();
|
||||
|
||||
private List<String> packageIncludeFilters = new ArrayList<String>();
|
||||
|
||||
private List<String> packageIncludeFilters = new ArrayList<String>();
|
||||
@Override
|
||||
public Modifier findModifier(String className) {
|
||||
if (!findPackage(className)) {
|
||||
return null;
|
||||
}
|
||||
return registry.get(className);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Modifier findModifier(String className) {
|
||||
if(!findPackage(className)) {
|
||||
return null;
|
||||
}
|
||||
return registry.get(className);
|
||||
}
|
||||
private boolean findPackage(String className) {
|
||||
for (String filter : packageIncludeFilters) {
|
||||
if (className.startsWith(filter)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean findPackage(String className) {
|
||||
for(String filter : packageIncludeFilters) {
|
||||
if(filter.equals(className)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public void addTomcatModifier() {
|
||||
packageIncludeFilters.add("org/apache/catalina");
|
||||
|
||||
public void addTomcatModifier() {
|
||||
packageIncludeFilters.add("org/apache/catalina");
|
||||
Map<String, Modifier> registry = this.registry;
|
||||
Modifier entryPointStandardHostValveModifier = new EntryPointStandardHostValveModifier();
|
||||
registry.put("org/apache/catalina/core/StandardHostValve", entryPointStandardHostValveModifier);
|
||||
|
||||
Map<String, Modifier> registry = this.registry;
|
||||
Modifier entryPointStandardHostValveModifier = new EntryPointStandardHostValveModifier();
|
||||
registry.put("org/apache/catalina/core/StandardHostValve", entryPointStandardHostValveModifier);
|
||||
Modifier tomcatStandardServiceModifier = new TomcatStandardServiceModifier();
|
||||
registry.put("org/apache/catalina/core/StandardService", tomcatStandardServiceModifier);
|
||||
|
||||
Modifier tomcatStandardServiceModifier = new TomcatStandardServiceModifier();
|
||||
registry.put("org/apache/catalina/core/StandardService", tomcatStandardServiceModifier);
|
||||
Modifier tomcatConnectorModifier = new TomcatConnectorModifier();
|
||||
registry.put("org/apache/catalina/connector/Connector", tomcatConnectorModifier);
|
||||
}
|
||||
|
||||
Modifier tomcatConnectorModifier = new TomcatConnectorModifier();
|
||||
registry.put("org/apache/catalina/connector/Connector", tomcatConnectorModifier);
|
||||
}
|
||||
public void addJdbcModifier() {
|
||||
// TODO 드라이버 존재 체크 로직을 앞단으로 이동 시킬수 없는지 검토
|
||||
addMySqlDriver();
|
||||
|
||||
public void addJdbcModifier() {
|
||||
// TODO 드라이버 존재 체크 로직을 앞단으로 이동 시킬수 없는지 검토
|
||||
addMySqlDriver();
|
||||
addMsSqlDriver();
|
||||
|
||||
addMsSqlDriver();
|
||||
addOracleDriver();
|
||||
|
||||
addOracleDriver();
|
||||
addCubridDriver();
|
||||
|
||||
addCubridDriver();
|
||||
addDbcpDriver();
|
||||
}
|
||||
|
||||
addDbcpDriver();
|
||||
}
|
||||
private void addMySqlDriver() {
|
||||
packageIncludeFilters.add("com/mysql/jdbc");
|
||||
// TODO MySqlDriver는 버전별로 Connection이 interface인지 class인지가 다름. 문제 없는지
|
||||
// 확인필요.
|
||||
Modifier mysqlConnectionImplModifier = new MySQLConnectionImplModifier();
|
||||
registry.put("com/mysql/jdbc/ConnectionImpl", mysqlConnectionImplModifier);
|
||||
|
||||
private void addMySqlDriver() {
|
||||
packageIncludeFilters.add("com/mysql/jdbc");
|
||||
// TODO MySqlDriver는 버전별로 Connection이 interface인지 class인지가 다름. 문제 없는지 확인필요.
|
||||
Modifier mysqlConnectionImplModifier = new MySQLConnectionImplModifier();
|
||||
registry.put("com/mysql/jdbc/ConnectionImpl", mysqlConnectionImplModifier);
|
||||
Modifier mysqlStatementModifier = new MySQLStatementModifier();
|
||||
registry.put("com/mysql/jdbc/StatementImpl", mysqlStatementModifier);
|
||||
|
||||
Modifier mysqlStatementModifier = new MySQLStatementModifier();
|
||||
registry.put("com/mysql/jdbc/StatementImpl", mysqlStatementModifier);
|
||||
Modifier mysqlPreparedStatementModifier = new MySQLPreparedStatementModifier();
|
||||
registry.put("com/mysql/jdbc/PreparedStatement", mysqlPreparedStatementModifier);
|
||||
|
||||
Modifier mysqlPreparedStatementModifier = new MySQLPreparedStatementModifier();
|
||||
registry.put("com/mysql/jdbc/PreparedStatement", mysqlPreparedStatementModifier);
|
||||
Modifier mysqlResultSetModifier = new MySQLResultSetModifier();
|
||||
registry.put("com/mysql/jdbc/ResultSetImpl", mysqlResultSetModifier);
|
||||
}
|
||||
|
||||
Modifier mysqlResultSetModifier = new MySQLResultSetModifier();
|
||||
registry.put("com/mysql/jdbc/ResultSetImpl", mysqlResultSetModifier);
|
||||
}
|
||||
private void addMsSqlDriver() {
|
||||
packageIncludeFilters.add("net/sourceforge/jtds/jdbc");
|
||||
|
||||
private void addMsSqlDriver() {
|
||||
packageIncludeFilters.add("net/sourceforge/jtds/jdbc");
|
||||
Map<String, Modifier> registry = this.registry;
|
||||
Modifier mssqlConnectionModifier = new MSSQLConnectionModifier();
|
||||
registry.put("net/sourceforge/jtds/jdbc/ConnectionJDBC2", mssqlConnectionModifier);
|
||||
|
||||
Map<String, Modifier> registry = this.registry;
|
||||
Modifier mssqlConnectionModifier = new MSSQLConnectionModifier();
|
||||
registry.put("net/sourceforge/jtds/jdbc/ConnectionJDBC2", mssqlConnectionModifier);
|
||||
Modifier mssqlStatementModifier = new MSSQLStatementModifier();
|
||||
registry.put("net/sourceforge/jtds/jdbc/JtdsStatement", mssqlStatementModifier);
|
||||
|
||||
Modifier mssqlStatementModifier = new MSSQLStatementModifier();
|
||||
registry.put("net/sourceforge/jtds/jdbc/JtdsStatement", mssqlStatementModifier);
|
||||
Modifier mssqlPreparedStatementModifier = new MSSQLPreparedStatementModifier();
|
||||
registry.put("net/sourceforge/jtds/jdbc/JtdsPreparedStatement", mssqlPreparedStatementModifier);
|
||||
|
||||
Modifier mssqlResultSetModifier = new MSSQLResultSetModifier();
|
||||
registry.put("net/sourceforge/jtds/jdbc/JtdsResultSet", mssqlResultSetModifier);
|
||||
|
||||
Modifier mssqlPreparedStatementModifier = new MSSQLPreparedStatementModifier();
|
||||
registry.put("net/sourceforge/jtds/jdbc/JtdsPreparedStatement", mssqlPreparedStatementModifier);
|
||||
}
|
||||
|
||||
Modifier mssqlResultSetModifier = new MSSQLResultSetModifier();
|
||||
registry.put("net/sourceforge/jtds/jdbc/JtdsResultSet", mssqlResultSetModifier);
|
||||
private void addOracleDriver() {
|
||||
// 좀더 많이 필터링 가능하다. oracle/jdbc/driver
|
||||
packageIncludeFilters.add("oracle/jdbc");
|
||||
|
||||
}
|
||||
Map<String, Modifier> registry = this.registry;
|
||||
// TODO oracle의 경우 connection에 대한 impl이 없음. 확인필요.
|
||||
Modifier oraclePreparedStatementModifier = new OraclePreparedStatementModifier();
|
||||
registry.put("oracle/jdbc/driver/OraclePreparedStatement", oraclePreparedStatementModifier);
|
||||
|
||||
private void addOracleDriver() {
|
||||
// 좀더 많이 필터링 가능하다. oracle/jdbc/driver
|
||||
packageIncludeFilters.add("oracle/jdbc");
|
||||
Modifier oracleStatement = new OracleStatementModifier();
|
||||
registry.put("oracle/jdbc/driver/OracleStatement", oracleStatement);
|
||||
|
||||
Map<String, Modifier> registry = this.registry;
|
||||
// TODO oracle의 경우 connection에 대한 impl이 없음. 확인필요.
|
||||
Modifier oraclePreparedStatementModifier = new OraclePreparedStatementModifier();
|
||||
registry.put("oracle/jdbc/driver/OraclePreparedStatement", oraclePreparedStatementModifier);
|
||||
Modifier oracleResultSetModifier = new OracleResultSetModifier();
|
||||
registry.put("oracle/jdbc/driver/OracleResultSetImpl", oracleResultSetModifier);
|
||||
}
|
||||
|
||||
Modifier oracleStatement = new OracleStatementModifier();
|
||||
registry.put("oracle/jdbc/driver/OracleStatement", oracleStatement);
|
||||
private void addCubridDriver() {
|
||||
// 좀더 많이 필터링 가능하다. cubrid/jdbc/driver, cubrid/jdbc/jci
|
||||
packageIncludeFilters.add("cubrid/jdbc");
|
||||
|
||||
Modifier oracleResultSetModifier = new OracleResultSetModifier();
|
||||
registry.put("oracle/jdbc/driver/OracleResultSetImpl", oracleResultSetModifier);
|
||||
}
|
||||
Map<String, Modifier> registry = this.registry;
|
||||
// TODO cubrid의 경우도 connection에 대한 impl이 없음. 확인필요.
|
||||
Modifier cubridStatementModifier = new CubridStatementModifier();
|
||||
registry.put("cubrid/jdbc/driver/CUBRIDStatement", cubridStatementModifier);
|
||||
|
||||
private void addCubridDriver() {
|
||||
// 좀더 많이 필터링 가능하다. cubrid/jdbc/driver, cubrid/jdbc/jci
|
||||
packageIncludeFilters.add("cubrid/jdbc");
|
||||
Modifier cubridPreparedStatementModifier = new CubridPreparedStatementModifier();
|
||||
registry.put("cubrid/jdbc/driver/CUBRIDPreparedStatement", cubridPreparedStatementModifier);
|
||||
|
||||
Map<String, Modifier> registry = this.registry;
|
||||
// TODO cubrid의 경우도 connection에 대한 impl이 없음. 확인필요.
|
||||
Modifier cubridStatementModifier = new CubridStatementModifier();
|
||||
registry.put("cubrid/jdbc/driver/CUBRIDStatement", cubridStatementModifier);
|
||||
Modifier cubridResultSetModifier = new CubridResultSetModifier();
|
||||
registry.put("cubrid/jdbc/driver/CUBRIDResultSet", cubridResultSetModifier);
|
||||
|
||||
Modifier cubridPreparedStatementModifier = new CubridPreparedStatementModifier();
|
||||
registry.put("cubrid/jdbc/driver/CUBRIDPreparedStatement", cubridPreparedStatementModifier);
|
||||
Modifier cubridUStatementModifier = new CubridUStatementModifier();
|
||||
registry.put("cubrid/jdbc/jci/UStatement", cubridUStatementModifier);
|
||||
|
||||
Modifier cubridResultSetModifier = new CubridResultSetModifier();
|
||||
registry.put("cubrid/jdbc/driver/CUBRIDResultSet", cubridResultSetModifier);
|
||||
}
|
||||
|
||||
Modifier cubridUStatementModifier = new CubridUStatementModifier();
|
||||
registry.put("cubrid/jdbc/jci/UStatement", cubridUStatementModifier);
|
||||
private void addDbcpDriver() {
|
||||
packageIncludeFilters.add("org/apache/commons/dbcp");
|
||||
|
||||
}
|
||||
Map<String, Modifier> registry = this.registry;
|
||||
// TODO cubrid의 경우도 connection에 대한 impl이 없음. 확인필요.
|
||||
Modifier dbcpBasicDataSourceModifier = new DBCPBasicDataSourceModifier();
|
||||
registry.put("org/apache/commons/dbcp/BasicDataSource", dbcpBasicDataSourceModifier);
|
||||
|
||||
private void addDbcpDriver() {
|
||||
packageIncludeFilters.add("org/apache/commons/dbcp");
|
||||
|
||||
Map<String, Modifier> registry = this.registry;
|
||||
// TODO cubrid의 경우도 connection에 대한 impl이 없음. 확인필요.
|
||||
Modifier dbcpBasicDataSourceModifier = new DBCPBasicDataSourceModifier();
|
||||
registry.put("org/apache/commons/dbcp/BasicDataSource", dbcpBasicDataSourceModifier );
|
||||
|
||||
Modifier dbcpPoolModifier = new DBCPPoolModifier();
|
||||
registry.put("org/apache/commons/dbcp/PoolingDataSource$PoolGuardConnectionWrapper", dbcpPoolModifier);
|
||||
|
||||
}
|
||||
Modifier dbcpPoolModifier = new DBCPPoolModifier();
|
||||
registry.put("org/apache/commons/dbcp/PoolingDataSource$PoolGuardConnectionWrapper", dbcpPoolModifier);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user