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 2015/03/16 22:45:39 UTC

[1/2] tomee git commit: making CdiParentBeanTest passing

Repository: tomee
Updated Branches:
  refs/heads/master a7a4ff7ec -> 352c0ce58


making CdiParentBeanTest passing


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

Branch: refs/heads/master
Commit: ec0e06686f1a5a9d13a62b68c8b375a8121b32f5
Parents: a7a4ff7
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Mon Mar 16 22:45:09 2015 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Mon Mar 16 22:45:09 2015 +0100

----------------------------------------------------------------------
 .../arquillian/common/TestClassDiscoverer.java  | 34 +++++++++++++++++---
 .../arquillian/tests/ear/CdiParentBeanTest.java | 18 -----------
 2 files changed, 29 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/ec0e0668/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java
index 5fb3ef8..f8619aa 100644
--- a/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java
+++ b/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TestClassDiscoverer.java
@@ -64,6 +64,19 @@ public class TestClassDiscoverer implements AdditionalBeanDiscoverer {
                 for (final Class<?> c : classes) {
                     webTestClasses.put(c, web);
                 }
+
+                // in case of an ear if we find the same test class in a webapp we don't want it in lib part
+                // this case can happen in tomee-embedded mainly
+                final Iterator<Class<?>> c = testClasses.iterator();
+                while (c.hasNext()) {
+                    final String cl = c.next().getName();
+                    for (final Class<?> wc : classes) {
+                        if (cl.equals(wc.getName())) {
+                            c.remove();
+                            break;
+                        }
+                    }
+                }
                 testClasses.addAll(classes);
             }
         }
@@ -96,11 +109,22 @@ public class TestClassDiscoverer implements AdditionalBeanDiscoverer {
             }
 
             if (name != null) {
-                try {
-                    // call some reflection methods to make it fail if some dep are missing...
-                    testClasses.add(module.getClassLoader().loadClass(name));
-                } catch (final Throwable e) {
-                    // no-op
+                boolean found = false;
+                for (final WebModule web : module.getWebModules()) {
+                    try {
+                        testClasses.add(web.getClassLoader().loadClass(name));
+                        found = true;
+                        break;
+                    } catch (final Throwable e) {
+                        // no-op
+                    }
+                }
+                if (!found) {
+                    try {
+                        testClasses.add(module.getClassLoader().loadClass(name));
+                    } catch (final Throwable e) {
+                        // no-op
+                    }
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/tomee/blob/ec0e0668/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/ear/CdiParentBeanTest.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/ear/CdiParentBeanTest.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/ear/CdiParentBeanTest.java
index 02c893c..3400e04 100644
--- a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/ear/CdiParentBeanTest.java
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/ear/CdiParentBeanTest.java
@@ -30,13 +30,6 @@ import org.jboss.shrinkwrap.api.spec.WebArchive;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import javax.inject.Inject;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
 import java.net.URL;
 
 import static org.junit.Assert.assertFalse;
@@ -67,15 +60,4 @@ public class CdiParentBeanTest {
         final String slurp = IO.slurp(new URL(url, "/myear/web/classloader"));
         assertFalse(slurp + " should not contain WebappClassLoader", slurp.toLowerCase().contains("webappclassloader"));
     }
-
-    @WebServlet("/classloader")
-    public static class ClassLoaderServlet extends HttpServlet {
-        @Inject
-        private SimpleBean bean;
-
-        @Override
-        protected void service(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
-            resp.getWriter().print(bean.classloaderAsStr());
-        }
-    }
 }


[2/2] tomee git commit: forgotten file

Posted by rm...@apache.org.
forgotten file


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

Branch: refs/heads/master
Commit: 352c0ce5800c02fde409ec93072234253fbc59e8
Parents: ec0e066
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Mon Mar 16 22:45:21 2015 +0100
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Mon Mar 16 22:45:21 2015 +0100

----------------------------------------------------------------------
 .../tests/ear/ClassLoaderServlet.java           | 38 ++++++++++++++++++++
 1 file changed, 38 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/352c0ce5/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/ear/ClassLoaderServlet.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/ear/ClassLoaderServlet.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/ear/ClassLoaderServlet.java
new file mode 100644
index 0000000..6216fce
--- /dev/null
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-webprofile-tests/src/test/java/org/apache/openejb/arquillian/tests/ear/ClassLoaderServlet.java
@@ -0,0 +1,38 @@
+/*
+ * 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.tests.ear;
+
+import org.apache.openejb.arquillian.tests.ear.cdi.SimpleBean;
+
+import java.io.IOException;
+import javax.inject.Inject;
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+@WebServlet("/classloader")
+public class ClassLoaderServlet extends HttpServlet {
+    @Inject
+    private SimpleBean bean;
+
+    @Override
+    protected void service(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
+        resp.getWriter().print(bean.classloaderAsStr());
+    }
+}