From 9a9aae87ba1d6c328b8541bf033a6e0e189f1cb0 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Wed, 9 Mar 2016 15:09:25 -0500 Subject: [PATCH] Bug 486593 - fix encoding of connection names Change-Id: If7ead4315e3ad3e755ebb06f31520bde28e44c56 Signed-off-by: Greg Watson --- .../eclipse/remote/internal/core/RemoteConnection.java | 4 ++-- .../remote/internal/core/RemoteConnectionType.java | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) 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); } }