1 package org
.argeo
.slc
.client
.ui
.dist
.controllers
;
3 import javax
.jcr
.RepositoryFactory
;
5 import org
.argeo
.slc
.client
.ui
.dist
.model
.DistParentElem
;
6 import org
.argeo
.slc
.client
.ui
.dist
.model
.RepoElem
;
7 import org
.argeo
.slc
.client
.ui
.dist
.model
.WorkspaceElem
;
8 import org
.eclipse
.jface
.viewers
.ITreeContentProvider
;
9 import org
.eclipse
.jface
.viewers
.Viewer
;
12 * Enables browsing in local public slc distribution repositories. For the time
13 * being, it supports only one repository at a time. Repository factory must be
17 public class AnonymousDistTreeContentProvider
implements ITreeContentProvider
{
19 // List<RepoElem> repositories = new ArrayList<RepoElem>();
20 private RepoElem publicRepo
;
22 private RepositoryFactory repositoryFactory
;
26 * the URI to the public repository to browse
28 public Object
[] getElements(Object input
) {
29 String uri
= (String
) input
;
30 publicRepo
= new RepoElem(repositoryFactory
, uri
,
31 "Argeo Public Repository");
32 return publicRepo
.getChildren();
35 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
38 public Object
[] getChildren(Object parentElement
) {
39 if (parentElement
instanceof DistParentElem
) {
40 return ((DistParentElem
) parentElement
).getChildren();
45 public Object
getParent(Object element
) {
49 public boolean hasChildren(Object element
) {
50 if (element
instanceof WorkspaceElem
)
52 else if (element
instanceof DistParentElem
)
58 public void dispose() {
63 * DEPENDENCY INJECTION
65 public void setRepositoryFactory(RepositoryFactory repositoryFactory
) {
66 this.repositoryFactory
= repositoryFactory
;