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/04/14 17:10:15 UTC

tomee git commit: ensuring we can override ClientBuilder using expected SPI

Repository: tomee
Updated Branches:
  refs/heads/master 61f2d2227 -> 08650ce19


ensuring we can override ClientBuilder using expected SPI


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

Branch: refs/heads/master
Commit: 08650ce19d5fe5e82e6fdc17c198064aa7d3a4a6
Parents: 61f2d22
Author: Romain Manni-Bucau <rm...@apache.org>
Authored: Tue Apr 14 17:08:02 2015 +0200
Committer: Romain Manni-Bucau <rm...@apache.org>
Committed: Tue Apr 14 17:08:02 2015 +0200

----------------------------------------------------------------------
 .../tests/jaxrs/client/DefaultClientTest.java   | 43 ++++++++++++++++
 .../tests/jaxrs/client/OverridedClientTest.java | 53 ++++++++++++++++++++
 .../util/classloader/URLClassLoaderFirst.java   |  1 +
 3 files changed, 97 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/08650ce1/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/client/DefaultClientTest.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/client/DefaultClientTest.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/client/DefaultClientTest.java
new file mode 100644
index 0000000..2405a4e
--- /dev/null
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/client/DefaultClientTest.java
@@ -0,0 +1,43 @@
+/*
+ * 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.jaxrs.client;
+
+import org.apache.cxf.jaxrs.client.spec.ClientBuilderImpl;
+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.spec.WebArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.ws.rs.client.ClientBuilder;
+
+import static org.junit.Assert.assertEquals;
+
+@RunWith(Arquillian.class)
+public class DefaultClientTest {
+    @Deployment
+    public static Archive<?> war() {
+        return ShrinkWrap.create(WebArchive.class, "DefaultClientTest.war");
+    }
+
+    @Test
+    public void run() {
+        assertEquals(ClientBuilderImpl.class.getName(), ClientBuilder.newBuilder().getClass().getName());
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/08650ce1/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/client/OverridedClientTest.java
----------------------------------------------------------------------
diff --git a/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/client/OverridedClientTest.java b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/client/OverridedClientTest.java
new file mode 100644
index 0000000..583a57b
--- /dev/null
+++ b/arquillian/arquillian-tomee-tests/arquillian-tomee-jaxrs-tests/src/test/java/org/apache/openejb/arquillian/tests/jaxrs/client/OverridedClientTest.java
@@ -0,0 +1,53 @@
+/*
+ * 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.jaxrs.client;
+
+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.spec.WebArchive;
+import org.jboss.shrinkwrap.resolver.api.maven.Maven;
+import org.jboss.shrinkwrap.resolver.api.maven.MavenResolverSystem;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import javax.ws.rs.client.ClientBuilder;
+
+import static org.junit.Assert.assertEquals;
+
+@RunWith(Arquillian.class)
+public class OverridedClientTest {
+    @Deployment
+    public static Archive<?> war() {
+        final MavenResolverSystem resolver = Maven.resolver();
+        final String jerseyVersion = "2.17";
+        final String hkApi = "2.4.0-b16";
+        return ShrinkWrap.create(WebArchive.class, "OverridedClientTest.war")
+                .addAsServiceProvider(ClientBuilder.class.getName(), "org.glassfish.jersey.client.JerseyClientBuilder") // missing in jersey
+                .addAsLibraries(resolver.resolve("org.glassfish.jersey.core:jersey-common:" + jerseyVersion).withoutTransitivity().asFile())
+                .addAsLibraries(resolver.resolve("org.glassfish.jersey.core:jersey-client:" + jerseyVersion).withoutTransitivity().asFile())
+                .addAsLibraries(resolver.resolve("org.glassfish.hk2:hk2-api:" + hkApi).withoutTransitivity().asFile())
+                .addAsLibraries(resolver.resolve("org.glassfish.hk2:hk2-core:" + hkApi).withoutTransitivity().asFile())
+                .addAsLibraries(resolver.resolve("org.glassfish.jersey.bundles.repackaged:jersey-guava:" + jerseyVersion).withoutTransitivity().asFile());
+    }
+
+    @Test
+    public void run() {
+        assertEquals("org.glassfish.jersey.client.JerseyClientBuilder", ClientBuilder.newBuilder().getClass().getName());
+    }
+}

http://git-wip-us.apache.org/repos/asf/tomee/blob/08650ce1/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java b/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
index 217b21f..e4b4405 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java
@@ -559,6 +559,7 @@ public class URLClassLoaderFirst extends URLClassLoader {
         // currently bean validation, Slf4j, myfaces (because of enrichment)
         return name != null
             && ("META-INF/services/javax.validation.spi.ValidationProvider".equals(name)
+            || "META-INF/services/javax.ws.rs.client.ClientBuilder".equals(name)
             || name.startsWith("META-INF/services/org.apache.myfaces.spi")
             || SLF4J_BINDER_CLASS.equals(name));
     }