Merge branch 'release/5.32.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / sessions / InspectSessionsDialog.java
index 3a227aef961e1d4813f69ee0d364048f0f78a2d3..1e7b3eaca720dee2d798368bf454691d6aa0a314 100644 (file)
@@ -8,6 +8,7 @@
  */
 package eu.etaxonomy.taxeditor.view.sessions;
 
+import java.util.Collections;
 import java.util.List;
 
 import org.eclipse.jface.viewers.ILabelProvider;
@@ -90,6 +91,7 @@ public class InspectSessionsDialog extends Dialog {
         setDebugInfoText();
         treeViewer.setContentProvider(new SessionsTreeContentProvider());
         treeViewer.setLabelProvider(new SessionsTreeLabelProvider());
+
         treeViewer.setInput(getRootElements());
         shlInspectSessions.open();
         shlInspectSessions.layout();
@@ -152,8 +154,8 @@ public class InspectSessionsDialog extends Dialog {
     }
     private CdmEntityInfo[] getRootElements() {
 
-        List<CdmEntityInfo> rootElemnts = entityCacherDebugResult.getRootElements();
-        return rootElemnts.toArray(new CdmEntityInfo[rootElemnts.size()]);
+        List<CdmEntityInfo> rootElements = entityCacherDebugResult == null? null : entityCacherDebugResult.getRootElements();
+        return rootElements == null ? new CdmEntityInfo[0]: rootElements.toArray(new CdmEntityInfo[rootElements.size()]);
     }
 
     class SessionsTreeContentProvider implements ITreeContentProvider {
@@ -174,6 +176,11 @@ public class InspectSessionsDialog extends Dialog {
         @Override
         public Object[] getChildren(Object parentElement) {
             List<CdmEntityInfo> children = ((CdmEntityInfo)parentElement).getChildren();
+            Collections.sort(children, (c1, c2)->{
+                String str1 = (c1 == null) ? "": c1.getLabel();
+                String str2 = (c2 == null) ? "": c2.getLabel();
+                return str1.compareTo(str2);
+            });
             return children.toArray();
         }
 
@@ -219,7 +226,6 @@ public class InspectSessionsDialog extends Dialog {
 
         @Override
         public Image getImage(Object element) {
-            // TODO Auto-generated method stub
             return null;
         }