diff --git a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnection.java b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnection.java index 7b447540540..3812e1895a5 100644 --- a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnection.java +++ b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnection.java @@ -114,14 +114,14 @@ public class RemoteConnection implements IRemoteConnection { throw new ConnectionExistsException(newName); } - Preferences newPrefs = connectionType.getPreferenceNode().node(newName); + Preferences newPrefs = connectionType.getPreferenceNode().node(URLEncoder.encode(newName, "UTF-8")); Preferences oldPrefs = getPreferences(); for (String key : oldPrefs.keys()) { newPrefs.put(key, oldPrefs.get(key, null)); } oldPrefs.removeNode(); - } catch (BackingStoreException e) { + } catch (BackingStoreException | UnsupportedEncodingException e) { RemoteCorePlugin.log(e); } diff --git a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionType.java b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionType.java index c7cde9b83e2..94f44aa3b03 100644 --- a/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionType.java +++ b/bundles/org.eclipse.remote.core/src/org/eclipse/remote/internal/core/RemoteConnectionType.java @@ -10,7 +10,10 @@ *******************************************************************************/ package org.eclipse.remote.internal.core; +import java.io.UnsupportedEncodingException; import java.net.URI; +import java.net.URLDecoder; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -68,10 +71,11 @@ public class RemoteConnectionType implements IRemoteConnectionType { // load up existing connections try { - for (String connectionName : getPreferenceNode().childrenNames()) { + for (String nodeName : getPreferenceNode().childrenNames()) { + String connectionName = URLDecoder.decode(nodeName, "UTF-8"); connections.put(connectionName, new RemoteConnection(this, connectionName)); } - } catch (BackingStoreException e) { + } catch (BackingStoreException | UnsupportedEncodingException e) { RemoteCorePlugin.log(e); } }