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