- // 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)
- return ((TreeParent) parentElement).getChildren();
- else {
+ 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();
+
+ } else {