Author: rmannibucau
Date: Mon Sep 24 16:22:21 2012
New Revision: 1389472

URL: http://svn.apache.org/viewvc?rev=1389472&view=rev
Log:
better wrapping of arquillian remote RemoteServer options

Modified:
    
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
    
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
    
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
    
openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java

Modified: 
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java?rev=1389472&r1=1389471&r2=1389472&view=diff
==============================================================================
--- 
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
 (original)
+++ 
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
 Mon Sep 24 16:22:21 2012
@@ -241,6 +241,7 @@ public class Setup {
                 } finally {
                     IO.close(fos);
                 }
+                
configuration.setStopPort(Integer.parseInt(QuickServerXmlParser.parse(sXml).stop()));
                 return; // in this case we don't want to override the conf
             }
         }

Modified: 
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java?rev=1389472&r1=1389471&r2=1389472&view=diff
==============================================================================
--- 
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
 (original)
+++ 
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
 Mon Sep 24 16:22:21 2012
@@ -37,6 +37,8 @@ public class RemoteTomEEConfiguration ex
     private int ajpPort = 8009;
     private String conf;
     private boolean cleanOnStartUp;
+    private boolean debug;
+    private int debugPort = 5005;
 
     public String getGroupId() {
         return groupId;
@@ -132,4 +134,20 @@ public class RemoteTomEEConfiguration ex
     public boolean getCleanOnStartUp() {
         return cleanOnStartUp;
     }
+
+    public boolean isDebug() {
+        return debug;
+    }
+
+    public void setDebug(boolean debug) {
+        this.debug = debug;
+    }
+
+    public int getDebugPort() {
+        return debugPort;
+    }
+
+    public void setDebugPort(int debugPort) {
+        this.debugPort = debugPort;
+    }
 }

Modified: 
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java?rev=1389472&r1=1389471&r2=1389472&view=diff
==============================================================================
--- 
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
 (original)
+++ 
openejb/branches/openejb-4.5.0/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
 Mon Sep 24 16:22:21 2012
@@ -24,13 +24,10 @@ import org.apache.openejb.assembler.Depl
 import org.apache.openejb.config.RemoteServer;
 import org.jboss.arquillian.container.spi.client.container.LifecycleException;
 
-import javax.naming.Context;
-import javax.naming.InitialContext;
 import javax.naming.NamingException;
 import java.io.File;
 import java.io.IOException;
 import java.util.Map;
-import java.util.Properties;
 import java.util.TreeMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -57,16 +54,40 @@ public class RemoteTomEEContainer extend
 
         shutdown = true;
 
+        final String shutdownPort = 
System.getProperty(RemoteServer.SERVER_SHUTDOWN_PORT);
+        final String shutdownHost = 
System.getProperty(RemoteServer.SERVER_SHUTDOWN_HOST);
+        final String debug = 
System.getProperty(RemoteServer.OPENEJB_SERVER_DEBUG);
+        final String debugPort = 
System.getProperty(RemoteServer.SERVER_DEBUG_PORT);
+
         try {
 
             configure();
 
+            System.setProperty(RemoteServer.SERVER_SHUTDOWN_PORT, 
Integer.toString(configuration.getStopPort()));
+            System.setProperty(RemoteServer.SERVER_SHUTDOWN_HOST, 
configuration.getHost());
+            if (configuration.isDebug()) {
+                System.setProperty(RemoteServer.OPENEJB_SERVER_DEBUG, "true");
+                System.setProperty(RemoteServer.SERVER_DEBUG_PORT, 
Integer.toString(configuration.getDebugPort()));
+            }
             container = new RemoteServer();
 
             container.start();
         } catch (Exception e) {
             logger.log(Level.SEVERE, "Unable to start remote container", e);
             throw new LifecycleException("Unable to start remote container:" + 
e.getMessage(), e);
+        } finally {
+            resetSystemProperty(RemoteServer.SERVER_SHUTDOWN_PORT, 
shutdownPort);
+            resetSystemProperty(RemoteServer.SERVER_SHUTDOWN_HOST, 
shutdownHost);
+            resetSystemProperty(RemoteServer.OPENEJB_SERVER_DEBUG, debug);
+            resetSystemProperty(RemoteServer.SERVER_DEBUG_PORT, debugPort);
+        }
+    }
+
+    private static void resetSystemProperty(final String key, final String 
value) {
+        if (value == null) {
+            System.getProperties().remove(key);
+        } else {
+            System.setProperty(key, value);
         }
     }
 

Modified: 
openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
URL: 
http://svn.apache.org/viewvc/openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java?rev=1389472&r1=1389471&r2=1389472&view=diff
==============================================================================
--- 
openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
 (original)
+++ 
openejb/branches/openejb-4.5.0/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java
 Mon Sep 24 16:22:21 2012
@@ -37,8 +37,12 @@ import java.util.Properties;
  */
 public class RemoteServer {
     private static final Options options = new Options(System.getProperties());
+    public static final String SERVER_DEBUG_PORT = "server.debug.port";
+    public static final String SERVER_SHUTDOWN_PORT = "server.shutdown.port";
+    public static final String SERVER_SHUTDOWN_HOST = "server.shutdown.host";
+    public static final String OPENEJB_SERVER_DEBUG = "openejb.server.debug";
 
-    private final boolean debug = options.get("openejb.server.debug", false);
+    private final boolean debug = options.get(OPENEJB_SERVER_DEBUG, false);
     private final boolean profile = options.get("openejb.server.profile", 
false);
     private final boolean tomcat;
     private final String javaOpts = System.getProperty("java.opts");
@@ -65,8 +69,8 @@ public class RemoteServer {
         File home = getHome();
         tomcat = (home != null) && (new File(new File(home, "bin"), 
"catalina.sh").exists());
 
-        shutdownPort = options.get("server.shutdown.port", tomcat ? 8005 : 
4200);
-        host = options.get("server.shutdown.host", "localhost");
+        shutdownPort = options.get(SERVER_SHUTDOWN_PORT, tomcat ? 8005 : 4200);
+        host = options.get(SERVER_SHUTDOWN_HOST, "localhost");
     }
 
     public void init(Properties props) {
@@ -143,7 +147,7 @@ public class RemoteServer {
                 //DMB: If you don't use an array, you get problems with jar 
paths containing spaces
                 // the command won't parse correctly
                 String[] args;
-                final int debugPort = options.get("server.debug.port", 5005);
+                final int debugPort = options.get(SERVER_DEBUG_PORT, 5005);
                 if (!tomcat) {
                     if (debug) {
                         args = new String[] { java,


Reply via email to