Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2018-04-06 19:15:57 +0000
committerslewis2018-04-06 19:15:57 +0000
commit36a53be07e74f800d9e3a8baa93b99d03ff0f0bd (patch)
tree5250a56822ca5d98fbe93b812d1a1214e184a21d /protocols/bundles/ch.ethz.iks.r_osgi.remote
parent1e55810220d5c6fab6741707d4beef67a18da94a (diff)
downloadorg.eclipse.ecf-36a53be07e74f800d9e3a8baa93b99d03ff0f0bd.tar.gz
org.eclipse.ecf-36a53be07e74f800d9e3a8baa93b99d03ff0f0bd.tar.xz
org.eclipse.ecf-36a53be07e74f800d9e3a8baa93b99d03ff0f0bd.zip
Simplification of API for checking for existence of osgi.async intent on
IRemoteServiceReferences. Change-Id: Id15b6f932eb746dd569c4eba4fbd2540acd7da72
Diffstat (limited to 'protocols/bundles/ch.ethz.iks.r_osgi.remote')
-rw-r--r--protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/RemoteServiceRegistration.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/RemoteServiceRegistration.java b/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/RemoteServiceRegistration.java
index f4e98167f..9f42cf876 100644
--- a/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/RemoteServiceRegistration.java
+++ b/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/RemoteServiceRegistration.java
@@ -29,6 +29,7 @@
package ch.ethz.iks.r_osgi.impl;
import java.lang.reflect.Method;
+import java.util.Arrays;
import java.util.Dictionary;
import java.util.HashMap;
import java.util.Hashtable;
@@ -160,7 +161,15 @@ final class RemoteServiceRegistration {
}
boolean isOSGiAsync() {
- return reference.getProperty(OSGI_ASYNC) != null;
+ Object o = reference.getProperty(OSGI_ASYNC);
+ if (o != null)
+ return true;
+ // If service.intents has values, and the osgi.async is present then it's also yes
+ String[] serviceIntents = (String[]) reference.getProperty("service.intents");
+ if (serviceIntents != null && Arrays.asList(serviceIntents).contains("osgi.async"))
+ return true;
+ // otherwise no
+ return false;
}
long getOSGiTimeout() {

Back to the top