in src/main/java/org/apache/sling/feature/analyser/extensions/AnalyserMetaDataExtension.java [96:123]
public Extension toExtension(Extension extension) {
if (isAnalyserMetaDataExtension(extension)) {
JsonObjectBuilder builder = Json.createObjectBuilder(extension.getJSONStructure().asJsonObject());
Stream.concat(Stream.concat(manifests.keySet().stream(), reportErrors.keySet().stream()), reportWarnings.keySet().stream()).distinct().forEachOrdered(
id -> {
JsonObjectBuilder metadata = Json.createObjectBuilder();
if (manifests.containsKey(id)) {
JsonObjectBuilder manifest = Json.createObjectBuilder();
manifests.get(id).forEach(manifest::add);
metadata.add("manifest", manifest);
}
if (reportErrors.containsKey(id) || reportWarnings.containsKey(id)) {
JsonObjectBuilder report = Json.createObjectBuilder();
if (reportErrors.containsKey(id)) {
report.add("error", reportErrors.get(id));
}
if (reportWarnings.containsKey(id)) {
report.add("warning", reportWarnings.get(id));
}
metadata.add("report", report);
}
builder.add(id.toMvnId(), metadata);
}
);
extension.setJSONStructure(builder.build());
}
return extension;
}