1 package org
.argeo
.slc
.client
.ui
.dist
.providers
;
3 import java
.util
.ArrayList
;
7 import javax
.jcr
.NodeIterator
;
8 import javax
.jcr
.RepositoryException
;
10 import org
.argeo
.ArgeoException
;
11 import org
.eclipse
.jface
.viewers
.ITreeContentProvider
;
12 import org
.eclipse
.jface
.viewers
.Viewer
;
14 public class ArtifactsTreeContentProvider
implements ITreeContentProvider
{
15 public Object
[] getElements(Object parent
) {
16 return getChildren(parent
);
19 public Object
getParent(Object child
) {
23 public Object
[] getChildren(Object parent
) {
24 Object
[] elements
= null;
26 if (parent
instanceof Node
) {
27 Node node
= (Node
) parent
;
28 NodeIterator ni
= node
.getNodes();
29 List
<Node
> nodesList
= new ArrayList
<Node
>();
30 while (ni
.hasNext()) {
31 nodesList
.add(ni
.nextNode());
33 elements
= nodesList
.toArray();
35 } catch (RepositoryException e
) {
36 throw new ArgeoException(
37 "Unexpected exception while listing node properties", e
);
42 public boolean hasChildren(Object parent
) {
44 if (parent
instanceof Node
&& ((Node
) parent
).hasNodes()) {
47 } catch (RepositoryException e
) {
48 throw new ArgeoException(
49 "Unexpected exception while checking if property is multiple",
55 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
58 public void dispose() {