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

Reply via email to