private Map convertArraysToStrings()

in src/main/java/org/apache/sling/hamcrest/matchers/ResourcePropertiesMatcher.java [113:138]


    private Map<String,Object> convertArraysToStrings(Map<String,Object> props) {
        SortedMap<String,Object> transformedProps = new TreeMap<String,Object>();
        for (Map.Entry<String, Object> entry : props.entrySet()) {
            Object value = entry.getValue();
            if (value != null && value.getClass().isArray()) {
                StringBuilder sb = new StringBuilder();
                sb.append("[");
                for (int i=0; i<Array.getLength(value); i++) {
                    if (i > 0) {
                        sb.append(",");
                    }
                    Object item = Array.get(value, i);
                    if (item == null) {
                        sb.append("null");
                    }
                    else {
                        sb.append(item.toString());
                    }
                }
                sb.append("]");
                value = sb.toString();
            }
            transformedProps.put(entry.getKey(), value);
        }
        return transformedProps;
    }