LOG4J2-1663 undo URL encoding in classpath with spaces, with URLDecoder
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/bfab2459 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/bfab2459 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/bfab2459 Branch: refs/heads/LOG4J2-1661 Commit: bfab24593a9b552aec41385e7dfd2338244e0466 Parents: e2ffaa1 Author: rpopma <[email protected]> Authored: Sun Nov 6 08:41:44 2016 +0900 Committer: rpopma <[email protected]> Committed: Sun Nov 6 08:41:44 2016 +0900 ---------------------------------------------------------------------- .../apache/logging/log4j/util/SortedArrayStringMapTest.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/bfab2459/log4j-api/src/test/java/org/apache/logging/log4j/util/SortedArrayStringMapTest.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/SortedArrayStringMapTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/SortedArrayStringMapTest.java index 8ef2127..0dc4478 100644 --- a/log4j-api/src/test/java/org/apache/logging/log4j/util/SortedArrayStringMapTest.java +++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/SortedArrayStringMapTest.java @@ -27,6 +27,8 @@ import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.lang.reflect.Field; import java.net.URL; +import java.net.URLDecoder; +import java.nio.charset.Charset; import java.util.ConcurrentModificationException; import java.util.HashMap; import java.util.Map; @@ -125,7 +127,7 @@ public class SortedArrayStringMapTest { } } - private String createClassPath(Class<?>... classes) { + private String createClassPath(Class<?>... classes) throws Exception { final StringBuilder result = new StringBuilder(); for (final Class<?> cls : classes) { if (result.length() > 0) { @@ -136,7 +138,7 @@ public class SortedArrayStringMapTest { return result.toString(); } - private String createClassPath(Class<?> cls) { + private String createClassPath(Class<?> cls) throws Exception { final String resource = "/" + cls.getName().replace('.', '/') + ".class"; final URL url = cls.getResource(resource); String location = url.toString(); @@ -152,7 +154,7 @@ public class SortedArrayStringMapTest { if (!new File(location).exists()) { location = File.separator + location; } - location = location.replace("%20", " "); // undo URL encoding + location = URLDecoder.decode(location, Charset.defaultCharset().name()); // replace %20 with ' ' etc return location.isEmpty() ? "." : location; }
