From 79e687aa5d3f3619dd91f9eb38159c363355e45f Mon Sep 17 00:00:00 2001 From: Jonathan Williams Date: Fri, 8 Apr 2016 16:24:41 -0400 Subject: [PATCH] Bug 491356 - Modify behavior of CONNECTION_RENAMED events Change-Id: Ia42fc1b1f9784a33442f4275e99bb373c40c2e06 Signed-off-by: Jonathan Williams --- .../org/eclipse/remote/core/RemoteConnectionChangeEvent.java | 3 ++- .../remote/internal/core/RemoteConnectionWorkingCopy.java | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/core/RemoteConnectionChangeEvent.java b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/core/RemoteConnectionChangeEvent.java index 333e152c083..f73ca7343d4 100644 --- a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/core/RemoteConnectionChangeEvent.java +++ b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/core/RemoteConnectionChangeEvent.java @@ -34,7 +34,8 @@ public class RemoteConnectionChangeEvent { public static final int CONNECTION_ABORTED = 1 << 2; /** - * Event indicating that the connection name was changed. + * Event indicating that the connection name will be changed. It is sent prior to the name change taking place. + * The event passes an IRemoteConnectionWorkingCopy so that the original and new name can be used by the listener. */ public static final int CONNECTION_RENAMED = 1 << 3; diff --git a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionWorkingCopy.java b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionWorkingCopy.java index 98f1588da36..59fb0c46595 100644 --- a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionWorkingCopy.java +++ b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionWorkingCopy.java @@ -189,7 +189,7 @@ public class RemoteConnectionWorkingCopy implements IRemoteConnectionWorkingCopy */ @Override public void fireConnectionChangeEvent(int type) { - if (original != null) { + if (original != null && type != RemoteConnectionChangeEvent.CONNECTION_RENAMED) { original.fireConnectionChangeEvent(type); } else { RemoteConnectionChangeEvent event = new RemoteConnectionChangeEvent(this, type); @@ -273,7 +273,7 @@ public class RemoteConnectionWorkingCopy implements IRemoteConnectionWorkingCopy public IRemoteConnection save() throws RemoteConnectionException { if (newName != null && original != null) { // rename, delete the old one - original.fireConnectionChangeEvent(RemoteConnectionChangeEvent.CONNECTION_RENAMED); + fireConnectionChangeEvent(RemoteConnectionChangeEvent.CONNECTION_RENAMED); connectionType.removeConnection(original.getName()); original.rename(newName); }