You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2012/01/06 10:53:32 UTC

svn commit: r1228046 - /axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java

Author: veithen
Date: Fri Jan  6 09:53:31 2012
New Revision: 1228046

URL: http://svn.apache.org/viewvc?rev=1228046&view=rev
Log:
Added a flag to the start-server mojo that makes it possible to run manual tests on the test server.

Modified:
    axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java

Modified: axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java?rev=1228046&r1=1228045&r2=1228046&view=diff
==============================================================================
--- axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java (original)
+++ axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java Fri Jan  6 09:53:31 2012
@@ -80,6 +80,20 @@ public class StartServerMojo extends Abs
      */
     private WSDD[] wsdds;
     
+    /**
+     * If this flag is set to <code>true</code>, then the execution of the goal will block after the
+     * server has been started and the services are deployed. This is useful if one wants to
+     * manually test some services deployed on the server or if one wants to run the integration
+     * tests from an IDE. The flag can only be set using the command line, but not in the POM.
+     * <p>
+     * Note: this feature is implemented using a flag (instead of a distinct goal) to make sure that
+     * the server is configured in exactly the same way as in a normal integration test execution.
+     * 
+     * @parameter expression="${axis.server.foreground}" default-value="false"
+     * @readonly
+     */
+    private boolean foreground;
+    
     public void execute() throws MojoExecutionException, MojoFailureException {
         Log log = getLog();
         
@@ -151,5 +165,17 @@ public class StartServerMojo extends Abs
         } catch (Exception ex) {
             throw new MojoFailureException("Failed to start server", ex);
         }
+        
+        if (foreground) {
+            Object lock = new Object();
+            synchronized (lock) {
+                try {
+                    lock.wait();
+                } catch (InterruptedException ex) {
+                    // Set interrupt flag and continue
+                    Thread.currentThread().interrupt();
+                }
+            }
+        }
     }
 }