in core/src/main/java/org/apache/sling/testing/mock/sling/NodeTypeDefinitionScanner.java [178:197]
private Map<String, NodeTypeTemplate> parseNodeTypesFromResource(
String resource,
ClassLoader classLoader,
DefinitionBuilderFactory<NodeTypeTemplate, NamespaceRegistry> factory) {
try (InputStream is = classLoader.getResourceAsStream(resource)) {
if (is == null) {
return Map.of();
}
CompactNodeTypeDefReader<NodeTypeTemplate, NamespaceRegistry> cndReader =
new CompactNodeTypeDefReader<>(new InputStreamReader(is), resource, factory);
Map<String, NodeTypeTemplate> result = new HashMap<>();
for (NodeTypeTemplate template : cndReader.getNodeTypeDefinitions()) {
result.put(template.getName(), template);
}
return result;
} catch (Throwable ex) {
log.warn("Failed to parse CND resource: " + resource, ex);
return Map.of();
}
}