From 5123d579942f2b8f10b4df84b70fa25cc0ccb6cc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Georg=20Gra=C3=9Fnick?=
 <georg.grassnick@mailbox.tu-dresden.de>
Date: Fri, 27 Sep 2019 20:50:03 +0200
Subject: [PATCH] Fix spaces in search path of ConfigurationParser

---
 .../configparser/ConfigurationParser.java            | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/configparser/ConfigurationParser.java b/src/main/java/de/tudresden/inf/mci/brailleplot/configparser/ConfigurationParser.java
index b951ece2..c4418e22 100644
--- a/src/main/java/de/tudresden/inf/mci/brailleplot/configparser/ConfigurationParser.java
+++ b/src/main/java/de/tudresden/inf/mci/brailleplot/configparser/ConfigurationParser.java
@@ -7,8 +7,10 @@ import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URLDecoder;
 import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -262,8 +264,12 @@ public abstract class ConfigurationParser {
      * @param url The URL that needs to be stripped
      * @return The String representation of the path of a URL where the leading {@literal "}file:{@literal "} prefix is stripped.
      */
-    private static String getPath(final URL url) {
-        String urlString = url.getPath();
-        return urlString.replaceAll("^file:", "");
+    private static String getPath(final URL url) throws ConfigurationParsingException {
+        try {
+            String urlString = URLDecoder.decode(url.getPath(), "UTF-8");
+            return urlString.replaceAll("^file:", "");
+        } catch (UnsupportedEncodingException e) {
+            throw new ConfigurationParsingException("Could not decode URL", e);
+        }
     }
 }
-- 
GitLab