[jboss-svn-commits] JBL Code SVN: r25304 - in labs/jbosstm/trunk/XTS/sar/tests: src/org/jboss/jbossts/xts/servicetests and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Feb 17 07:37:30 EST 2009


Author: adinn
Date: 2009-02-17 07:37:30 -0500 (Tue, 17 Feb 2009)
New Revision: 25304

Added:
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/webbean/
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/webbean/XTSHTTPServiceTestRunner.java
Modified:
   labs/jbosstm/trunk/XTS/sar/tests/dd/WEB-INF/web.xml
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATMultiParticipantPrepareAndCommitTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATMultiServicePrepareAndCommitTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATSingleParticipantPrepareAndCommitTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantCoordinatorCompletionParticipantCloseAndExitTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantCoordinatorCompletionParticipantCloseTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantParticipantCompletionParticipantCloseAndExitTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantParticipantCompletionParticipantCloseTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceCoordinatorCompletionParticipantCloseAndExitTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceCoordinatorCompletionParticipantCloseTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceParticipantCompletionParticipantCloseAndExitTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceParticipantCompletionParticipantCloseTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BASingleCoordinatorCompletionParticipantCloseTest.java
   labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BASingleParticipantCompletionParticipantCloseTest.java
Log:
added a test runner servlet which allows the vanilla tests to be run via a web form (without being able to specify any TOAST rules). this is not intended to replace the XTSServiceTestRunnerBean. it is just a help when checking that service tests run correctly since it allows tests to be run without restarting the AS. used this to run the current tests and corrected various errors in the service test programs. they all now register and drive the participants correctly and report their completion status correctly -- all of these are fixes for JBTM-387 and JBTM-431

Modified: labs/jbosstm/trunk/XTS/sar/tests/dd/WEB-INF/web.xml
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/dd/WEB-INF/web.xml	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/dd/WEB-INF/web.xml	2009-02-17 12:37:30 UTC (rev 25304)
@@ -52,6 +52,12 @@
       <load-on-startup>1</load-on-startup>
     </servlet>
 
+    <servlet>
+      <servlet-name>XTS Service Test Web Runner</servlet-name>
+      <servlet-class>org.jboss.jbossts.xts.servicetests.webbean.XTSHTTPServiceTestRunner</servlet-class>
+      <load-on-startup>1</load-on-startup>
+    </servlet>
+
     <!-- Define  Server Endpoint Mappings -->
     <servlet-mapping>
       <servlet-name>XTS Service Test Service One</servlet-name>
@@ -67,4 +73,9 @@
       <servlet-name>XTS Service Test Service Three</servlet-name>
       <url-pattern>/xtsservicetest3</url-pattern>
     </servlet-mapping>
+
+    <servlet-mapping>
+      <servlet-name>XTS Service Test Web Runner</servlet-name>
+      <url-pattern>/</url-pattern>
+    </servlet-mapping>
 </web-app>

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATMultiParticipantPrepareAndCommitTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATMultiParticipantPrepareAndCommitTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATMultiParticipantPrepareAndCommitTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -155,6 +155,8 @@
         }
 
         System.out.println("ATMultiParticipantPrepareAndCommitTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATMultiServicePrepareAndCommitTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATMultiServicePrepareAndCommitTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATMultiServicePrepareAndCommitTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -167,6 +167,8 @@
         }
 
         System.out.println("ATMultiServicePrepareAndCommitTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATSingleParticipantPrepareAndCommitTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATSingleParticipantPrepareAndCommitTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/ATSingleParticipantPrepareAndCommitTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -123,6 +123,8 @@
         }
 
         System.out.println("ATSingleParticipantPrepareAndCommitTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantCoordinatorCompletionParticipantCloseAndExitTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantCoordinatorCompletionParticipantCloseAndExitTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantCoordinatorCompletionParticipantCloseAndExitTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -196,6 +196,8 @@
         }
 
         System.out.println("BAMultiParticipantCoordinatorCompletionParticipantCloseAndExitTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantCoordinatorCompletionParticipantCloseTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantCoordinatorCompletionParticipantCloseTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantCoordinatorCompletionParticipantCloseTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -170,6 +170,8 @@
         }
 
         System.out.println("BAMultiParticipantCoordinatorCompletionParticipantCloseTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantParticipantCompletionParticipantCloseAndExitTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantParticipantCompletionParticipantCloseAndExitTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantParticipantCompletionParticipantCloseAndExitTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -242,6 +242,8 @@
         }
 
         System.out.println("BAMultiParticipantParticipantCompletionParticipantCloseAndExitTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantParticipantCompletionParticipantCloseTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantParticipantCompletionParticipantCloseTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiParticipantParticipantCompletionParticipantCloseTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -93,7 +93,7 @@
 
         // invoke the service to create a coordinator completion participant and script it to close
         commands = new CommandsType();
-        commands.getCommandList().add("enlistPartiicpantCompletion");
+        commands.getCommandList().add("enlistParticipantCompletion");
         commands.getCommandList().add("close");
 
         try {
@@ -116,7 +116,7 @@
 
         // invoke the service again to create a coordinaator completion participant and script it to close
         commands = new CommandsType();
-        commands.getCommandList().add("enlistPartiicpantCompletion");
+        commands.getCommandList().add("enlistParticipantCompletion");
         commands.getCommandList().add("close");
 
         try {
@@ -141,7 +141,7 @@
         // close
 
         commands = new CommandsType();
-        commands.getCommandList().add("enlistPartiicpantCompletion");
+        commands.getCommandList().add("enlistParticipantCompletion");
         commands.getCommandList().add("close");
 
         try {
@@ -241,6 +241,8 @@
         }
 
         System.out.println("BAMultiParticipantParticipantCompletionParticipantCloseTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceCoordinatorCompletionParticipantCloseAndExitTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceCoordinatorCompletionParticipantCloseAndExitTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceCoordinatorCompletionParticipantCloseAndExitTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -208,6 +208,8 @@
         }
 
         System.out.println("BAMultiServiceCoordinatorCompletionParticipantCloseAndExitTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceCoordinatorCompletionParticipantCloseTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceCoordinatorCompletionParticipantCloseTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceCoordinatorCompletionParticipantCloseTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -182,6 +182,8 @@
         }
 
         System.out.println("BAMultiServiceCoordinatorCompletionParticipantCloseTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceParticipantCompletionParticipantCloseAndExitTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceParticipantCompletionParticipantCloseAndExitTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceParticipantCompletionParticipantCloseAndExitTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -103,11 +103,9 @@
             return;
         }
 
-        // invoke the service to create a coordinaator completion participant and script it to complete and close
+        // invoke the service to create a participant completion participant and script it to complete and close
         commands = new CommandsType();
-        commands.getCommandList().add("enlistCoordinatorCompletion");
-        commands.getCommandList().add("complete");
-        commands.getCommandList().add("close");
+        commands.getCommandList().add("enlistParticipantCompletion");
 
         try {
             results = client.serve(serviceURL1, commands);
@@ -127,10 +125,11 @@
             System.out.println("BAMultiServiceParticipantCompletionParticipantCloseAndExitTest : enlistCoordinatorCompletion " + s);
         }
 
-        // invoke the second service to create a coordinator completion participant
+        // invoke the second service to create a participant completion participant
         // and close
         commands = new CommandsType();
-        commands.getCommandList().add("enlistCoordinatorCompletion");
+        commands.getCommandList().add("enlistParticipantCompletion");
+        commands.getCommandList().add("close");
 
         try {
             results = client.serve(serviceURL2, commands);
@@ -154,8 +153,7 @@
         // complete and close
 
         commands = new CommandsType();
-        commands.getCommandList().add("enlistCoordinatorCompletion");
-        commands.getCommandList().add("complete");
+        commands.getCommandList().add("enlistParticipantCompletion");
         commands.getCommandList().add("close");
 
         try {
@@ -255,6 +253,8 @@
         }
 
         System.out.println("BAMultiServiceParticipantCompletionParticipantCloseAndExitTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceParticipantCompletionParticipantCloseTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceParticipantCompletionParticipantCloseTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BAMultiServiceParticipantCompletionParticipantCloseTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -105,8 +105,7 @@
 
         // invoke the service to create a coordinaator completion participant and script it to complete and close
         commands = new CommandsType();
-        commands.getCommandList().add("enlistCoordinatorCompletion");
-        commands.getCommandList().add("complete");
+        commands.getCommandList().add("enlistParticipantCompletion");
         commands.getCommandList().add("close");
 
         try {
@@ -130,8 +129,7 @@
         // invoke the second service to create a coordinator completion participant and script it to complete
         // and close
         commands = new CommandsType();
-        commands.getCommandList().add("enlistCoordinatorCompletion");
-        commands.getCommandList().add("complete");
+        commands.getCommandList().add("enlistParticipantCompletion");
         commands.getCommandList().add("close");
 
         try {
@@ -156,8 +154,7 @@
         // complete and close
 
         commands = new CommandsType();
-        commands.getCommandList().add("enlistCoordinatorCompletion");
-        commands.getCommandList().add("complete");
+        commands.getCommandList().add("enlistParticipantCompletion");
         commands.getCommandList().add("close");
 
         try {
@@ -257,6 +254,8 @@
         }
 
         System.out.println("BAMultiServiceParticipantCompletionParticipantCloseTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BASingleCoordinatorCompletionParticipantCloseTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BASingleCoordinatorCompletionParticipantCloseTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BASingleCoordinatorCompletionParticipantCloseTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -125,6 +125,8 @@
         }
 
         System.out.println("BASingleCoordinatorCompletionParticipantCloseTest : completed");
+
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Modified: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BASingleParticipantCompletionParticipantCloseTest.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BASingleParticipantCompletionParticipantCloseTest.java	2009-02-17 12:32:21 UTC (rev 25303)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/test/BASingleParticipantCompletionParticipantCloseTest.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -155,7 +155,7 @@
 
         System.out.println("BASingleParticipantCompletionParticipantCloseTest : finished");
 
-        isSuccessful = true;
+        isSuccessful = (exception == null);
     }
 
     public boolean isSuccessful() {

Added: labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/webbean/XTSHTTPServiceTestRunner.java
===================================================================
--- labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/webbean/XTSHTTPServiceTestRunner.java	                        (rev 0)
+++ labs/jbosstm/trunk/XTS/sar/tests/src/org/jboss/jbossts/xts/servicetests/webbean/XTSHTTPServiceTestRunner.java	2009-02-17 12:37:30 UTC (rev 25304)
@@ -0,0 +1,204 @@
+package org.jboss.jbossts.xts.servicetests.webbean;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import org.jboss.jbossts.xts.servicetests.test.XTSServiceTest;
+
+/**
+ * a servlet which allows XTS Servcie tests to be run via a web form
+ *
+ * this is provided for use during testing. Service tests are normally expected to be run at AS boot
+ * via XTSServiceTestRunnerBean
+ */
+public class XTSHTTPServiceTestRunner extends HttpServlet
+{
+    public void init(ServletConfig config) throws ServletException
+    {
+        super.init(config);
+    }
+
+    protected String getContentType()
+    {
+        return "text/html";
+    }
+
+    public void doGet(HttpServletRequest request, HttpServletResponse response)
+        throws ServletException, IOException
+    {
+        PrintWriter writer = response.getWriter();
+
+        response.setContentType(getContentType());
+        response.setHeader("Cache-Control", "no-cache");
+
+        doStatus(writer, request, response);
+    }
+
+    public void doPost(HttpServletRequest request, HttpServletResponse response)
+        throws ServletException, IOException
+    {
+        PrintWriter writer = response.getWriter();
+
+        response.setContentType(getContentType());
+        response.setHeader("Cache-Control", "no-cache");
+
+        if ((_runnerThread == null) || (! _runnerThread.isAlive()))
+        {
+            _testClassName = request.getParameter("TestClassName");
+
+            if (_testClassName != null) {
+                Class testClass;
+                ClassLoader cl = XTSHTTPServiceTestRunner.class.getClassLoader();
+
+                try {
+                    testClass = cl.loadClass(_testClassName);
+                } catch (ClassNotFoundException cnfe) {
+                    throw new ServletException("XTSHTTPServicetestRunner : cannot find test class " + _testClassName, cnfe);
+                }
+
+                try {
+                    _currentTest = (XTSServiceTest)testClass.newInstance();
+                } catch (InstantiationException ie) {
+                    throw new ServletException("XTSHTTPServicetestRunner : cannot instantiate test class " + _testClassName, ie);
+                } catch (IllegalAccessException iae) {
+                    throw new ServletException("XTSHTTPServicetestRunner : cannot access constructor for test class " + _testClassName, iae);
+                }
+
+                // since we are running in the AS startup thread we need a separate thread for the test
+
+                _runnerThread = new Thread() {
+                    private XTSServiceTest test = _currentTest;
+                    public void run()
+                    {
+                        _currentTest.run();
+                    }
+                };
+
+                _runnerThread.start();
+            }
+        }
+
+        doStatus(writer, request, response);
+    }
+
+    public void doStatus(PrintWriter writer, HttpServletRequest request, HttpServletResponse response)
+            throws ServletException {
+        writer.println("<HTML>");
+        writer.println("<HEAD>");
+        writer.println("<TITLE>Test Runner</TITLE>");
+        writer.println("</HEAD>");
+        writer.println("<BODY bgcolor=\"white\" style=\"font-family: Arial, Helvetica, sans-serif\">");
+        writer.println("<DIV style=\"font-family: Arial, Helvetica, sans-serif; font-size: large\">&nbsp;<BR>Test Runner: Status<BR>&nbsp;</DIV>");
+
+        writer.println("<TABLE width=\"100%\">");
+
+        if ((_runnerThread == null) || (! _runnerThread.isAlive()))
+        {
+            writer.println("<TR>");
+            writer.println("<TD style=\"font-family: Arial, Helvetica, sans-serif; font-weight: bold\">Action:</TD>");
+            writer.print("<TD style=\"font-family: Arial, Helvetica, sans-serif\">");
+            writer.print("<FORM method=\"POST\" action=\"" + request.getRequestURL() + "\">");
+            writer.print("<INPUT type=\"button\" value=\"run\" onclick=\"this.form.submit()\">");
+            writer.print(" : <INPUT type=\"text\" name=\"TestClassName\"maxlength=\"2000\" size=\"60\">");
+            writer.print("</FORM>");
+            writer.println("</TD>");
+            writer.println("</TR>");
+            if (_runnerThread != null && !_runnerThread.isAlive()) {
+                if (_currentTest != null)
+                {
+                    writer.println("<TR>");
+                    writer.println("<TD style=\"font-family: Arial, Helvetica, sans-serif; font-weight: bold\">Current test:</TD>");
+                    writer.print("<TD style=\"font-family: Arial, Helvetica, sans-serif\">");
+                    encode(writer, _testClassName.toString());
+                    writer.println("</TD>");
+                    writer.println("</TR>");
+                    if (_currentTest.isSuccessful()) {
+                        writer.println("<TR>");
+                        writer.println("<TD style=\"font-family: Arial, Helvetica, sans-serif; font-weight: bold\">Status:</TD>");
+                        writer.print("<TD style=\"font-family: Arial, Helvetica, sans-serif\">");
+                        writer.print("success!");
+                        writer.println("</TD>");
+                        writer.println("</TR>");
+                    } else {
+                        writer.println("<TR>");
+                        writer.println("<TD style=\"font-family: Arial, Helvetica, sans-serif; font-weight: bold\">Status:</TD>");
+                        writer.print("<TD style=\"font-family: Arial, Helvetica, sans-serif\">");
+                        writer.print("fail!");
+                        writer.println("</TD>");
+                        writer.println("</TR>");
+                        if (_currentTest.getException() != null) {
+                            writer.println("<TR>");
+                            writer.println("<TD style=\"font-family: Arial, Helvetica, sans-serif; font-weight: bold\">Exception:</TD>");
+                            writer.print("<TD style=\"font-family: Arial, Helvetica, sans-serif\">");
+                            writer.println("Exception:<BR/>");
+                            encode(writer, _currentTest.getException().toString());
+                            writer.println("</TD>");
+                            writer.println("</TR>");
+                        }
+                    }
+                }
+            }
+        }
+        else
+        {
+            writer.println("<TR>");
+            writer.println("<TD style=\"font-family: Arial, Helvetica, sans-serif; font-weight: bold\">Action:</TD>");
+            writer.print("<TD style=\"font-family: Arial, Helvetica, sans-serif\">");
+            writer.print("<FORM method=\"GET\" action=\"" + request.getRequestURL() + "\">");
+            writer.print("<INPUT type=\"button\" value=\"reload\" onclick=\"this.form.submit()\">");
+            writer.print("</FORM>");
+            writer.println("</TD>");
+            writer.println("</TR>");
+            if (_runnerThread != null && _currentTest != null)
+            {
+                writer.println("<TR>");
+                writer.println("<TD style=\"font-family: Arial, Helvetica, sans-serif; font-weight: bold\">Current test:</TD>");
+                writer.print("<TD style=\"font-family: Arial, Helvetica, sans-serif\">");
+                encode(writer, _testClassName.toString());
+                writer.println("</TD>");
+                writer.println("</TR>");
+                    writer.println("<TR>");
+                    writer.println("<TD style=\"font-family: Arial, Helvetica, sans-serif; font-weight: bold\">Status:</TD>");
+                    writer.print("<TD style=\"font-family: Arial, Helvetica, sans-serif\">");
+                    writer.print("running");
+                    writer.println("</TD>");
+                    writer.println("</TR>");
+            }
+        }
+        writer.println("</TABLE>");
+
+
+        writer.println("</BODY>");
+        writer.println("</HTML>");
+    }
+
+
+    protected static void encode(PrintWriter writer, String string)
+    {
+        if (string != null)
+        {
+            char[] chars = string.toCharArray();
+
+            for (int index = 0; index < chars.length; index++)
+                if (chars[index] == '<')
+                    writer.print("&lt;");
+                else if (chars[index] == '>')
+                    writer.print("&gt;");
+                else if (chars[index] == '&')
+                    writer.print("&amp;");
+                else
+                    writer.print(chars[index]);
+        }
+        else
+            writer.print("null");
+    }
+
+    protected XTSServiceTest         _currentTest        = null;
+    protected String _testClassName = null;
+    protected Thread _runnerThread       = null;
+}




More information about the jboss-svn-commits mailing list