in src/main/java/org/apache/sling/feature/analyser/extensions/AnalyserMetaDataExtension.java [136:166]
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_KEY, manifest);
}
if (reportErrors.containsKey(id) || reportWarnings.containsKey(id)) {
JsonObjectBuilder report = Json.createObjectBuilder();
if (reportErrors.containsKey(id)) {
report.add(ERROR_KEY, reportErrors.get(id));
}
if (reportWarnings.containsKey(id)) {
report.add(WARNING_KEY, reportWarnings.get(id));
}
metadata.add(REPORT_KEY, report);
}
builder.add(id.toMvnId(), metadata);
});
extension.setJSONStructure(builder.build());
}
return extension;
}