Repository: tomee
Updated Branches:
  refs/heads/master d2fdd7632 -> 8c0d055b1


extracting arquillian servlet runner logic in its own method to easily reuse it 
in children


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/8c0d055b
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/8c0d055b
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/8c0d055b

Branch: refs/heads/master
Commit: 8c0d055b1ff9741ca2d184107ea2bc95c91ad28f
Parents: d2fdd76
Author: Romain Manni-Bucau <rmannibu...@apache.org>
Authored: Sat May 30 05:08:42 2015 +0200
Committer: Romain Manni-Bucau <rmannibu...@apache.org>
Committed: Sat May 30 05:08:42 2015 +0200

----------------------------------------------------------------------
 .../arquillian/common/TomEEContainer.java       | 41 +++++++++++---------
 1 file changed, 23 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/8c0d055b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
----------------------------------------------------------------------
diff --git 
a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
 
b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
index 7bd6975..6460d96 100644
--- 
a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
+++ 
b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
@@ -43,9 +43,6 @@ import org.jboss.shrinkwrap.api.asset.StringAsset;
 import org.jboss.shrinkwrap.api.exporter.ZipExporter;
 import org.jboss.shrinkwrap.descriptor.api.Descriptor;
 
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NamingException;
 import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
@@ -57,6 +54,9 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
 
 public abstract class TomEEContainer<Configuration extends TomEEConfiguration> 
implements DeployableContainer<Configuration> {
     protected static final Logger LOGGER = 
Logger.getLogger(TomEEContainer.class.getName());
@@ -122,6 +122,25 @@ public abstract class TomEEContainer<Configuration extends 
TomEEConfiguration> i
         
ArquillianUtil.preLoadClassesAsynchronously(configuration.getPreloadClasses());
     }
 
+    protected void addArquillianServlet(final Archive<?> archive, final 
AppInfo appInfo,
+                                      final String archiveName, final 
HTTPContext httpContext) {
+        // Avoids "inconvertible types" error in windows build
+        if (archiveName.endsWith(".war")) {
+            httpContext.add(new Servlet("ArquillianServletRunner", "/" + 
getArchiveNameWithoutExtension(archive)));
+        } else if (archiveName.endsWith(".ear") && appInfo.webApps.size() > 0) 
{
+            final String contextRoot = 
System.getProperty("tomee.arquillian.ear.context", 
configuration.getWebContextToUseWithEars());
+            if (contextRoot != null) {
+                httpContext.add(new Servlet("ArquillianServletRunner", ("/" + 
contextRoot).replace("//", "/")));
+            } else {
+                for (final WebAppInfo web : appInfo.webApps) { // normally a 
single webapp is supported cause of arquillian resolution
+                    httpContext.add(new Servlet("ArquillianServletRunner", 
("/" + web.contextRoot).replace("//", "/")));
+                }
+            }
+        } else {
+            httpContext.add(new Servlet("ArquillianServletRunner", 
"/arquillian-protocol")); // needs another jar to add the fake webapp
+        }
+    }
+
     protected void setPorts() {
         //
         // Set ports if they are unspecified
@@ -311,21 +330,7 @@ public abstract class TomEEContainer<Configuration extends 
TomEEConfiguration> i
 
             final HTTPContext httpContext = new 
HTTPContext(configuration.getHost(), configuration.getHttpPort());
 
-            // Avoids "inconvertible types" error in windows build
-            if (archiveName.endsWith(".war")) {
-                httpContext.add(new Servlet("ArquillianServletRunner", "/" + 
getArchiveNameWithoutExtension(archive)));
-            } else if (archiveName.endsWith(".ear") && appInfo.webApps.size() 
> 0) {
-                final String contextRoot = 
System.getProperty("tomee.arquillian.ear.context", 
configuration.getWebContextToUseWithEars());
-                if (contextRoot != null) {
-                    httpContext.add(new Servlet("ArquillianServletRunner", 
("/" + contextRoot).replace("//", "/")));
-                } else {
-                    for (final WebAppInfo web : appInfo.webApps) { // normally 
a single webapp is supported cause of arquillian resolution
-                        httpContext.add(new Servlet("ArquillianServletRunner", 
("/" + web.contextRoot).replace("//", "/")));
-                    }
-                }
-            } else {
-                httpContext.add(new Servlet("ArquillianServletRunner", 
"/arquillian-protocol")); // needs another jar to add the fake webapp
-            }
+            addArquillianServlet(archive, appInfo, archiveName, httpContext);
             addServlets(httpContext, appInfo);
 
             return new ProtocolMetaData().addContext(httpContext);

Reply via email to