in src/main/java/org/apache/sling/serviceusermapping/impl/MappingInventoryPrinter.java [128:165]
private void renderJson(PrintWriter out) throws IOException {
final List<Mapping> data = mapper.getActiveMappings();
final Map<String, List<Mapping>> byUser = getMappingsByUser(data);
final Map<String, List<Mapping>> byPrincipalName = getMappingsByPrincipalName(data);
final JSONWriter w = new JSONWriter(out);
w.object();
w.key("title").value("Service User Mappings");
w.key("mappingsCount").value(data.size());
w.key("uniquePrincipalsCount").value(byPrincipalName.keySet().size());
w.key("uniqueUsersCount").value(byUser.keySet().size());
w.key("mappingsByPrincipal");
w.object();
for(Map.Entry<String, List<Mapping>> e : byPrincipalName.entrySet()) {
w.key(e.getKey());
w.array();
for(Mapping m : e.getValue()) {
asJSON(w,m);
}
w.endArray();
}
w.endObject();
w.key("mappingsByUser (deprecated)");
w.object();
for(Map.Entry<String, List<Mapping>> e : byUser.entrySet()) {
w.key(e.getKey());
w.array();
for(Mapping m : e.getValue()) {
asJSON(w,m);
}
w.endArray();
}
w.endObject();
w.endObject();
}