Update of /var/cvs/src/org/mmbase/util/xml
In directory james.mmbase.org:/tmp/cvs-serv25464

Modified Files:
        UtilReader.java 
Log Message:
for MMB-1739 made it possible to 'merge maps'


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util/xml
See also: http://www.mmbase.org/jira/browse/MMB-1739


Index: UtilReader.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/util/xml/UtilReader.java,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- UtilReader.java     14 Nov 2008 10:06:11 -0000      1.39
+++ UtilReader.java     24 Nov 2008 11:07:12 -0000      1.40
@@ -37,7 +37,7 @@
  * @since MMBase-1.6.4
  * @author Rob Vermeulen
  * @author Michiel Meeuwissen
- * @version $Id: UtilReader.java,v 1.39 2008/11/14 10:06:11 michiel Exp $
+ * @version $Id: UtilReader.java,v 1.40 2008/11/24 11:07:12 michiel Exp $
  */
 public class UtilReader {
 
@@ -220,8 +220,16 @@
                     for (Element p : reader.getChildElements(e, "property")) {
                         String name = reader.getElementAttributeValue(p, 
"name");
                         String type = reader.getElementAttributeValue(p, 
"type");
-                        if (type.equals("map")) {
-                            Collection<Map.Entry<String,String>> entryList = 
new ArrayList<Map.Entry<String,String>>();
+                        if (type.equals("mergingmap") ||
+                            type.equals("map")) {
+                            Collection<Map.Entry<String,String>> entryList = 
null;
+                            if (type.equals("mergingmap")) {
+                                entryList = maps.get(name);
+                            }
+
+                            if (entryList == null) {
+                                entryList = new 
ArrayList<Map.Entry<String,String>>();
+                            }
 
                             for (Element entry : reader.getChildElements(p, 
"entry")) {
                                 String key = null;
@@ -238,7 +246,7 @@
                                     entryList.add(getEntry(reader, key, 
value));
                                 }
                             }
-                            if (maps.containsKey(name)) {
+                            if (maps.containsKey(name) && ! 
type.equals("mergingmap")) {
                                 log.debug("Property '" + name + "' (" + 
entryList + ") of " + url + " is shadowed");
                             } else {
                                 maps.put(name, entryList);
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to