You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by cs...@apache.org on 2016/09/14 09:35:23 UTC

cxf-dosgi git commit: [DOSGI-108] Throw exception if a service has multiple interfaces

Repository: cxf-dosgi
Updated Branches:
  refs/heads/master 8ff43bef6 -> b193d0bdb


[DOSGI-108] Throw exception if a service has multiple interfaces


Project: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/commit/b193d0bd
Tree: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/tree/b193d0bd
Diff: http://git-wip-us.apache.org/repos/asf/cxf-dosgi/diff/b193d0bd

Branch: refs/heads/master
Commit: b193d0bdb4e6b1fa9e1155b16eae091ac9168e4f
Parents: 8ff43be
Author: Christian Schneider <ch...@die-schneider.net>
Authored: Wed Sep 14 11:34:56 2016 +0200
Committer: Christian Schneider <ch...@die-schneider.net>
Committed: Wed Sep 14 11:34:56 2016 +0200

----------------------------------------------------------------------
 .../java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java   | 3 +++
 .../java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java     | 3 +++
 2 files changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/b193d0bd/provider-rs/src/main/java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java
----------------------------------------------------------------------
diff --git a/provider-rs/src/main/java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java b/provider-rs/src/main/java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java
index b618050..66f6ff1 100644
--- a/provider-rs/src/main/java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java
+++ b/provider-rs/src/main/java/org/apache/cxf/dosgi/dsw/handlers/rest/RsProvider.java
@@ -90,6 +90,9 @@ public class RsProvider implements DistributionProvider {
                                  BundleContext consumerContext,
                                  Class[] interfaces,
                                  EndpointDescription endpoint) {
+        if (interfaces.length > 1) {
+            throw new IllegalArgumentException("Multiple interfaces are not supported by this provider");
+        }
         Set<String> intentNames = intentManager.getImported(endpoint.getProperties());
         List<Object> intents = intentManager.getRequiredIntents(intentNames);
         Class<?> iClass = interfaces[0];

http://git-wip-us.apache.org/repos/asf/cxf-dosgi/blob/b193d0bd/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
----------------------------------------------------------------------
diff --git a/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java b/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
index 3bc28ee..bd1b541 100644
--- a/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
+++ b/provider-ws/src/main/java/org/apache/cxf/dosgi/dsw/handlers/ws/WsProvider.java
@@ -95,6 +95,9 @@ public class WsProvider implements DistributionProvider {
                                  BundleContext consumerContext,
                                  Class[] interfaces,
                                  EndpointDescription endpoint) throws IntentUnsatisfiedException {
+        if (interfaces.length > 1) {
+            throw new IllegalArgumentException("Multiple interfaces are not supported by this provider");
+        }
         Class<?> iClass = interfaces[0];
         Map<String, Object> sd = endpoint.getProperties();
         String address = getClientAddress(sd);