Author: michiel
Date: 2009-11-18 18:43:08 +0100 (Wed, 18 Nov 2009)
New Revision: 39781

Modified:
   mmbase/trunk/core/src/main/java/org/mmbase/util/ResourceLoader.java
Log:
  MMB-1894

Modified: mmbase/trunk/core/src/main/java/org/mmbase/util/ResourceLoader.java
===================================================================
--- mmbase/trunk/core/src/main/java/org/mmbase/util/ResourceLoader.java 
2009-11-18 17:09:11 UTC (rev 39780)
+++ mmbase/trunk/core/src/main/java/org/mmbase/util/ResourceLoader.java 
2009-11-18 17:43:08 UTC (rev 39781)
@@ -514,7 +514,7 @@
     private final ResourceLoader parent;
 
 
-    private final List<PathURLStreamHandler> roots;
+    final List<PathURLStreamHandler> roots;
 
 
     /**
@@ -1162,7 +1162,9 @@
         Enumeration<URL> getResources(final String name) throws IOException {
             return new Enumeration<URL>() {
                     private boolean hasMore = true;
-                    public boolean hasMoreElements() { return hasMore; };
+                    public boolean hasMoreElements() {
+                        return hasMore;
+                    };
                     public URL nextElement() {
                         hasMore = false;
                         return openConnection(name).getURL();
@@ -1196,7 +1198,7 @@
         }
 
         @Override
-        public URLConnection openConnection(String name)  {
+        public URLConnection openConnection(final String name)  {
             URL u;
             try {
                 if (name.startsWith("file:")) {
@@ -1275,10 +1277,18 @@
             return new File(fileName);
         }
         @Override
-        public String getName(URL u) {
+        public String getName(final URL u) {
             int l = (fileRoot + 
ResourceLoader.this.context.getPath()).length();
-            String path = u.getPath();
-            return l < path.length() ? path.substring(l) : path;
+            String path;
+            try {
+                path = new File(u.toURI()).getPath(); // toURI decently 
unescapes %20 and so on (solves MMB-1894)
+            } catch (URISyntaxException use) {
+                log.error(use);
+                path = u.getPath();
+            }
+            String r = l < path.length() ? path.substring(l) : path;
+            return r;
+
         }
 
         @Override

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to