You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by st...@apache.org on 2015/05/12 16:45:58 UTC

[1/8] tomee git commit: TOMEE-1579 one more step to do friendly jars (executable) + slight rework of our tomee-embedded uber jar to avoid to bring descriptors we don't want

Repository: tomee
Updated Branches:
  refs/heads/fb_tomee2_owb16 a19d26e0f -> fc1207450


TOMEE-1579 one more step to do friendly jars (executable) + slight rework of our tomee-embedded uber jar to avoid to bring descriptors we don't want


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

Branch: refs/heads/fb_tomee2_owb16
Commit: 151887528f8d15ad5c01a36185b0375c7d463640
Parents: 554ccb1
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Wed May 6 12:51:40 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Wed May 6 12:51:40 2015 +0200

----------------------------------------------------------------------
 .../apache/openejb/config/DeploymentLoader.java | 28 ++++++++++++++++++--
 tomee/tomee-embedded/pom.xml                    | 28 ++++++++++++++++++++
 .../java/org/apache/tomee/embedded/Main.java    | 11 ++++++++
 3 files changed, 65 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/15188752/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java b/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
index 1242ae2..58ba02e 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/config/DeploymentLoader.java
@@ -958,8 +958,10 @@ public class DeploymentLoader implements DeploymentFilterable {
         ensureContainerUrls();
         webUrls.addAll(containerUrls);
 
+        final SystemInstance systemInstance = SystemInstance.get();
+
         // add these urls first to ensure we load classes from here first
-        final String externalRepos = SystemInstance.get().getProperty("tomee." + warFile.getName().replace(".war", "") + ".externalRepositories");
+        final String externalRepos = systemInstance.getProperty("tomee." + warFile.getName().replace(".war", "") + ".externalRepositories");
         List<URL> externalUrls = null;
         if (externalRepos != null) {
             externalUrls = new ArrayList<URL>();
@@ -1023,12 +1025,34 @@ public class DeploymentLoader implements DeploymentFilterable {
         // if we want to manage it in a generic way
         // simply add a boolean shared between tomcat and openejb world
         // to know if we should fire it or not
-        SystemInstance.get().fireEvent(new BeforeDeploymentEvent(webUrlsArray, parentClassLoader));
+        systemInstance.fireEvent(new BeforeDeploymentEvent(webUrlsArray, parentClassLoader));
 
         final ClassLoader warClassLoader = ClassLoaderUtil.createTempClassLoader(appId, webUrlsArray, parentClassLoader);
 
         // create web module
         final List<URL> scannableUrls = filterWebappUrls(webUrlsArray, descriptors.get(NewLoaderLogic.EXCLUSION_FILE));
+        // executable war will add war in scannable urls, we don't want it since it will surely contain tomee, cxf, ...
+        if (Boolean.parseBoolean(systemInstance.getProperty("openejb.core.skip-war-in-loader", "true"))) {
+            File archive = warFile;
+            if (!archive.getName().endsWith(".war")) {
+                archive = new File(warFile.getParentFile(), warFile.getName() + ".war");
+                final String unpackDir = systemInstance.getProperty("tomee.unpack.dir");
+                if (unpackDir != null && !archive.isFile()) {
+                    try {
+                        archive = new File(systemInstance.getBase().getDirectory(unpackDir, false), warFile.getName());
+                    } catch (final IOException e) {
+                        // no-op
+                    }
+                }
+            }
+            if (archive.isFile()) {
+                try {
+                    scannableUrls.remove(archive.toURI().toURL());
+                } catch (final MalformedURLException e) {
+                    // no-op
+                }
+            }
+        }
         if (externalUrls != null) {
             for (final URL url : externalUrls) {
                 if (scannableUrls.contains(url)) {

http://git-wip-us.apache.org/repos/asf/tomee/blob/15188752/tomee/tomee-embedded/pom.xml
----------------------------------------------------------------------
diff --git a/tomee/tomee-embedded/pom.xml b/tomee/tomee-embedded/pom.xml
index f8c0f0a..e000f66 100644
--- a/tomee/tomee-embedded/pom.xml
+++ b/tomee/tomee-embedded/pom.xml
@@ -66,6 +66,34 @@
               <createDependencyReducedPom>false</createDependencyReducedPom>
               <shadedArtifactAttached>true</shadedArtifactAttached>
               <shadedClassifierName>uber</shadedClassifierName>
+              <transformers>
+                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                  <mainClass>org.apache.tomee.embedded.Main</mainClass>
+                </transformer>
+                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+                  <resource>META-INF/cxf/bus-extensions.txt</resource>
+                </transformer>
+                <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+                  <resource>META-INF/openwebbeans/openwebbeans.properties</resource>
+                </transformer>
+              </transformers>
+              <filters>
+                <filter>
+                  <artifact>*:*</artifact>
+                  <excludes>
+                    <exclude>META-INF/ejb-jar.xml</exclude>
+                    <exclude>META-INF/openejb-jar.xml</exclude>
+                    <exclude>META-INF/web-fragment.xml</exclude>
+                    <!--
+                    NOTE:
+                    we shouldn't exclude faces-config.xml while we didn't impl the feature in another manner
+                    but it breaks all apps not using JSF.
+                    Solution would be to handle it more deeply in our myfaces integration
+                    -->
+                    <exclude>META-INF/faces-config.xml</exclude>
+                  </excludes>
+                </filter>
+              </filters>
             </configuration>
           </execution>
         </executions>

http://git-wip-us.apache.org/repos/asf/tomee/blob/15188752/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
----------------------------------------------------------------------
diff --git a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
index e8edf6c..1720f9f 100644
--- a/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
+++ b/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Main.java
@@ -27,6 +27,8 @@ import org.apache.commons.cli.ParseException;
 import org.apache.commons.cli.PosixParser;
 import org.apache.openejb.loader.ProvisioningUtil;
 
+import static org.apache.openejb.loader.JarLocation.jarLocation;
+
 public class Main {
     public static final String PORT = "port";
     public static final String SHUTDOWN = "shutdown";
@@ -59,6 +61,7 @@ public class Main {
                 contexts = null;
             }
 
+            boolean autoWar = true;
             int i = 0;
             if (line.hasOption(PATH)) {
                 for (final String path : line.getOptionValues(PATH)) {
@@ -77,10 +80,18 @@ public class Main {
                         container.deploy(name, file, true);
                     }
                 }
+                autoWar = false;
             }
             if (line.hasOption(AS_WAR)) {
                 container.deployClasspathAsWebApp(contexts == null || i == contexts.length ? "" : contexts[i],
                         line.hasOption(DOC_BASE) ? new File(line.getOptionValue(DOC_BASE)) : null);
+                autoWar = false;
+            }
+            if (autoWar) { // nothing deployed check if we are a war and deploy ourself then
+                final File me = jarLocation(Main.class);
+                if (me.getName().endsWith(".war")) {
+                    container.deploy(contexts == null || i == contexts.length ? "" : contexts[i], me);
+                }
             }
 
             Runtime.getRuntime().addShutdownHook(new Thread() {


[8/8] tomee git commit: Merge branch 'master' into fb_tomee2_owb16

Posted by st...@apache.org.
Merge branch 'master' into fb_tomee2_owb16


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

Branch: refs/heads/fb_tomee2_owb16
Commit: fc12074507a6db69e93923a01c953b23077892fe
Parents: 478671a 25207a0
Author: Mark Struberg <st...@apache.org>
Authored: Tue May 12 16:45:38 2015 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Tue May 12 16:45:38 2015 +0200

----------------------------------------------------------------------
 .../apache/openejb/arquillian/common/Setup.java | 33 ++++++++++++--
 .../remote/RemoteTomEEConfiguration.java        | 20 ++++++++
 .../arquillian/remote/RemoteTomEEContainer.java | 27 +++++++++--
 .../openejb/arquillian/AdditionalLibsTest.java  |  6 +--
 .../arquillian/javaagent/JavaagentTest.java     | 48 ++++++++++++++++++++
 .../src/test/resources/arquillian.xml           |  5 +-
 6 files changed, 125 insertions(+), 14 deletions(-)
----------------------------------------------------------------------



[4/8] tomee git commit: TomEE header

Posted by st...@apache.org.
TomEE header


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

Branch: refs/heads/fb_tomee2_owb16
Commit: 268b57c868c055e3788b85d6ed6a192da094e808
Parents: 2c4047e
Author: andygumbrecht@apache.org <an...@gmx.de>
Authored: Thu May 7 22:03:35 2015 +0200
Committer: andygumbrecht@apache.org <an...@gmx.de>
Committed: Thu May 7 22:03:35 2015 +0200

----------------------------------------------------------------------
 .../apache/tomee/RemoteTomEEEJBContainerIT.java    |  2 +-
 .../java/org/apache/tomee/installer/Installer.java | 17 +++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/268b57c8/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java
----------------------------------------------------------------------
diff --git a/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java b/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java
index 70fcf6f..17731b9 100644
--- a/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java
+++ b/tomee/apache-tomee/src/test/java/org/apache/tomee/RemoteTomEEEJBContainerIT.java
@@ -67,7 +67,7 @@ public class RemoteTomEEEJBContainerIT {
             "  <!-- TomEE plugin for Tomcat -->\n" +
             "  <Listener className=\"org.apache.tomee.catalina.ServerListener\" />\n" +
             "  <Service name=\"Catalina\">\n" +
-            "    <Connector port=\"" + http + "\" protocol=\"HTTP/1.1\" />\n" +
+            "    <Connector port=\"" + http + "\" protocol=\"HTTP/1.1\" xpoweredBy=\"false\" server=\"Apache TomEE\" />\n" +
             "    <Engine name=\"Catalina\" defaultHost=\"localhost\">\n" +
             "      <Host name=\"localhost\"  appBase=\"webapps\"\n" +
             "            unpackWARs=\"true\" autoDeploy=\"true\">\n" +

http://git-wip-us.apache.org/repos/asf/tomee/blob/268b57c8/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
----------------------------------------------------------------------
diff --git a/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java b/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
index 0308c3d..60bd8f7 100644
--- a/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
+++ b/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
@@ -448,6 +448,23 @@ public class Installer implements InstallerInterface {
             alerts.addError("Error while adding listener to server.xml file", e);
         }
 
+        //Add TomEE header
+        try {
+            newServerXml = Installers.replace(serverXmlOriginal,
+                    "<Connector port=\"8080\"",
+                    "<Connector port=\"8080\"",
+                    "/>",
+                    "xpoweredBy=\"false\" server=\"Apache TomEE\" />");
+
+            newServerXml = Installers.replace(serverXmlOriginal,
+                    "<Connector port=\"8443\"",
+                    "<Connector port=\"8443\"",
+                    "/>",
+                    "xpoweredBy=\"false\" server=\"Apache TomEE\" />");
+        } catch (final IOException e) {
+            alerts.addError("Error adding server attribute to server.xml file", e);
+        }
+
         // overwrite server.xml
         if (Installers.writeAll(paths.getServerXmlFile(), newServerXml, alerts)) {
             alerts.addInfo("Add OpenEJB listener to server.xml");


[6/8] tomee git commit: Merge branch 'master' into fb_tomee2_owb16

Posted by st...@apache.org.
Merge branch 'master' into fb_tomee2_owb16


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

Branch: refs/heads/fb_tomee2_owb16
Commit: 478671a4c92f0a6765a1e7cefefeb94ae1fe1aa6
Parents: a19d26e 515d875
Author: Mark Struberg <st...@apache.org>
Authored: Fri May 8 12:36:26 2015 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Fri May 8 12:36:26 2015 +0200

----------------------------------------------------------------------
 .../jaxrs/context/EjbContextInjectionTest.java  | 16 ++++++++---
 .../EjbInterceptorContextInjectionTest.java     | 13 ++++++++-
 .../tests/jaxrs/suspended/SuspendedTest.java    |  5 ++--
 .../apache/openejb/config/DeploymentLoader.java | 28 ++++++++++++++++++--
 .../maven/plugin/test/JAXRSReloadTest.java      | 17 +++++++++---
 pom.xml                                         |  2 +-
 .../apache/tomee/RemoteTomEEEJBContainerIT.java |  2 +-
 .../org/apache/tomee/installer/Installer.java   | 17 ++++++++++++
 tomee/tomee-embedded/pom.xml                    | 28 ++++++++++++++++++++
 .../java/org/apache/tomee/embedded/Main.java    | 11 ++++++++
 10 files changed, 126 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/478671a4/pom.xml
----------------------------------------------------------------------


[2/8] tomee git commit: cxf 3.1 side effects on tests

Posted by st...@apache.org.
cxf 3.1 side effects on tests


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

Branch: refs/heads/fb_tomee2_owb16
Commit: be3996fa42a51d8e2848891fd63bf479d39d2212
Parents: 1518875
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Wed May 6 14:11:10 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Wed May 6 14:11:10 2015 +0200

----------------------------------------------------------------------
 .../jaxrs/context/EjbContextInjectionTest.java     | 16 +++++++++++++---
 .../EjbInterceptorContextInjectionTest.java        | 13 ++++++++++++-
 .../tests/jaxrs/suspended/SuspendedTest.java       |  5 +++--
 .../openejb/maven/plugin/test/JAXRSReloadTest.java | 17 ++++++++++++++---
 4 files changed, 42 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/be3996fa/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/context/EjbContextInjectionTest.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/context/EjbContextInjectionTest.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/context/EjbContextInjectionTest.java
index 7334acc..5914800 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/context/EjbContextInjectionTest.java
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/context/EjbContextInjectionTest.java
@@ -27,6 +27,9 @@ import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.net.URL;
 import javax.ejb.Singleton;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -39,8 +42,6 @@ import javax.ws.rs.core.SecurityContext;
 import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.ext.ContextResolver;
 import javax.ws.rs.ext.Providers;
-import java.io.IOException;
-import java.net.URL;
 
 import static org.junit.Assert.assertEquals;
 
@@ -63,10 +64,19 @@ public class EjbContextInjectionTest {
 
     @Test
     public void rest() throws IOException {
-        final String response = IO.slurp(new URL(url.toExternalForm() + "injections/check"));
+        final String response = slurp(new URL(url.toExternalForm() + "injections/check"));
         assertEquals("true", response);
     }
 
+    private static String slurp(final URL url) throws IOException {
+        final HttpURLConnection urlConnection = HttpURLConnection.class.cast(url.openConnection());
+        try {
+            urlConnection.setRequestProperty("Accept", "text/plain");
+            return IO.slurp(urlConnection.getInputStream());
+        } finally {
+            urlConnection.disconnect();
+        }
+    }
 
     @Singleton
     @Path("/injections")

http://git-wip-us.apache.org/repos/asf/tomee/blob/be3996fa/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/context/EjbInterceptorContextInjectionTest.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/context/EjbInterceptorContextInjectionTest.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/context/EjbInterceptorContextInjectionTest.java
index 2039035..c470989 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/context/EjbInterceptorContextInjectionTest.java
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/context/EjbInterceptorContextInjectionTest.java
@@ -44,6 +44,7 @@ import javax.ws.rs.core.UriInfo;
 import javax.ws.rs.ext.ContextResolver;
 import javax.ws.rs.ext.Providers;
 import java.io.IOException;
+import java.net.HttpURLConnection;
 import java.net.URL;
 
 import static org.junit.Assert.assertEquals;
@@ -70,10 +71,20 @@ public class EjbInterceptorContextInjectionTest {
 
     @Test
     public void rest() throws IOException {
-        final String response = IO.slurp(new URL(url.toExternalForm() + "injections/check"));
+        final String response = slurp(new URL(url.toExternalForm() + "injections/check"));
         assertEquals("true", response);
     }
 
+    private static String slurp(final URL url) throws IOException {
+        final HttpURLConnection urlConnection = HttpURLConnection.class.cast(url.openConnection());
+        try {
+            urlConnection.setRequestProperty("Accept", "text/plain");
+            return IO.slurp(urlConnection.getInputStream());
+        } finally {
+            urlConnection.disconnect();
+        }
+    }
+
 
     @Singleton
     @Interceptors(RsEjbInterceptor.class)

http://git-wip-us.apache.org/repos/asf/tomee/blob/be3996fa/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/suspended/SuspendedTest.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/suspended/SuspendedTest.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/suspended/SuspendedTest.java
index cd97a61..3d8741c 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/suspended/SuspendedTest.java
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/suspended/SuspendedTest.java
@@ -32,6 +32,7 @@ import java.util.concurrent.atomic.AtomicReference;
 import javax.ws.rs.core.Response;
 
 import static java.lang.Thread.sleep;
+import static javax.ws.rs.core.MediaType.TEXT_PLAIN_TYPE;
 import static org.junit.Assert.assertEquals;
 
 @RunWith(Arquillian.class)
@@ -51,12 +52,12 @@ public class SuspendedTest {
         new Thread() {
             @Override
             public void run() {
-                response.set(WebClient.create(url.toExternalForm() + "touch").get());
+                response.set(WebClient.create(url.toExternalForm() + "touch").accept(TEXT_PLAIN_TYPE).get());
                 end.countDown();
             }
         }.start();
         final WebClient client = WebClient.create(url.toExternalForm() + "touch");
-        while (!client.reset().path("check").get(Boolean.class)) {
+        while (!client.reset().path("check").accept(TEXT_PLAIN_TYPE).get(Boolean.class)) {
             sleep(1000);
         }
         client.reset().path("answer").post("hello");

http://git-wip-us.apache.org/repos/asf/tomee/blob/be3996fa/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java
----------------------------------------------------------------------
diff --git a/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java b/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java
index bd334dc..b921b25 100644
--- a/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java
+++ b/maven/tomee-maven-plugin/src/test/java/org/apache/openejb/maven/plugin/test/JAXRSReloadTest.java
@@ -30,6 +30,7 @@ import org.junit.Test;
 
 import java.io.File;
 import java.io.IOException;
+import java.net.HttpURLConnection;
 import java.net.URL;
 
 import static java.lang.Thread.sleep;
@@ -83,7 +84,7 @@ public class JAXRSReloadTest {
     @Test
     public void simpleStart() throws Exception {
         // eager check setup is ok and it works (avoid to mix redeployment checks with simple deployment)
-        assertThat(IO.slurp(new URL(url + "/app-jaxrs/ping")).trim(), is("pong"));
+        assertThat(slurp(new URL(url + "/app-jaxrs/ping")).trim(), is("pong"));
 
         long lastTime = 0;
         for (int i = 0; i < 10; i++) {
@@ -91,14 +92,24 @@ public class JAXRSReloadTest {
             mojo.reload();
 
             // it still works
-            assertThat(IO.slurp(new URL(url + "/app-jaxrs/ping")).trim(), is("pong"));
+            assertThat(slurp(new URL(url + "/app-jaxrs/ping")).trim(), is("pong"));
 
             // we redeployed since we have a new deployment date
-            final long time = Long.parseLong(IO.slurp(new URL(url + "/app-jaxrs/ping/time")).trim());
+            final long time = Long.parseLong(slurp(new URL(url + "/app-jaxrs/ping/time")).trim());
             if (i > 0) {
                 assertTrue(time >= lastTime);
             }
             lastTime = time;
         }
     }
+
+    private static String slurp(final URL url) throws IOException {
+        final HttpURLConnection urlConnection = HttpURLConnection.class.cast(url.openConnection());
+        try {
+            urlConnection.setRequestProperty("Accept", "text/plain");
+            return IO.slurp(urlConnection.getInputStream());
+        } finally {
+            urlConnection.disconnect();
+        }
+    }
 }


[5/8] tomee git commit: Typo

Posted by st...@apache.org.
Typo


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

Branch: refs/heads/fb_tomee2_owb16
Commit: 515d8753aa9b9e74810db4ff00921e4e67bfefc4
Parents: 268b57c
Author: andygumbrecht@apache.org <an...@gmx.de>
Authored: Thu May 7 22:59:11 2015 +0200
Committer: andygumbrecht@apache.org <an...@gmx.de>
Committed: Thu May 7 22:59:11 2015 +0200

----------------------------------------------------------------------
 .../src/main/java/org/apache/tomee/installer/Installer.java      | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/515d8753/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
----------------------------------------------------------------------
diff --git a/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java b/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
index 60bd8f7..919ae48 100644
--- a/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
+++ b/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
@@ -450,13 +450,13 @@ public class Installer implements InstallerInterface {
 
         //Add TomEE header
         try {
-            newServerXml = Installers.replace(serverXmlOriginal,
+            newServerXml = Installers.replace(newServerXml,
                     "<Connector port=\"8080\"",
                     "<Connector port=\"8080\"",
                     "/>",
                     "xpoweredBy=\"false\" server=\"Apache TomEE\" />");
 
-            newServerXml = Installers.replace(serverXmlOriginal,
+            newServerXml = Installers.replace(newServerXml,
                     "<Connector port=\"8443\"",
                     "<Connector port=\"8443\"",
                     "/>",


[3/8] tomee git commit: tomcat 8.0.22

Posted by st...@apache.org.
tomcat 8.0.22


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

Branch: refs/heads/fb_tomee2_owb16
Commit: 2c4047e1456a14f7a3f054f33a87b3d7ee9f552a
Parents: be3996f
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Thu May 7 09:33:53 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Thu May 7 09:33:53 2015 +0200

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/2c4047e1/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 4e9adc2..c063d78 100644
--- a/pom.xml
+++ b/pom.xml
@@ -126,7 +126,7 @@
     <version.shrinkwrap.descriptor>2.0.0-alpha-7</version.shrinkwrap.descriptor>
     <version.shrinkwrap.shrinkwrap>1.2.2</version.shrinkwrap.shrinkwrap>
 
-    <tomcat.version>8.0.21</tomcat.version>
+    <tomcat.version>8.0.22</tomcat.version>
 
     <cxf.version>3.1.0</cxf.version>
     <ehcache.version>2.8.5</ehcache.version>


[7/8] tomee git commit: TOMEE-1581 endorsed and javaagent for tomee remote arquillian adapter

Posted by st...@apache.org.
TOMEE-1581 endorsed and javaagent for tomee remote arquillian adapter


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

Branch: refs/heads/fb_tomee2_owb16
Commit: 25207a096c397ab885fb8d260c4a6fd688063cf8
Parents: 515d875
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Mon May 11 09:44:08 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Mon May 11 09:44:08 2015 +0200

----------------------------------------------------------------------
 .../apache/openejb/arquillian/common/Setup.java | 33 ++++++++++++--
 .../remote/RemoteTomEEConfiguration.java        | 20 ++++++++
 .../arquillian/remote/RemoteTomEEContainer.java | 27 +++++++++--
 .../openejb/arquillian/AdditionalLibsTest.java  |  6 +--
 .../arquillian/javaagent/JavaagentTest.java     | 48 ++++++++++++++++++++
 .../src/test/resources/arquillian.xml           |  5 +-
 6 files changed, 125 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/25207a09/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
index e57fc70..c390190 100644
--- a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
+++ b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
@@ -42,6 +42,8 @@ import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import static java.util.Collections.emptyMap;
+
 /**
  * @version $Rev$ $Date$
  */
@@ -357,13 +359,13 @@ public class Setup {
         Files.delete(destination);
     }
 
-    public static void addTomEELibraries(final File tomeeHome, final String additionalLibs) {
+    public static Map<File, String> addTomEELibraries(final File libFolder, final String additionalLibs, final boolean parseArgs) {
         if (additionalLibs == null) {
-            return;
+            return emptyMap();
         }
         final String libs = additionalLibs.trim();
         if (libs.isEmpty()) {
-            return;
+            return emptyMap();
         }
 
         try { // initializing the SystemInstance because we'll need it for configuration
@@ -374,22 +376,43 @@ public class Setup {
             // no-op
         }
 
-        final File libFolder = new File(tomeeHome, "lib");
+        final Map<File, String> configs = new HashMap<>();
         for (final String lib : libs.split("\n")) {
             final String trim = lib.trim();
             if (trim.isEmpty() || trim.startsWith("#")) {
                 continue;
             }
+
+            final String args;
+            if (parseArgs) { // javaagent friendly
+                int argsIdx = trim.indexOf('=');
+                if (argsIdx < 0) {
+                    argsIdx = trim.indexOf('?');
+                }
+                if (argsIdx > 0) {
+                    args = trim.substring(argsIdx);
+                } else {
+                    args = "";
+                }
+            } else {
+                args = null;
+            }
+
             final Set<String> locations = ProvisioningUtil.realLocation(trim);
             for (final String location : locations) {
                 final File from = new File(location);
                 try {
-                    org.apache.openejb.loader.IO.copy(from, new File(libFolder, from.getName()));
+                    final File to = new File(libFolder, from.getName());
+                    org.apache.openejb.loader.IO.copy(from, to);
+                    if (args != null) {
+                        configs.put(to, args);
+                    }
                 } catch (final IOException e) {
                     throw new IllegalArgumentException(e);
                 }
             }
         }
+        return configs;
     }
 
     private static class TrueFilter implements FileFilter {

http://git-wip-us.apache.org/repos/asf/tomee/blob/25207a09/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java b/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
index 8ed1fe1..63e78f0 100644
--- a/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
+++ b/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
@@ -39,6 +39,8 @@ public class RemoteTomEEConfiguration extends TomEEConfiguration {
     private String conf;
     private String bin;
     private String lib;
+    private String endorsed;
+    private String javaagent;
     private String additionalLibs;
     private boolean cleanOnStartUp;
     private boolean debug;
@@ -94,6 +96,24 @@ public class RemoteTomEEConfiguration extends TomEEConfiguration {
         return additionalLibs;
     }
 
+    public String getEndorsed() {
+        return endorsed;
+    }
+
+    public String getJavaagent() {
+        return javaagent;
+    }
+
+    @Multiline
+    public void setEndorsed(final String endorsed) {
+        this.endorsed = endorsed;
+    }
+
+    @Multiline
+    public void setJavaagent(final String javaagent) {
+        this.javaagent = javaagent;
+    }
+
     @Multiline
     public void setAdditionalLibs(final String additionalLibs) {
         this.additionalLibs = additionalLibs;

http://git-wip-us.apache.org/repos/asf/tomee/blob/25207a09/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java b/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
index 15fb446..ce953f7 100644
--- a/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
+++ b/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
@@ -30,7 +30,6 @@ import org.jboss.arquillian.container.spi.client.container.LifecycleException;
 import org.jboss.arquillian.protocol.servlet.ServletMethodExecutor;
 import org.jboss.shrinkwrap.api.Archive;
 
-import javax.naming.NamingException;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
@@ -44,6 +43,7 @@ import java.util.Properties;
 import java.util.TreeMap;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import javax.naming.NamingException;
 
 public class RemoteTomEEContainer extends TomEEContainer<RemoteTomEEConfiguration> {
     private static final Logger logger = Logger.getLogger(RemoteTomEEContainer.class.getName());
@@ -214,14 +214,33 @@ public class RemoteTomEEContainer extends TomEEContainer<RemoteTomEEConfiguratio
         Setup.synchronizeFolder(tomeeHome, configuration.getConf(), "conf");
         Setup.synchronizeFolder(tomeeHome, configuration.getBin(), "bin");
         Setup.synchronizeFolder(tomeeHome, configuration.getLib(), "lib");
-        Setup.addTomEELibraries(tomeeHome, configuration.getAdditionalLibs());
+        Setup.addTomEELibraries(new File(tomeeHome, "lib"), configuration.getAdditionalLibs(), false);
+        if (configuration.getEndorsed() != null && !configuration.getEndorsed().isEmpty()) {
+            final File endorsed = new File(tomeeHome, "endorsed");
+            Files.mkdir(endorsed);
+            Setup.addTomEELibraries(endorsed, configuration.getEndorsed(), false);
+        }
+
+        String opts = configuration.getCatalina_opts();
+        if (configuration.getJavaagent() != null && !configuration.getJavaagent().isEmpty()) {
+            final File javaagent = new File(tomeeHome, "javaagent");
+            Files.mkdir(javaagent);
+            final Map<File, String> agents = Setup.addTomEELibraries(javaagent, configuration.getJavaagent(), true);
+            if (!agents.isEmpty()) {
+                if (opts == null) {
+                    opts = "";
+                }
+                for (final Map.Entry<File, String> entry : agents.entrySet()) {
+                    opts += " \"-javaagent:" + entry.getKey().getAbsolutePath() + entry.getValue() + "\"";
+                }
+            }
+            configuration.setCatalina_opts(opts);
+        }
 
         Setup.configureServerXml(tomeeHome, configuration);
 
         Setup.configureSystemProperties(tomeeHome, configuration);
 
-        final String opts = configuration.getCatalina_opts();
-
         Setup.exportProperties(tomeeHome, configuration, opts == null || (!opts.contains("-Xm") && !opts.matches(".*-XX:[^=]*Size=.*")));
         Setup.installArquillianBeanDiscoverer(tomeeHome);
 

http://git-wip-us.apache.org/repos/asf/tomee/blob/25207a09/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/AdditionalLibsTest.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/AdditionalLibsTest.java b/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/AdditionalLibsTest.java
index 0b4bb19..6dcd604 100644
--- a/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/AdditionalLibsTest.java
+++ b/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/AdditionalLibsTest.java
@@ -16,7 +16,7 @@
  */
 package org.apache.openejb.arquillian;
 
-import org.apache.sirona.repositories.Repository;
+import org.apache.sirona.web.servlet.SironaFilter;
 import org.jboss.arquillian.container.test.api.Deployment;
 import org.jboss.arquillian.junit.Arquillian;
 import org.jboss.shrinkwrap.api.Archive;
@@ -47,9 +47,9 @@ public class AdditionalLibsTest {
                 return name.startsWith("sirona-");
             }
         });
-        assertEquals(3, sirona.length); // core, web, aop
+        assertEquals(1, sirona.length); // web
 
-        assertNotNull(Repository.INSTANCE); // would fail if libs are missing
+        assertNotNull(new SironaFilter()); // would fail if libs are missing
     }
 
     private static class Tester {

http://git-wip-us.apache.org/repos/asf/tomee/blob/25207a09/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/javaagent/JavaagentTest.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/javaagent/JavaagentTest.java b/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/javaagent/JavaagentTest.java
new file mode 100644
index 0000000..6ef2951
--- /dev/null
+++ b/arquillian/arquillian-tomee-remote/src/test/java/org/apache/openejb/arquillian/javaagent/JavaagentTest.java
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.arquillian.javaagent;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.EmptyAsset;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.lang.management.ManagementFactory;
+
+import static org.junit.Assert.fail;
+
+@RunWith(Arquillian.class)
+public class JavaagentTest {
+    @Deployment
+    public static Archive<?> empty() {
+        return ShrinkWrap.create(WebArchive.class, "javaagent.war").addAsResource(EmptyAsset.INSTANCE, "foo");
+    }
+
+    @Test
+    public void checkAgent() {
+        for (final String arg : ManagementFactory.getRuntimeMXBean().getInputArguments()) {
+            if (arg.startsWith("-javaagent") && arg.endsWith("sirona-javaagent-0.2-incubating-shaded.jar")) {
+                return;
+            }
+        }
+        fail("didnt find sirona as javaagent");
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/25207a09/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml b/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml
index cb7fc55..2478713 100644
--- a/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml
+++ b/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml
@@ -28,10 +28,11 @@
                <property name="ajpPort">-1</property>
                <property name="dir">target/apache-tomee-remote</property>
                <property name="additionalLibs">
-                 mvn:org.apache.sirona:sirona-core:0.2-incubating
-                 mvn:org.apache.sirona:sirona-aop:0.2-incubating
                  mvn:org.apache.sirona:sirona-web:0.2-incubating
                </property>
+               <property name="javaagent">
+                 mvn:org.apache.sirona:sirona-javaagent:0.2-incubating:jar:shaded
+               </property>
                <property name="appWorkingDir">target/arquillian-test-working-dir</property>
                <property name="properties">
                   openejb.classloader.forced-load=org.apache.openejb