1 package org
.argeo
.slc
.client
.ui
.dist
.controllers
;
3 import javax
.jcr
.RepositoryFactory
;
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
;
11 * Enable browsing in local public slc distribution repositories. For the time
12 * being, it supports only one repository at a time. Repository factory must be
15 public class AnonymousDistTreeContentProvider
implements ITreeContentProvider
{
16 private static final long serialVersionUID
= -4149180221319229128L;
18 // List<RepoElem> repositories = new ArrayList<RepoElem>();
19 private RepoElem publicRepo
;
21 private RepositoryFactory repositoryFactory
;
25 * the URI to the public repository to browse
27 public Object
[] getElements(Object input
) {
28 String uri
= (String
) input
;
29 publicRepo
= new RepoElem(repositoryFactory
, uri
,
30 "Argeo Public Repository");
31 // force connection and creation of the children UI object
33 return publicRepo
.getChildren();
36 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
40 public Object
[] getChildren(Object parentElement
) {
41 if (parentElement
instanceof TreeParent
)
42 return ((TreeParent
) parentElement
).getChildren();
48 public Object
getParent(Object element
) {
49 if (element
instanceof TreeParent
)
50 return ((TreeParent
) element
).getParent();
55 public boolean hasChildren(Object element
) {
56 if (element
instanceof TreeParent
)
57 return ((TreeParent
) element
).hasChildren();
62 public void dispose() {
67 * DEPENDENCY INJECTION
69 public void setRepositoryFactory(RepositoryFactory repositoryFactory
) {
70 this.repositoryFactory
= repositoryFactory
;