]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/internal/JcrContentProvider.java
Introduce CMS User Admin (not yet wired)
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / JcrContentProvider.java
1 package org.argeo.cms.internal;
2
3 import java.util.ArrayList;
4
5 import javax.jcr.Node;
6 import javax.jcr.NodeIterator;
7 import javax.jcr.RepositoryException;
8
9 import org.argeo.cms.CmsException;
10 import org.eclipse.jface.viewers.ITreeContentProvider;
11 import org.eclipse.jface.viewers.Viewer;
12
13 @Deprecated
14 class JcrContentProvider implements ITreeContentProvider {
15 private static final long serialVersionUID = -1333678161322488674L;
16
17 @Override
18 public void dispose() {
19 }
20
21 @Override
22 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
23 if (newInput == null)
24 return;
25 if (!(newInput instanceof Node))
26 throw new CmsException("Input " + newInput + " must be a node");
27 }
28
29 @Override
30 public Object[] getElements(Object inputElement) {
31 try {
32 Node node = (Node) inputElement;
33 ArrayList<Node> arr = new ArrayList<Node>();
34 NodeIterator nit = node.getNodes();
35 while (nit.hasNext()) {
36 arr.add(nit.nextNode());
37 }
38 return arr.toArray();
39 } catch (RepositoryException e) {
40 throw new CmsException("Cannot get elements", e);
41 }
42 }
43
44 @Override
45 public Object[] getChildren(Object parentElement) {
46 try {
47 Node node = (Node) parentElement;
48 ArrayList<Node> arr = new ArrayList<Node>();
49 NodeIterator nit = node.getNodes();
50 while (nit.hasNext()) {
51 arr.add(nit.nextNode());
52 }
53 return arr.toArray();
54 } catch (RepositoryException e) {
55 throw new CmsException("Cannot get elements", e);
56 }
57 }
58
59 @Override
60 public Object getParent(Object element) {
61 try {
62 Node node = (Node) element;
63 if (node.getName().equals(""))
64 return null;
65 else
66 return node.getParent();
67 } catch (RepositoryException e) {
68 throw new CmsException("Cannot get elements", e);
69 }
70 }
71
72 @Override
73 public boolean hasChildren(Object element) {
74 try {
75 Node node = (Node) element;
76 return node.hasNodes();
77 } catch (RepositoryException e) {
78 throw new CmsException("Cannot get elements", e);
79 }
80 }
81
82 }