+ if (!(expandedValue instanceof String))
+ throw new ParameterExpanderExc( "Value of key is not a string but a {1}", new Object[]{expandedValue.getClass().getName()} );
+
+ return (String) expandedValue;
+ }
+
+ public static void setValueForKey(Map aMap, String aKey, Object aValue) throws Exception {
+ List parts = splitString(aKey, NODE_SEPARATOR);
+
+ String key = (String) parts.get(parts.size()-1);
+ parts.remove(parts.size()-1);
+
+ Object node=findNode(aKey, aMap, parts);
+
+ if (node instanceof Map) {
+ ((Map) node).put(key, aValue);
+ }
+ else
+ throw new ParameterExpanderExc( "Can't set key {1}: not inside a Map", new Object[]{aKey} );