Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2010-10-04 22:07:54 +0000
committerslewis2010-10-04 22:07:54 +0000
commitc83ffdcabd55773a53de0735e7e6ae55dc9bca9c (patch)
tree39532a535d666532cd7bd96cd5230a740373158e /providers/bundles
parent192c82653a961b1924b318c2a10aaeb81af0dd54 (diff)
downloadorg.eclipse.ecf-c83ffdcabd55773a53de0735e7e6ae55dc9bca9c.tar.gz
org.eclipse.ecf-c83ffdcabd55773a53de0735e7e6ae55dc9bca9c.tar.xz
org.eclipse.ecf-c83ffdcabd55773a53de0735e7e6ae55dc9bca9c.zip
Changes for implementing enhancement https://bugs.eclipse.org/bugs/show_bug.cgi?id=326949
Diffstat (limited to 'providers/bundles')
-rw-r--r--providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiRemoteServiceContainer.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiRemoteServiceContainer.java b/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiRemoteServiceContainer.java
index c02ea48d6..08de7fbdb 100644
--- a/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiRemoteServiceContainer.java
+++ b/providers/bundles/org.eclipse.ecf.provider.r_osgi/src/org/eclipse/ecf/internal/provider/r_osgi/R_OSGiRemoteServiceContainer.java
@@ -202,6 +202,17 @@ final class R_OSGiRemoteServiceContainer implements IRemoteServiceContainerAdapt
return new RemoteServiceImpl(impl, rs);
}
+ public IRemoteServiceReference[] getRemoteServiceReferences(ID target, ID[] idFilter, String clazz, String filter) throws InvalidSyntaxException, ContainerConnectException {
+ if (target == null)
+ return getRemoteServiceReferences(idFilter, clazz, filter);
+ if (idFilter == null)
+ return getRemoteServiceReferences(target, clazz, filter);
+ List idsList = Arrays.asList(idFilter);
+ // add target
+ idsList.add(target);
+ return getRemoteServiceReferences((ID[]) idsList.toArray(new ID[] {}), clazz, filter);
+ }
+
/**
* get remote service references.
*
@@ -744,6 +755,15 @@ final class R_OSGiRemoteServiceContainer implements IRemoteServiceContainerAdapt
}, null);
}
+ public IFuture asyncGetRemoteServiceReferences(final ID target, final ID[] idFilter, final String clazz, final String filter) {
+ IExecutor executor = new ThreadsExecutor();
+ return executor.execute(new IProgressRunnable() {
+ public Object run(IProgressMonitor monitor) throws Exception {
+ return getRemoteServiceReferences(target, idFilter, clazz, filter);
+ }
+ }, null);
+ }
+
public Namespace getRemoteServiceNamespace() {
return IDFactory.getDefault().getNamespaceByName(R_OSGiRemoteServiceNamespace.NAME);
}

Back to the top