Changeset 4978


Ignore:
Timestamp:
2003-07-18T15:55:55+12:00 (21 years ago)
Author:
kjdon
Message:

added a new method to create a param list of name-value pairs in xml, from a hashmap of name-values. also changed the extractparams method - base params, those with no namespace are put in as name->value. thos with a namespace are put into an inner hash map, namespace->map of name->value.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/util/GSXML.java

    r4941 r4978  
    88import org.w3c.dom.Text;
    99
     10import java.util.Map;
     11import java.util.Set;
    1012import java.util.HashMap;
    1113import java.util.Vector;
     
    199201        Element param = (Element)params.item(i);
    200202        String name=param.getAttribute(NAME_ATT);
     203        System.out.println("Extracting param "+name);
    201204        String value=getValue(param); //att or content
    202         param_map.put(name, value);
    203        
     205        int pos = name.indexOf('.');
     206        if (pos == -1) { // a base param
     207        param_map.put(name, value);
     208        } else { // a namespaced param
     209       
     210        String namespace = name.substring(0, pos);
     211        name = name.substring(pos+1);
     212        System.out.println("namespace = "+namespace+" name= "+name);
     213        HashMap map = (HashMap)param_map.get(namespace);
     214        if (map == null) {
     215            map = new HashMap();
     216            param_map.put(namespace, map);
     217        }
     218        map.put(name, value);
     219        }
    204220    }
    205221    return param_map;
     
    445461    }
    446462
     463    public static Element createParameterList(Document owner,
     464                          HashMap params) {
     465
     466    Element list = owner.createElement(PARAM_ELEM+LIST_MODIFIER);
     467    Set items = params.entrySet();
     468    Iterator i = items.iterator();
     469    while(i.hasNext()) {
     470        Map.Entry m = (Map.Entry)i.next();
     471        list.appendChild(createParameter(owner, (String)m.getKey(), (String)m.getValue()));
     472    }
     473    return list;
     474    }
     475   
    447476    public static Element createParameterDescription(Document owner,
    448477                             String id,
Note: See TracChangeset for help on using the changeset viewer.