in gshell-support/gshell-spring/src/main/java/org/apache/geronimo/gshell/spring/LoggingProcessor.java [565:600]
private void processMap(final Map map, final ElementBuilder builder) {
assert map != null;
assert builder != null;
builder.addChild(MAP_ELEMENT);
for (Object key : map.keySet()) {
Object value = map.get(key);
builder.addChild(ENTRY_ELEMENT);
String keyValue;
if (key instanceof String) {
keyValue = (String) key;
builder.addAttribute(KEY_ATTRIBUTE, keyValue);
}
else if (key instanceof TypedStringValue) {
TypedStringValue typedStringValue = (TypedStringValue) key;
keyValue = typedStringValue.getValue();
builder.addAttribute(KEY_ATTRIBUTE, keyValue);
}
else if (key instanceof RuntimeBeanReference) {
RuntimeBeanReference reference = (RuntimeBeanReference) key;
String beanName = reference.getBeanName();
builder.addAttribute(KEY_REF_ATTRIBUTE, beanName);
}
else {
keyValue = key.toString();
builder.addAttribute(KEY_ATTRIBUTE, keyValue);
}
processValue(value, builder, false, true);
builder.up();
}
builder.up();
}