1 package org.argeo.slc.client.ui.dist.controllers;
2
3 import javax.jcr.RepositoryFactory;
4
5 import org.argeo.eclipse.ui.TreeParent;
6 import org.argeo.slc.client.ui.dist.model.RepoElem;
7 import org.eclipse.jface.viewers.ITreeContentProvider;
8 import org.eclipse.jface.viewers.Viewer;
9
10
11
12
13
14
15 public class AnonymousDistTreeContentProvider implements ITreeContentProvider {
16 private static final long serialVersionUID = -4149180221319229128L;
17
18
19 private RepoElem publicRepo;
20
21 private RepositoryFactory repositoryFactory;
22
23
24
25
26
27 public Object[] getElements(Object input) {
28 String uri = (String) input;
29 publicRepo = new RepoElem(repositoryFactory, uri,
30 "Argeo Public Repository");
31
32 publicRepo.login();
33 return publicRepo.getChildren();
34 }
35
36 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
37 }
38
39
40 public Object[] getChildren(Object parentElement) {
41 if (parentElement instanceof TreeParent)
42 return ((TreeParent) parentElement).getChildren();
43 else
44 return null;
45 }
46
47
48 public Object getParent(Object element) {
49 if (element instanceof TreeParent)
50 return ((TreeParent) element).getParent();
51 return null;
52 }
53
54
55 public boolean hasChildren(Object element) {
56 if (element instanceof TreeParent)
57 return ((TreeParent) element).hasChildren();
58 else
59 return false;
60 }
61
62 public void dispose() {
63 publicRepo.dispose();
64 }
65
66
67
68
69 public void setRepositoryFactory(RepositoryFactory repositoryFactory) {
70 this.repositoryFactory = repositoryFactory;
71 }
72 }