Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2015-07-25 22:46:51 +0000
committerslewis2015-07-25 22:46:51 +0000
commitdb6d57f6f677c55ed191bbb277cb37d5086207ab (patch)
tree681512031ff9fb992bca9d3c81e5ac0da6d8f9e3
parent30067dbe857f2c589d638307c3f1d28e44ac8ea1 (diff)
downloadorg.eclipse.ecf-db6d57f6f677c55ed191bbb277cb37d5086207ab.tar.gz
org.eclipse.ecf-db6d57f6f677c55ed191bbb277cb37d5086207ab.tar.xz
org.eclipse.ecf-db6d57f6f677c55ed191bbb277cb37d5086207ab.zip
Improved fix for bug
https://bugs.eclipse.org/bugs/show_bug.cgi?id=473580 Change-Id: I0000000000000000000000000000000000000000
-rw-r--r--framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/EndpointDiscoveryView.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/EndpointDiscoveryView.java b/framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/EndpointDiscoveryView.java
index 64ee890e1..e5a157437 100644
--- a/framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/EndpointDiscoveryView.java
+++ b/framework/bundles/org.eclipse.ecf.remoteservice.ui/src/org/eclipse/ecf/internal/remoteservices/ui/EndpointDiscoveryView.java
@@ -11,6 +11,7 @@ package org.eclipse.ecf.internal.remoteservices.ui;
import java.io.FileInputStream;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
+import java.util.ArrayList;
import java.util.List;
import org.eclipse.core.runtime.IStatus;
@@ -176,6 +177,7 @@ public class EndpointDiscoveryView extends ViewPart {
discovery.setView(null);
discovery = null;
}
+ discoveredEndpointIds.clear();
}
private void hookContextMenu() {
@@ -468,14 +470,21 @@ public class EndpointDiscoveryView extends ViewPart {
handleEndpointDescription(event.getType(),(EndpointDescription) event.getEndpoint());
}
+ private List<String> discoveredEndpointIds = new ArrayList<String>();
+
void addEndpoint(EndpointDescription ed) {
if (EndpointDiscoveryView.this.previousRegistryBrowserGroupBy != RegistryBrowser.SERVICES)
showServicesInRegistryBrowser();
- contentProvider.getRootNode().addChild(createEndpointDescriptionNode(ed));
+ String edId = ed.getId();
+ if (!discoveredEndpointIds.contains(edId)) {
+ discoveredEndpointIds.add(edId);
+ contentProvider.getRootNode().addChild(createEndpointDescriptionNode(ed));
+ }
}
void removeEndpoint(EndpointDescription ed) {
- contentProvider.getRootNode().removeChild(new EndpointNode(ed));
+ if (discoveredEndpointIds.remove(ed.getId()))
+ contentProvider.getRootNode().removeChild(new EndpointNode(ed));
}
ImportRegistration findImportRegistration(EndpointDescription ed) {

Back to the top