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/04/16 23:32:28 UTC

svn commit: r1588078 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/cdi/ container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ examples/datasource-versioning/ examples/datasource-versioning/src/test...

Author: rmannibucau
Date: Wed Apr 16 21:32:28 2014
New Revision: 1588078

URL: http://svn.apache.org/r1588078
Log:
fixing classpath usage + datasource versinoing sample

Added:
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ClassLoaderAwareHandler.java
Modified:
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OptimizedLoaderService.java
    tomee/tomee/trunk/examples/datasource-versioning/pom.xml
    tomee/tomee/trunk/examples/datasource-versioning/src/test/conf/tomee.xml
    tomee/tomee/trunk/examples/datasource-versioning/src/test/resources/arquillian.xml

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OptimizedLoaderService.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OptimizedLoaderService.java?rev=1588078&r1=1588077&r2=1588078&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OptimizedLoaderService.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/OptimizedLoaderService.java Wed Apr 16 21:32:28 2014
@@ -18,13 +18,12 @@ package org.apache.openejb.cdi;
 
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.classloader.ClassLoaderAwareHandler;
 import org.apache.webbeans.service.DefaultLoaderService;
 import org.apache.webbeans.spi.LoaderService;
 import org.apache.webbeans.spi.plugins.OpenWebBeansPlugin;
 
 import javax.enterprise.inject.spi.Extension;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -125,31 +124,4 @@ public class OptimizedLoaderService impl
         }
         return list;
     }
-
-    private static final class ClassLoaderAwareHandler implements InvocationHandler {
-        private final Object delegate;
-        private final ClassLoader loader;
-        private final String toString;
-
-        private ClassLoaderAwareHandler(final String toString, final Object delegate, final ClassLoader loader) {
-            this.delegate = delegate;
-            this.loader = loader;
-            this.toString = toString;
-        }
-
-        @Override
-        public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
-            if (method.getName().equals("toString")) {
-                return toString;
-            }
-
-            final ClassLoader old = Thread.currentThread().getContextClassLoader();
-            Thread.currentThread().setContextClassLoader(loader);
-            try {
-                return method.invoke(delegate, args);
-            } finally {
-                Thread.currentThread().setContextClassLoader(old);
-            }
-        }
-    }
 }

Added: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ClassLoaderAwareHandler.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ClassLoaderAwareHandler.java?rev=1588078&view=auto
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ClassLoaderAwareHandler.java (added)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/ClassLoaderAwareHandler.java Wed Apr 16 21:32:28 2014
@@ -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.util.classloader;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+
+public final class ClassLoaderAwareHandler implements InvocationHandler {
+    private final Object delegate;
+    private final ClassLoader loader;
+    private final String toString;
+
+    public ClassLoaderAwareHandler(final String toString, final Object delegate, final ClassLoader loader) {
+        this.delegate = delegate;
+        this.loader = loader;
+        this.toString = toString;
+    }
+
+    @Override
+    public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
+        if (toString != null && method.getName().equals("toString")) {
+            return toString;
+        }
+
+        final Thread thread = Thread.currentThread();
+        final ClassLoader old = thread.getContextClassLoader();
+        thread.setContextClassLoader(loader);
+        try {
+            return method.invoke(delegate, args);
+        } finally {
+            thread.setContextClassLoader(old);
+        }
+    }
+}

Modified: tomee/tomee/trunk/examples/datasource-versioning/pom.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/datasource-versioning/pom.xml?rev=1588078&r1=1588077&r2=1588078&view=diff
==============================================================================
--- tomee/tomee/trunk/examples/datasource-versioning/pom.xml (original)
+++ tomee/tomee/trunk/examples/datasource-versioning/pom.xml Wed Apr 16 21:32:28 2014
@@ -90,34 +90,6 @@
     </plugins>
   </build>
 
-  <profiles>
-    <profile>
-      <id>arquillian-tomee-embedded</id>
-      <activation>
-        <activeByDefault>true</activeByDefault>
-      </activation>
-      <dependencies>
-        <dependency>
-          <groupId>org.apache.openejb</groupId>
-          <artifactId>arquillian-tomee-embedded</artifactId>
-          <version>${tomee.version}</version>
-          <scope>test</scope>
-        </dependency>
-      </dependencies>
-    </profile>
-    <profile>
-      <id>arquillian-tomee-remote</id>
-      <dependencies>
-        <dependency>
-          <groupId>org.apache.openejb</groupId>
-          <artifactId>arquillian-tomee-remote</artifactId>
-          <version>${tomee.version}</version>
-          <scope>test</scope>
-        </dependency>
-      </dependencies>
-    </profile>
-  </profiles>
-
   <repositories>
     <repository>
       <id>apache-m2-snapshot</id>
@@ -161,6 +133,12 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>arquillian-tomee-remote</artifactId>
+      <version>${tomee.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.jboss.shrinkwrap.resolver</groupId>
       <artifactId>shrinkwrap-resolver-depchain</artifactId>
       <type>pom</type>

Modified: tomee/tomee/trunk/examples/datasource-versioning/src/test/conf/tomee.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/datasource-versioning/src/test/conf/tomee.xml?rev=1588078&r1=1588077&r2=1588078&view=diff
==============================================================================
--- tomee/tomee/trunk/examples/datasource-versioning/src/test/conf/tomee.xml (original)
+++ tomee/tomee/trunk/examples/datasource-versioning/src/test/conf/tomee.xml Wed Apr 16 21:32:28 2014
@@ -19,16 +19,16 @@
 -->
 <tomee>
 
-  <Resource id="DatabaseOne" type="DataSource" classpath="target/drivers/derby-10.10.1.1.jar">
+  <Resource id="DatabaseOne" type="DataSource" classpath="${catalina.base}/../../drivers/derby-10.10.1.1.jar">
     JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
     JdbcUrl jdbc:derby:databaseOne;create=true
     UserName SA
   </Resource>
 
-  <Resource id="DatabaseTwo" type="DataSource" classpath="target/drivers/derby-10.9.1.0.jar">
+  <Resource id="DatabaseTwo" type="DataSource" classpath="${catalina.base}/../../drivers/derby-10.9.1.0.jar">
     JdbcDriver org.apache.derby.jdbc.EmbeddedDriver
     JdbcUrl jdbc:derby:databaseTwo;create=true
     UserName SA
   </Resource>
 
-</tomee>
\ No newline at end of file
+</tomee>

Modified: tomee/tomee/trunk/examples/datasource-versioning/src/test/resources/arquillian.xml
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/examples/datasource-versioning/src/test/resources/arquillian.xml?rev=1588078&r1=1588077&r2=1588078&view=diff
==============================================================================
--- tomee/tomee/trunk/examples/datasource-versioning/src/test/resources/arquillian.xml (original)
+++ tomee/tomee/trunk/examples/datasource-versioning/src/test/resources/arquillian.xml Wed Apr 16 21:32:28 2014
@@ -22,11 +22,13 @@
 
   <container qualifier="tomee" default="true">
     <configuration>
-      <property name="serverXml">../src/test/conf/tomee.xml</property>
+      <property name="conf">src/test/conf/</property>
       <property name="httpPort">-1</property>
       <property name="stopPort">-1</property>
+      <property name="ajpPort">-1</property>
+      <property name="simpleLog">true</property>
       <property name="dir">target/apache-tomee-remote</property>
       <property name="appWorkingDir">target/arquillian-test-working-dir</property>
     </configuration>
   </container>
-</arquillian>
\ No newline at end of file
+</arquillian>