in src/main/java/org/apache/sling/jcr/webconsole/internal/CndPrinter.java [47:72]
public void print(PrintWriter printWriter, Format format, boolean isZip) {
Session session = null;
try {
session = slingRepository.loginAdministrative(null);
final CompactNodeTypeDefWriter cnd = new CompactNodeTypeDefWriter(printWriter, session, true);
List<String> prefixes = Arrays.asList(session.getWorkspace().getNamespaceRegistry().getPrefixes());
Collections.sort(prefixes);
for (String prefix : prefixes) {
if (!prefix.equals(NamespaceRegistry.PREFIX_EMPTY)) {
cnd.writeNamespaceDeclaration(prefix);
}
}
NodeTypeIterator ntIterator = session.getWorkspace().getNodeTypeManager().getAllNodeTypes();
while (ntIterator.hasNext()) {
cnd.write(ntIterator.nextNodeType());
}
cnd.close();
} catch (RepositoryException | IOException e) {
printWriter.println("Unable to output CND.");
e.printStackTrace(printWriter);
} finally {
if (session != null) {
session.logout();
}
}
}