You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2013/12/26 19:15:39 UTC

svn commit: r1553536 - in /tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common: TomEEConfiguration.java TomEEContainer.java

Author: rmannibucau
Date: Thu Dec 26 18:15:38 2013
New Revision: 1553536

URL: http://svn.apache.org/r1553536
Log:
TOMEE-1099 adding system property tomee.arquillian.ear.context to be able to control web context in ears

Modified:
    tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java
    tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java

Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java?rev=1553536&r1=1553535&r2=1553536&view=diff
==============================================================================
--- tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java (original)
+++ tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java Thu Dec 26 18:15:38 2013
@@ -41,6 +41,7 @@ public class TomEEConfiguration implemen
     protected boolean unpackWars = true;
 
     protected String properties = "";
+    protected String webContextToUseWithEars = null;
 
     public boolean isUnpackWars() {
         return unpackWars;
@@ -180,4 +181,12 @@ public class TomEEConfiguration implemen
     public void setPreloadClasses(final String preloadClasses) {
         this.preloadClasses = preloadClasses;
     }
+
+    public String getWebContextToUseWithEars() {
+        return webContextToUseWithEars;
+    }
+
+    public void setWebContextToUseWithEars(final String webContextToUseWithEars) {
+        this.webContextToUseWithEars = webContextToUseWithEars;
+    }
 }

Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1553536&r1=1553535&r2=1553536&view=diff
==============================================================================
--- tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java (original)
+++ tomee/tomee/trunk/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java Thu Dec 26 18:15:38 2013
@@ -274,12 +274,16 @@ public abstract class TomEEContainer<Con
             if (archiveName.endsWith(".war")) {
                 httpContext.add(new Servlet("ArquillianServletRunner", "/" + getArchiveNameWithoutExtension(archive)));
             } else if (archiveName.endsWith(".ear") && appInfo.webApps.size() > 0) {
-                for (final WebAppInfo web : appInfo.webApps) {
-                    httpContext.add(new Servlet("ArquillianServletRunner", "/" + web.contextRoot));
+                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("//", "/")));
+                    }
                 }
-                httpContext.add(new Servlet("ArquillianServletRunner", "/arquillian-protocol"));
             } else {
-                httpContext.add(new Servlet("ArquillianServletRunner", "/arquillian-protocol"));
+                httpContext.add(new Servlet("ArquillianServletRunner", "/arquillian-protocol")); // needs another jar to add the fake webapp
             }
             addServlets(httpContext, appInfo);