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 2014/06/02 00:09:46 UTC

svn commit: r1599067 - in /tomee/tomee/trunk/arquillian: arquillian-common/src/main/java/org/apache/openejb/arquillian/common/ arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/ arquillian-tomee-embedded/src/main/java/or...

Author: rmannibucau
Date: Sun Jun  1 22:09:45 2014
New Revision: 1599067

URL: http://svn.apache.org/r1599067
Log:
TOMEE-1234 setting classloader for tomee embedded too

Added:
    tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/TestObserver.java
      - copied, changed from r1598986, tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/TestObserver.java
Removed:
    tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/TestObserver.java
Modified:
    tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/OpenEJBExtension.java
    tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
    tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEExtension.java

Copied: tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/TestObserver.java (from r1598986, tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/TestObserver.java)
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/TestObserver.java?p2=tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/TestObserver.java&p1=tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/TestObserver.java&r1=1598986&r2=1599067&rev=1599067&view=diff
==============================================================================
--- tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/TestObserver.java (original)
+++ tomee/tomee/trunk/arquillian/arquillian-common/src/main/java/org/apache/openejb/arquillian/common/TestObserver.java Sun Jun  1 22:09:45 2014
@@ -14,8 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.openejb.arquillian.openejb;
+package org.apache.openejb.arquillian.common;
 
+import org.apache.openejb.AppContext;
 import org.apache.openejb.BeanContext;
 import org.apache.openejb.core.ThreadContext;
 import org.apache.openejb.loader.SystemInstance;
@@ -81,7 +82,14 @@ public class TestObserver {
     }
 
     private BeanContext beanContext() {
-        return SystemInstance.get().getComponent(ContainerSystem.class)
-                .getBeanContext(testClass.get().getName());
+        final String className = testClass.get().getName();
+        final ContainerSystem containerSystem = SystemInstance.get().getComponent(ContainerSystem.class);
+        for (final AppContext app : containerSystem.getAppContexts()) {
+            final BeanContext context = containerSystem.getBeanContext(app.getId() + "_" + className);
+            if (context != null) {
+                return context;
+            }
+        }
+        return null;
     }
 }

Modified: tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/OpenEJBExtension.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/OpenEJBExtension.java?rev=1599067&r1=1599066&r2=1599067&view=diff
==============================================================================
--- tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/OpenEJBExtension.java (original)
+++ tomee/tomee/trunk/arquillian/arquillian-openejb-embedded-4/src/main/java/org/apache/openejb/arquillian/openejb/OpenEJBExtension.java Sun Jun  1 22:09:45 2014
@@ -17,6 +17,7 @@
 package org.apache.openejb.arquillian.openejb;
 
 import org.apache.openejb.arquillian.common.ArquillianUtil;
+import org.apache.openejb.arquillian.common.TestObserver;
 import org.apache.openejb.arquillian.common.deployment.DeploymentExceptionObserver;
 import org.apache.openejb.arquillian.common.deployment.DeploymentExceptionProvider;
 import org.apache.openejb.arquillian.transaction.OpenEJBTransactionProvider;

Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java?rev=1599067&r1=1599066&r2=1599067&view=diff
==============================================================================
--- tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java (original)
+++ tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java Sun Jun  1 22:09:45 2014
@@ -23,6 +23,7 @@ import org.apache.openejb.arquillian.com
 import org.apache.openejb.assembler.classic.AppInfo;
 import org.apache.openejb.config.AdditionalBeanDiscoverer;
 import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.spi.ContainerSystem;
 import org.apache.tomee.embedded.Configuration;
 import org.apache.tomee.embedded.Container;
 import org.apache.webbeans.config.WebBeansContext;
@@ -33,6 +34,10 @@ import org.jboss.arquillian.container.sp
 import org.jboss.arquillian.container.spi.client.protocol.metadata.HTTPContext;
 import org.jboss.arquillian.container.spi.client.protocol.metadata.ProtocolMetaData;
 import org.jboss.arquillian.container.spi.client.protocol.metadata.Servlet;
+import org.jboss.arquillian.core.api.InstanceProducer;
+import org.jboss.arquillian.core.api.annotation.Inject;
+import org.jboss.arquillian.test.spi.annotation.SuiteScoped;
+import org.jboss.arquillian.test.spi.annotation.TestScoped;
 import org.jboss.shrinkwrap.api.Archive;
 
 import javax.enterprise.context.ConversationScoped;
@@ -51,6 +56,10 @@ public class EmbeddedTomEEContainer exte
 
     private Container container;
 
+    @Inject
+    @SuiteScoped
+    private InstanceProducer<ClassLoader> classLoader;
+
     @Override
     public Class<EmbeddedTomEEConfiguration> getConfigurationClass() {
         return EmbeddedTomEEConfiguration.class;
@@ -139,6 +148,8 @@ public class EmbeddedTomEEContainer exte
 
             startCdiContexts(name); // ensure tests can use request/session scopes even if we don't have a request
 
+            classLoader.set(SystemInstance.get().getComponent(ContainerSystem.class).getAppContext(info.appId).getClassLoader());
+
             return new ProtocolMetaData().addContext(httpContext);
         } catch (final Exception e) {
             e.printStackTrace();

Modified: tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEExtension.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEExtension.java?rev=1599067&r1=1599066&r2=1599067&view=diff
==============================================================================
--- tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEExtension.java (original)
+++ tomee/tomee/trunk/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEExtension.java Sun Jun  1 22:09:45 2014
@@ -19,6 +19,7 @@ package org.apache.openejb.arquillian.em
 
 import org.apache.openejb.arquillian.common.ArquillianUtil;
 import org.apache.openejb.arquillian.common.RemoteInitialContextObserver;
+import org.apache.openejb.arquillian.common.TestObserver;
 import org.apache.openejb.arquillian.common.TomEEInjectionEnricher;
 import org.apache.openejb.arquillian.common.deployment.DeploymentExceptionObserver;
 import org.apache.openejb.arquillian.common.deployment.DeploymentExceptionProvider;
@@ -38,6 +39,7 @@ public class EmbeddedTomEEExtension impl
             builder.service(DeployableContainer.class, EmbeddedTomEEContainer.class)
                 .observer(DeploymentExceptionObserver.class)
                 .observer(RemoteInitialContextObserver.class)
+                .observer(TestObserver.class)
                 .service(TestEnricher.class, TomEEInjectionEnricher.class)
                 .service(TransactionProvider.class, OpenEJBTransactionProvider.class)
                 .service(ResourceProvider.class, DeploymentExceptionProvider.class);