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 2017/09/04 13:52:19 UTC
[2/4] aries-jax-rs-whiteboard git commit: Add extension interfaces to
ExtensionDTO
Add extension interfaces to ExtensionDTO
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/b117b6f2
Tree: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/tree/b117b6f2
Diff: http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/diff/b117b6f2
Branch: refs/heads/master
Commit: b117b6f22e39bfa261399ccfde079fdbfe365403
Parents: 638ebef
Author: Carlos Sierra <cs...@apache.org>
Authored: Mon Sep 4 12:44:14 2017 +0200
Committer: Carlos Sierra <cs...@apache.org>
Committed: Mon Sep 4 12:44:14 2017 +0200
----------------------------------------------------------------------
.../rs/whiteboard/internal/AriesJaxRSServiceRuntime.java | 10 ++++++++++
.../apache/aries/jax/rs/whiteboard/internal/Utils.java | 4 ++++
2 files changed, 14 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/b117b6f2/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/AriesJaxRSServiceRuntime.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/AriesJaxRSServiceRuntime.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/AriesJaxRSServiceRuntime.java
index 9a79da8..a3c53c9 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/AriesJaxRSServiceRuntime.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/AriesJaxRSServiceRuntime.java
@@ -33,6 +33,7 @@ import org.osgi.service.jaxrs.whiteboard.JaxRSWhiteboardConstants;
import javax.ws.rs.core.Application;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -45,8 +46,10 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.function.BiFunction;
import java.util.stream.Stream;
+import static org.apache.aries.jax.rs.whiteboard.internal.Utils.canonicalize;
import static org.apache.aries.jax.rs.whiteboard.internal.Utils.generateApplicationName;
import static org.apache.aries.jax.rs.whiteboard.internal.Whiteboard.DEFAULT_NAME;
+import static org.apache.aries.jax.rs.whiteboard.internal.Whiteboard.SUPPORTED_EXTENSION_INTERFACES;
import static org.apache.aries.jax.rs.whiteboard.internal.Whiteboard.getApplicationBase;
import static org.osgi.service.jaxrs.whiteboard.JaxRSWhiteboardConstants.JAX_RS_NAME;
@@ -490,6 +493,13 @@ public class AriesJaxRSServiceRuntime implements JaxRSServiceRuntime {
toString();
extensionDTO.serviceId = (Long)serviceReference.getProperty(
"service.id");
+ extensionDTO.extensionTypes =
+ Arrays.stream(
+ canonicalize(serviceReference.getProperty("objectClass"))).
+ filter(
+ SUPPORTED_EXTENSION_INTERFACES::contains
+ ).
+ toArray(String[]::new);
return extensionDTO;
}
http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/b117b6f2/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Utils.java
----------------------------------------------------------------------
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Utils.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Utils.java
index 1e5d15a..637353a 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Utils.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/Utils.java
@@ -24,6 +24,7 @@ import org.apache.cxf.message.Message;
import org.osgi.framework.ServiceObjects;
import org.osgi.framework.ServiceReference;
+import java.util.Collection;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
@@ -50,6 +51,9 @@ public class Utils {
if (propertyValue instanceof String[]) {
return (String[]) propertyValue;
}
+ if (propertyValue instanceof Collection) {
+ return ((Collection<String>) propertyValue).toArray(new String[0]);
+ }
return new String[]{propertyValue.toString()};
}