[jboss-cvs] JBossAS SVN: r86045 - in projects/ejb3/trunk: test-remote/src/main/java/org/jboss/ejb3/testremote/server and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Mar 18 10:05:03 EDT 2009
Author: ALRubinger
Date: 2009-03-18 10:05:03 -0400 (Wed, 18 Mar 2009)
New Revision: 86045
Modified:
projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/remoteaccess/unit/ProxyMockServer.java
projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServer.java
projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServerController.java
Log:
[EJBTHREE-1775] Do not impose a testClass upon MockServer implementations, instead expose all CLI arguments
Modified: projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/remoteaccess/unit/ProxyMockServer.java
===================================================================
--- projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/remoteaccess/unit/ProxyMockServer.java 2009-03-18 13:41:04 UTC (rev 86044)
+++ projects/ejb3/trunk/proxy-impl/src/test/java/org/jboss/ejb3/test/proxy/impl/remoteaccess/unit/ProxyMockServer.java 2009-03-18 14:05:03 UTC (rev 86045)
@@ -78,7 +78,19 @@
Thread.currentThread().setContextClassLoader(new JndiPropertiesToJnpserverPropertiesHackCl());
// Deploy *-beans.xml
- this.getBootstrap().deploy(this.getTestClass());
+ String testClassName = null;
+ try
+ {
+ testClassName = this.getCommandLineArgs()[3];
+ }
+ catch (ArrayIndexOutOfBoundsException aioobe)
+ {
+ throw new RuntimeException("3rd argument to " + this.getClass().getName()
+ + " command launcher must be the FQN of the Test Class");
+ }
+ assert testClassName != null : "Test Class Name was not specified";
+ Class<?> testClass = Class.forName(testClassName, false, Thread.currentThread().getContextClassLoader());
+ this.getBootstrap().deploy(testClass);
// Load ejb3-interceptors-aop.xml into AspectManager
ClassLoader cl = Thread.currentThread().getContextClassLoader();
Modified: projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServer.java
===================================================================
--- projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServer.java 2009-03-18 13:41:04 UTC (rev 86044)
+++ projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServer.java 2009-03-18 14:05:03 UTC (rev 86045)
@@ -80,9 +80,9 @@
private MockServerStatus currentStatus = MockServerStatus.STOPPED;
/**
- * The Test Class using this launcher
+ * CLI arguments to the process
*/
- private Class<?> testClass;
+ private String[] commandLineArgs;
// --------------------------------------------------------------------------------||
// Constructor --------------------------------------------------------------------||
@@ -121,32 +121,19 @@
}
// Assert test class passed in
- assert args.length == 4 : "Parameters requried (in this order): <Fully qualified test case name> <serverFQClassName> <serverBindAddress> <serverPort>";
+ assert args.length >= 3 : "Parameters requried (in this order): <serverFQClassName> <serverBindAddress> <serverPort> <additionalOptionalArguments>";
- // Get Test Class
- String testClassname = args[0];
- Class<?> testClass = null;
- try
- {
- testClass = Class.forName(testClassname);
- }
- catch (ClassNotFoundException cnfe)
- {
- throw new RuntimeException("Specified Test Class, \"" + testClassname + "\" could not be found", cnfe);
- }
-
// Get bind information
- String bindHost = args[args.length - 2];
- int bindPort = Integer.parseInt(args[args.length - 1]);
+ String bindHost = args[1];
+ int bindPort = Integer.parseInt(args[2]);
// Get Mock Server implementation
- String mockServerClassName = args[1];
+ String mockServerClassName = args[0];
// Create a new Launcher
// the serverBindAddress and the port are always the last two arguments
- log.debug("Creating a MockServer for testclass = " + testClass + " and serverBindAddr = " + args[args.length - 2]
- + " and port = " + args[args.length - 1] + " using " + MockServer.class.getSimpleName()
- + " implementation: " + mockServerClassName);
+ log.debug("Creating a MockServer for serverBindAddr = " + bindHost + " and port = " + bindPort + " using "
+ + MockServer.class.getSimpleName() + " implementation: " + mockServerClassName);
// Get the mock server class
Class<?> mockServerClass = null;
@@ -175,8 +162,8 @@
// Create launcher
MockServer launcher = (MockServer) serverCtor.newInstance();
- // Set Test Class
- launcher.setTestClass(testClass);
+ // Set CLI args
+ launcher.setCommandLineArgs(args);
try
{
@@ -293,14 +280,14 @@
this.bootstrap = bootstrap;
}
- public Class<?> getTestClass()
+ protected String[] getCommandLineArgs()
{
- return testClass;
+ return commandLineArgs;
}
- public void setTestClass(Class<?> testClass)
+ protected void setCommandLineArgs(String[] commandLineArgs)
{
- this.testClass = testClass;
+ this.commandLineArgs = commandLineArgs;
}
}
Modified: projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServerController.java
===================================================================
--- projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServerController.java 2009-03-18 13:41:04 UTC (rev 86044)
+++ projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServerController.java 2009-03-18 14:05:03 UTC (rev 86045)
@@ -156,11 +156,11 @@
// expected to listen
int numberOfArgs = arguments.length;
String[] processArgs = new String[numberOfArgs + 3];
- System.arraycopy(arguments, 0, processArgs, 0, numberOfArgs);
- // now append the server host and port
- processArgs[processArgs.length - 3] = serverClass.getName();
- processArgs[processArgs.length - 2] = this.serverHost;
- processArgs[processArgs.length - 1] = String.valueOf(this.port);
+ System.arraycopy(arguments, 0, processArgs, 3, numberOfArgs);
+ // now prepend the server host and port
+ processArgs[0] = serverClass.getName();
+ processArgs[1] = this.serverHost;
+ processArgs[2] = String.valueOf(this.port);
createRemoteProcess(serverClass, processArgs);
More information about the jboss-cvs-commits
mailing list