KARAF-2109 When Karaf installation directory contains a space, EIK does not work : Fix
git-svn-id: https://svn.apache.org/repos/asf/karaf/eik/trunk@1446879 13f79535-47bb-0310-9956-ffa450edef68 Project: http://git-wip-us.apache.org/repos/asf/karaf-eik/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf-eik/commit/3a0818cf Tree: http://git-wip-us.apache.org/repos/asf/karaf-eik/tree/3a0818cf Diff: http://git-wip-us.apache.org/repos/asf/karaf-eik/diff/3a0818cf Branch: refs/heads/master Commit: 3a0818cf9c1fd45b6ff532c888cd8ee4968b6b2a Parents: fdd41b0 Author: fbalicchia <fbalicchia@13f79535-47bb-0310-9956-ffa450edef68> Authored: Sat Feb 16 12:16:35 2013 +0000 Committer: fbalicchia <fbalicchia@13f79535-47bb-0310-9956-ffa450edef68> Committed: Sat Feb 16 12:16:35 2013 +0000 ---------------------------------------------------------------------- .../eik/core/model/GenericKarafPlatformModel.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf-eik/blob/3a0818cf/plugins/org.apache.karaf.eik.core/src/main/java/org/apache/karaf/eik/core/model/GenericKarafPlatformModel.java ---------------------------------------------------------------------- diff --git a/plugins/org.apache.karaf.eik.core/src/main/java/org/apache/karaf/eik/core/model/GenericKarafPlatformModel.java b/plugins/org.apache.karaf.eik.core/src/main/java/org/apache/karaf/eik/core/model/GenericKarafPlatformModel.java index 9c556ea..7ee0db7 100644 --- a/plugins/org.apache.karaf.eik.core/src/main/java/org/apache/karaf/eik/core/model/GenericKarafPlatformModel.java +++ b/plugins/org.apache.karaf.eik.core/src/main/java/org/apache/karaf/eik/core/model/GenericKarafPlatformModel.java @@ -38,8 +38,10 @@ import org.apache.karaf.eik.core.shell.KarafSshConnectionUrl; import java.io.File; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; +import java.net.URLDecoder; import java.util.ArrayList; import java.util.List; @@ -151,10 +153,19 @@ public class GenericKarafPlatformModel extends AbstractKarafPlatformModel implem for (final File f : files) { try { final URL u = f.toURI().toURL(); - urls.add(u); + // Mandatory to Decode URL. please see + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=258368 + String urlDecoded = URLDecoder.decode(u.toString(), + System.getProperty("file.encoding")); + urls.add(new URL(urlDecoded)); } catch (final MalformedURLException e) { KarafCorePluginActivator.getLogger().error( "Unable to convert file to URL: " + f.getAbsolutePath(), e); + }catch (UnsupportedEncodingException e) { + KarafCorePluginActivator.getLogger().error( + "UnsupportedEncodingException to convert file path : " + + f.getAbsolutePath() + "with encoding " + + System.getProperty("file.encoding") , e); } }
