Update of /var/cvs/src/org/mmbase/util
In directory james.mmbase.org:/tmp/cvs-serv12475
Modified Files:
ResourceLoader.java
Log Message:
if key starts with !, repalce that with the url of the jar this key is read from
See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util
Index: ResourceLoader.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/ResourceLoader.java,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -b -r1.81 -r1.82
--- ResourceLoader.java 12 Nov 2008 17:33:39 -0000 1.81
+++ ResourceLoader.java 14 Nov 2008 10:07:11 -0000 1.82
@@ -98,7 +98,7 @@
* <p>For property-files, the java-unicode-escaping is undone on loading, and
applied on saving, so there is no need to think of that.</p>
* @author Michiel Meeuwissen
* @since MMBase-1.8
- * @version $Id: ResourceLoader.java,v 1.81 2008/11/12 17:33:39 michiel Exp $
+ * @version $Id: ResourceLoader.java,v 1.82 2008/11/14 10:07:11 michiel Exp $
*/
public class ResourceLoader extends ClassLoader {
@@ -1726,14 +1726,28 @@
ResourceLoader.readClassWeights();
}
}
- ).getMaps();
+ ) {
+ @Override protected Map.Entry<String, String>
getEntry(org.mmbase.util.xml.DocumentReader reader, String key, String value) {
+ String u = reader.getDocument().getDocumentURI();
+ String[] parts = u.split("!", 2);
+ log.info(u + "-> " + Arrays.asList(parts));
+ if (parts.length == 2) {
+ if (key.startsWith("!")) {
+ key = "\\A" +
ReplacingLocalizedString.makeLiteral(parts[0]) + key + "\\z"; // should escape
'.' and so one.
+ }
+ }
+ return new Entry<String, String>(key, value);
+ }
+ }.getMaps();
private static final Map<Pattern, Integer> classWeights = new
ConcurrentHashMap<Pattern, Integer>();
private static void readClassWeights() {
+ classWeights.clear();
Collection<Map.Entry<String, String>> col =
classWeightProperties.get("classloaderpatterns");
if (col != null) {
for (Map.Entry<String, String> entry : col) {
+ String k = entry.getKey();
classWeights.put(Pattern.compile(entry.getKey()),
Integer.parseInt(entry.getValue()));
}
}
@@ -1785,7 +1799,7 @@
if (foundw1 && foundw2) break;
}
}
- int r = w2 - 1;
+ int r = w2 - w1;
return r == 0 ? u1.toString().compareTo(u2.toString()) : r;
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs