ARIES-1823 Optionally support Service Loader Mediator
Project: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/repo Commit: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/commit/507451a5 Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/507451a5 Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/507451a5 Branch: refs/heads/apply.slm Commit: 507451a5aaf88584a23e7800267fd743dbeb48c6 Parents: 556bf64 Author: Raymond Auge <[email protected]> Authored: Fri Aug 17 10:21:22 2018 -0400 Committer: Raymond Auge <[email protected]> Committed: Fri Aug 17 11:58:04 2018 -0400 ---------------------------------------------------------------------- jax-rs.whiteboard/bnd.bnd | 25 ++++++++++++---- .../internal/client/ClientBuilderFactory.java | 6 +--- .../internal/client/ClientBuilderImpl.java | 30 ++++++++++++++++++++ .../services/javax.ws.rs.client.ClientBuilder | 1 + .../services/javax.ws.rs.ext.RuntimeDelegate | 1 + .../javax.ws.rs.sse.SseEventSource.Builder | 1 + 6 files changed, 53 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/507451a5/jax-rs.whiteboard/bnd.bnd ---------------------------------------------------------------------- diff --git a/jax-rs.whiteboard/bnd.bnd b/jax-rs.whiteboard/bnd.bnd index edfa076..c969866 100644 --- a/jax-rs.whiteboard/bnd.bnd +++ b/jax-rs.whiteboard/bnd.bnd @@ -29,14 +29,27 @@ Provide-Capability: \ uses:="org.osgi.service.jaxrs.runtime,org.osgi.service.jaxrs.runtime.dto", \ osgi.service; \ objectClass:List<String>="javax.ws.rs.client.ClientBuilder"; \ - uses:="javax.ws.rs.client,org.osgi.service.jaxrs.client",\ - osgi.service; \ - objectClass:List<String>="org.osgi.service.jaxrs.client.SseEventSourceFactory"; \ - uses:="javax.ws.rs.client,org.osgi.service.jaxrs.client" - + uses:="javax.ws.rs.client,org.osgi.service.jaxrs.client", \ + osgi.service; \ + objectClass:List<String>="org.osgi.service.jaxrs.client.SseEventSourceFactory"; \ + uses:="javax.ws.rs.client,org.osgi.service.jaxrs.client", \ + osgi.serviceloader; \ + osgi.serviceloader=javax.ws.rs.client.ClientBuilder; \ + uses:="javax.ws.rs.client,org.osgi.service.jaxrs.client", \ + osgi.serviceloader; \ + osgi.serviceloader=javax.ws.rs.ext.RuntimeDelegate; \ + uses:="javax.ws.rs.core,javax.ws.rs.ext", \ + osgi.serviceloader; \ + osgi.serviceloader=javax.ws.rs.sse.SseEventSource.Builder; \ + uses:="javax.ws.rs.client,javax.ws.rs.sse" + Require-Capability: \ osgi.implementation; \ - filter:='(&(osgi.implementation=osgi.http)(version>=1)(!(version>=2)))' + filter:='(&(osgi.implementation=osgi.http)(version>=1)(!(version>=2)))',\ + osgi.extender;\ + filter:="(osgi.extender=osgi.serviceloader.registrar)";\ + resolution:='optional' + Import-Package:\ !com.sun.*,\ !javax.cache.*,\ http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/507451a5/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderFactory.java ---------------------------------------------------------------------- diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderFactory.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderFactory.java index 90ccb62..db7dc54 100644 --- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderFactory.java +++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderFactory.java @@ -19,8 +19,6 @@ package org.apache.aries.jax.rs.whiteboard.internal.client; import javax.ws.rs.client.ClientBuilder; -import org.apache.cxf.jaxrs.client.PromiseRxInvokerProviderImpl; -import org.apache.cxf.jaxrs.client.spec.ClientBuilderImpl; import org.osgi.framework.Bundle; import org.osgi.framework.PrototypeServiceFactory; import org.osgi.framework.ServiceRegistration; @@ -32,9 +30,7 @@ public class ClientBuilderFactory public ClientBuilder getService( Bundle bundle, ServiceRegistration<ClientBuilder> registration) { - ClientBuilderImpl clientBuilder = new ClientBuilderImpl(); - - return clientBuilder.register(new PromiseRxInvokerProviderImpl()); + return new ClientBuilderImpl(); } @Override http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/507451a5/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderImpl.java ---------------------------------------------------------------------- diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderImpl.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderImpl.java new file mode 100644 index 0000000..ab91f15 --- /dev/null +++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderImpl.java @@ -0,0 +1,30 @@ +/* + * 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.aries.jax.rs.whiteboard.internal.client; + +import org.apache.cxf.jaxrs.client.PromiseRxInvokerProviderImpl; + +public class ClientBuilderImpl extends org.apache.cxf.jaxrs.client.spec.ClientBuilderImpl { + + public ClientBuilderImpl() { + super(); + + register(new PromiseRxInvokerProviderImpl()); + } + +} http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/507451a5/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.client.ClientBuilder ---------------------------------------------------------------------- diff --git a/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.client.ClientBuilder b/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.client.ClientBuilder new file mode 100644 index 0000000..96bc6b4 --- /dev/null +++ b/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.client.ClientBuilder @@ -0,0 +1 @@ +org.apache.aries.jax.rs.whiteboard.internal.client.ClientBuilderImpl \ No newline at end of file http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/507451a5/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.ext.RuntimeDelegate ---------------------------------------------------------------------- diff --git a/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.ext.RuntimeDelegate b/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.ext.RuntimeDelegate new file mode 100644 index 0000000..fdd2966 --- /dev/null +++ b/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.ext.RuntimeDelegate @@ -0,0 +1 @@ +org.apache.cxf.jaxrs.impl.RuntimeDelegateImpl \ No newline at end of file http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/507451a5/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.sse.SseEventSource.Builder ---------------------------------------------------------------------- diff --git a/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.sse.SseEventSource.Builder b/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.sse.SseEventSource.Builder new file mode 100644 index 0000000..ad2d85a --- /dev/null +++ b/jax-rs.whiteboard/src/main/resources/META-INF/services/javax.ws.rs.sse.SseEventSource.Builder @@ -0,0 +1 @@ +org.apache.cxf.jaxrs.sse.client.SseEventSourceBuilderImpl \ No newline at end of file
