- if (parentElement instanceof Node) {
- return childrenNodes((Node) parentElement);
- } else if (parentElement instanceof RepositoryNode) {
- return ((RepositoryNode) parentElement).getChildren();
- } else if (parentElement instanceof WorkspaceNode) {
- Session session = ((WorkspaceNode) parentElement).getSession();
- if (session == null)
- return new Object[0];
-
- try {
- return childrenNodes(session.getRootNode());
- } catch (RepositoryException e) {
- throw new ArgeoException("Cannot retrieve root node of "
- + session, e);
- }
- } else if (parentElement instanceof RepositoryRegister) {
- RepositoryRegister repositoryRegister = (RepositoryRegister) parentElement;
- List<RepositoryNode> nodes = new ArrayList<RepositoryNode>();
- Map<String, Repository> repositories = repositoryRegister
- .getRepositories();
- for (String name : repositories.keySet()) {
- nodes.add(new RepositoryNode(name, repositories.get(name)));
- }
- return nodes.toArray();
+ if (parentElement instanceof TreeParent) {
+ if (sortChildren) {
+ // TreeParent[] arr = (TreeParent[]) ((TreeParent)
+ // parentElement)
+ // .getChildren();
+ Object[] tmpArr = ((TreeParent) parentElement).getChildren();
+ TreeParent[] arr = new TreeParent[tmpArr.length];
+ for (int i = 0; i < tmpArr.length; i++)
+ arr[i] = (TreeParent) tmpArr[i];
+
+ Arrays.sort(arr, itemComparator);
+ return arr;
+ } else
+ return ((TreeParent) parentElement).getChildren();
+