diff options
author | mkuppe | 2009-02-25 13:30:13 +0000 |
---|---|---|
committer | mkuppe | 2009-02-25 13:30:13 +0000 |
commit | e070e1bbd5386b42f0dcde9aea19a377923666c2 (patch) | |
tree | edb7720c90ba5b43f13568e26815b523489340ca /providers/bundles/org.eclipse.ecf.provider.discovery | |
parent | 6673040c24c09106b7f38acc1ae86d3799de30a0 (diff) | |
download | org.eclipse.ecf-e070e1bbd5386b42f0dcde9aea19a377923666c2.tar.gz org.eclipse.ecf-e070e1bbd5386b42f0dcde9aea19a377923666c2.tar.xz org.eclipse.ecf-e070e1bbd5386b42f0dcde9aea19a377923666c2.zip |
NEW - bug 254832: [Discovery][SLP] Provider may cache discovered services for lifetime
https://bugs.eclipse.org/bugs/show_bug.cgi?id=254832
Diffstat (limited to 'providers/bundles/org.eclipse.ecf.provider.discovery')
-rw-r--r-- | providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/provider/discovery/CompositeDiscoveryContainer.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/provider/discovery/CompositeDiscoveryContainer.java b/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/provider/discovery/CompositeDiscoveryContainer.java index 3b4dd1f5c..25db754ff 100644 --- a/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/provider/discovery/CompositeDiscoveryContainer.java +++ b/providers/bundles/org.eclipse.ecf.provider.discovery/src/org/eclipse/ecf/provider/discovery/CompositeDiscoveryContainer.java @@ -319,6 +319,21 @@ public class CompositeDiscoveryContainer extends AbstractDiscoveryContainerAdapt } } + /* (non-Javadoc) + * @see org.eclipse.ecf.discovery.AbstractDiscoveryContainerAdapter#purgeCache() + */ + public IServiceInfo[] purgeCache() { + final Set set = new HashSet(); + synchronized (containers) { + for (final Iterator itr = containers.iterator(); itr.hasNext();) { + final IDiscoveryLocator idca = (IDiscoveryLocator) itr.next(); + final IServiceInfo[] services = idca.purgeCache(); + set.addAll(Arrays.asList(services)); + } + } + return (IServiceInfo[]) set.toArray(new IServiceInfo[set.size()]); + } + /** * @param object * @return true on success |