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));
}