diff options
author | slewis | 2018-04-06 19:15:57 +0000 |
---|---|---|
committer | slewis | 2018-04-06 19:15:57 +0000 |
commit | 36a53be07e74f800d9e3a8baa93b99d03ff0f0bd (patch) | |
tree | 5250a56822ca5d98fbe93b812d1a1214e184a21d /protocols | |
parent | 1e55810220d5c6fab6741707d4beef67a18da94a (diff) | |
download | org.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')
-rw-r--r-- | protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/RemoteServiceRegistration.java | 11 |
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() { |