SLING-2479 - print types in alpha order
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1338488 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/jcr/webconsole/internal/NodeTypeConfigurationPrinter.java b/src/main/java/org/apache/sling/jcr/webconsole/internal/NodeTypeConfigurationPrinter.java
index cb7710e..132ebe2 100644
--- a/src/main/java/org/apache/sling/jcr/webconsole/internal/NodeTypeConfigurationPrinter.java
+++ b/src/main/java/org/apache/sling/jcr/webconsole/internal/NodeTypeConfigurationPrinter.java
@@ -17,6 +17,10 @@
package org.apache.sling.jcr.webconsole.internal;
import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Comparator;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
@@ -73,9 +77,9 @@
session = slingRepository.loginAdministrative(null);
NodeTypeManager ntm = session.getWorkspace().getNodeTypeManager();
NodeTypeIterator it = ntm.getAllNodeTypes();
- while (it.hasNext()) {
- NodeType nt = it.nextNodeType();
+ List<NodeType> sortedTypes = sortTypes(it);
+ for (NodeType nt : sortedTypes) {
pw.printf("[%s]", nt.getName());
printSuperTypes(pw, nt);
@@ -179,6 +183,20 @@
}
+ private List<NodeType> sortTypes(NodeTypeIterator it) {
+ List<NodeType> types = new ArrayList<NodeType>();
+ while (it.hasNext()) {
+ NodeType nt = it.nextNodeType();
+ types.add(nt);
+ }
+ Collections.sort(types, new Comparator<NodeType>(){
+ public int compare(NodeType o1, NodeType o2) {
+ return o1.getName().compareTo(o2.getName());
+ }
+ });
+ return types;
+ }
+
private void linebreak(PrintWriter pw, String mode) {
if (ConfigurationPrinter.MODE_WEB.equals(mode)) {
pw.println("<br/>");