in ti/phase2/jars/core/src/java/org/apache/ti/core/urls/MutableURI.java [562:609]
public void addParameters(Map newParams, boolean encoded) {
if (newParams == null) {
throw new IllegalArgumentException("Cannot add null map of parameters.");
}
if (newParams.size() == 0) {
return;
}
if (_params == null) {
_params = new LinkedHashMap/*< String, List< String > >*/();
}
Iterator keys = newParams.keySet().iterator();
while (keys.hasNext()) {
String name = (String) keys.next();
String encodedName = name;
if (!encoded) {
encodedName = encode(name);
}
List/*< String >*/ values = (List) _params.get(encodedName);
if (values == null) {
values = new ArrayList/*< String >*/();
_params.put(encodedName, values);
}
Object newValue = newParams.get(name);
if (newValue == null) {
values.add(null);
} else if (newValue instanceof String) {
addValue(values, (String) newValue, encoded);
} else if (newValue instanceof String[]) {
String newValues[] = (String[]) newValue;
for (int i = 0; i < newValues.length; i++) {
addValue(values, newValues[i], encoded);
}
} else if (newValue instanceof List) {
Iterator newValues = ((List) newValue).iterator();
while (newValues.hasNext()) {
addValue(values, newValues.next().toString(), encoded);
}
} else /* Convert other objects to a string */ {
addValue(values, newValue.toString(), encoded);
}
}
}