package com.sun.enterprise.admin.mbeanapi.deployment; import java.util.Map; import java.util.HashMap; import com.sun.appserv.management.config.JDBCConnectionPoolConfig; import com.sun.appserv.management.config.JDBCConnectionPoolConfigKeys; /** */ public class JDBCConnectionPoolTest extends BaseTest { private final Cmd target; static final String kName = "myJDBCConnectionPool"; static final String kDatasourceClassname = "a.b.c"; static final String kResType = "javax.sql.ConnectionPoolDataSource"; static final String kTransactionIsolationLevel = "repeatable-read"; static final String kValidationTableName = "tab1"; public JDBCConnectionPoolTest(final String user, final String password, final String host, final int port, final String name, final String datasourceClassname) { final CmdFactory cmdFactory = getCmdFactory(); final ConnectCmd connectCmd = cmdFactory.createConnectCmd( user, password, host, port); final CreateJDBCConnectionPoolCmd createCmd = cmdFactory.createCreateJDBCConnectionPoolCmd(name, datasourceClassname, getOptional()); final DeleteJDBCConnectionPoolCmd deleteCmd = cmdFactory.createDeleteJDBCConnectionPoolCmd(name); final PipeCmd p1 = new PipeCmd(connectCmd, createCmd); final PipeCmd p2 = new PipeCmd(p1, new VerifyCreateCmd()); final PipeCmd p3 = new PipeCmd(connectCmd, deleteCmd); final CmdChainCmd chainCmd = new CmdChainCmd(); chainCmd.addCmd(p2); chainCmd.addCmd(p3); target = chainCmd; } protected void runInternal() throws Exception { target.execute(); } public static void main(String[] args) throws Exception { new JDBCConnectionPoolTest( "admin", "password", "localhost", 8686, kName, kDatasourceClassname).run(); } private Map getOptional() { final Map optional = new HashMap(); optional.put(JDBCConnectionPoolConfigKeys.TRANSACTION_ISOLATION_LEVEL_KEY, kTransactionIsolationLevel); optional.put(JDBCConnectionPoolConfigKeys.VALIDATION_TABLE_NAME_KEY, kValidationTableName); optional.put(JDBCConnectionPoolConfigKeys.RES_TYPE_KEY, kResType); return optional; } private final class VerifyCreateCmd implements Cmd, SinkCmd { private JDBCConnectionPoolConfig res; private VerifyCreateCmd() { } public void setPipedData(Object o) { res = (JDBCConnectionPoolConfig)o; } public Object execute() throws Exception { System.out.println("Name="+res.getName()); System.out.println("DatasourceClassname="+ res.getDatasourceClassname()); System.out.println("ResType="+ res.getResType()); System.out.println("SteadyPoolSize="+res.getSteadyPoolSize()); System.out.println("MaxPoolSize="+res.getMaxPoolSize()); System.out.println("MaxWaitTimeInMillis="+ res.getMaxWaitTimeInMillis()); System.out.println("PoolResizeQuantity="+ res.getPoolResizeQuantity()); System.out.println("IdleTimeoutInSeconds="+ res.getIdleTimeoutInSeconds()); System.out.println("FailAllConnections="+ res.getFailAllConnections()); System.out.println("TransactionIsolationLevel="+ res.getTransactionIsolationLevel()); System.out.println("IsIsolationLevelGuaranteed="+ res.getIsIsolationLevelGuaranteed()); System.out.println("IsConnectionValidationRequired="+ res.getIsConnectionValidationRequired()); System.out.println("ConnectionValidationMethod="+ res.getConnectionValidationMethod()); System.out.println("ValidationTableName="+ res.getValidationTableName()); return new Integer(0); } } }