You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by cs...@apache.org on 2018/02/26 07:44:30 UTC

[4/5] aries-jax-rs-whiteboard git commit: Use immutable CachingServiceReference

Use immutable CachingServiceReference


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/873843e8
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/873843e8
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/873843e8

Branch: refs/heads/master
Commit: 873843e853ebe20880232152a7bb3e85d59b9a73
Parents: bb00d96
Author: Carlos Sierra <cs...@apache.org>
Authored: Mon Feb 26 08:41:52 2018 +0100
Committer: Carlos Sierra <cs...@apache.org>
Committed: Mon Feb 26 08:41:52 2018 +0100

----------------------------------------------------------------------
 .../whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java | 9 +++------
 .../internal/cxf/ServiceReferenceFilterProviderInfo.java    | 8 ++++----
 .../cxf/ServiceReferenceProviderInfoComparator.java         | 5 +++--
 3 files changed, 10 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/873843e8/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java
index 22942ec..04c40d1 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/CxfJaxrsServiceRegistrator.java
@@ -215,9 +215,6 @@ public class CxfJaxrsServiceRegistrator {
             CachingServiceReference<?> cachingServiceReference =
                 provider.getCachingServiceReference();
 
-            ServiceReference<?> serviceReference =
-                cachingServiceReference.getServiceReference();
-
             Object service = provider.getService();
 
             if (service instanceof Feature || service instanceof DynamicFeature) {
@@ -229,7 +226,7 @@ public class CxfJaxrsServiceRegistrator {
             Class<?> realClass = ClassHelper.getRealClass(getBus(), service);
 
             Class<?>[] interfaces = Arrays.stream(canonicalize(
-                serviceReference.getProperty("objectClass")))
+                cachingServiceReference.getProperty("objectClass")))
                 .filter(SUPPORTED_EXTENSION_INTERFACES::containsKey)
                 .map(SUPPORTED_EXTENSION_INTERFACES::get)
                 .toArray(Class[]::new);
@@ -243,8 +240,8 @@ public class CxfJaxrsServiceRegistrator {
 
             _jaxRsServerFactoryBean.setProvider(
                 new ServiceReferenceFilterProviderInfo<>(
-                    serviceReference, realClass, realClass, service, getBus(),
-                    getFilterNameBindings(getBus(), service), false,
+                    cachingServiceReference, realClass, realClass, service,
+                    getBus(), getFilterNameBindings(getBus(), service), false,
                     classesWithPriorities));
         }
 

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/873843e8/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/ServiceReferenceFilterProviderInfo.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/ServiceReferenceFilterProviderInfo.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/ServiceReferenceFilterProviderInfo.java
index 50cbb82..20daa64 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/ServiceReferenceFilterProviderInfo.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/ServiceReferenceFilterProviderInfo.java
@@ -17,9 +17,9 @@
 
 package org.apache.aries.jax.rs.whiteboard.internal.cxf;
 
+import org.apache.aries.osgi.functional.CachingServiceReference;
 import org.apache.cxf.Bus;
 import org.apache.cxf.jaxrs.model.FilterProviderInfo;
-import org.osgi.framework.ServiceReference;
 
 import java.util.Map;
 import java.util.Set;
@@ -28,7 +28,7 @@ public class ServiceReferenceFilterProviderInfo<T>
     extends FilterProviderInfo<T> {
 
     public ServiceReferenceFilterProviderInfo(
-        ServiceReference<?> serviceReference,
+        CachingServiceReference<?> serviceReference,
         Class<?> resourceClass, Class<?> serviceClass, T provider, Bus bus,
         Set<String> nameBindings, boolean dynamic, Map<Class<?>, Integer>
             supportedContracts) {
@@ -39,9 +39,9 @@ public class ServiceReferenceFilterProviderInfo<T>
         _serviceReference = serviceReference;
     }
 
-    public ServiceReference<?> getServiceReference() {
+    public CachingServiceReference<?> getServiceReference() {
         return _serviceReference;
     }
 
-    private ServiceReference<?> _serviceReference;
+    private CachingServiceReference<?> _serviceReference;
 }

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/873843e8/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/ServiceReferenceProviderInfoComparator.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/ServiceReferenceProviderInfoComparator.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/ServiceReferenceProviderInfoComparator.java
index 9490b43..f797095 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/ServiceReferenceProviderInfoComparator.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/cxf/ServiceReferenceProviderInfoComparator.java
@@ -17,6 +17,7 @@
 
 package org.apache.aries.jax.rs.whiteboard.internal.cxf;
 
+import org.apache.aries.osgi.functional.CachingServiceReference;
 import org.apache.cxf.jaxrs.model.ProviderInfo;
 import org.apache.cxf.jaxrs.provider.ProviderFactory;
 import org.apache.cxf.jaxrs.provider.ProviderFactory.ProviderInfoClassComparator;
@@ -37,10 +38,10 @@ public class ServiceReferenceProviderInfoComparator implements
     public int compare(ProviderInfo<?> pi1, ProviderInfo<?> pi2) {
         if (pi1 instanceof ServiceReferenceFilterProviderInfo<?>) {
             if (pi2 instanceof ServiceReferenceFilterProviderInfo<?>) {
-                ServiceReference serviceReference1 =
+                CachingServiceReference serviceReference1 =
                     ((ServiceReferenceFilterProviderInfo) pi1).
                         getServiceReference();
-                ServiceReference serviceReference2 =
+                CachingServiceReference serviceReference2 =
                     ((ServiceReferenceFilterProviderInfo) pi2).
                         getServiceReference();