import javax.jcr.Repository;
import javax.jcr.RepositoryException;
+import javax.jcr.RepositoryFactory;
import javax.jcr.Session;
+import javax.jcr.SimpleCredentials;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public final static String ID = DistPlugin.ID + ".distributionsView";
private Repository repository;
+ private RepositoryFactory repositoryFactory;
private TreeViewer viewer;
// Initializes repositories
// TODO make it more generic, with remote repositories etc.
- repositories.add(new RepositoryElem("java", repository));
+ repositories.add(new RepositoryElem("java", repository, false));
+
+ // Remote
+ /*
+ String uri = "http://localhost:7070/org.argeo.jcr.webapp/remoting/java";
+ //String uri = "http://dev.argeo.org/org.argeo.jcr.webapp/pub/java";
+ Repository remoteRepository = JcrUtils.getRepositoryByUri(
+ repositoryFactory, uri);
+ repositories.add(new RepositoryElem("java@dev.argeo.org",
+ remoteRepository, true));
+ */
viewer.setInput(getSite());
this.repository = repository;
}
+ public void setRepositoryFactory(RepositoryFactory repositoryFactory) {
+ this.repositoryFactory = repositoryFactory;
+ }
+
/** Programatically configure the context menu */
protected void contextMenuAboutToShow(IMenuManager menuManager) {
IWorkbenchWindow window = DistPlugin.getDefault().getWorkbench()
}
+ /** Wraps a repository **/
private static class RepositoryElem extends TreeParent {
// private final Repository repository;
private Session defaultSession;
+ private final Boolean isRemote;
- public RepositoryElem(String name, Repository repository) {
+ public RepositoryElem(String name, Repository repository,
+ Boolean isRemote) {
super(name);
// this.repository = repository;
+ this.isRemote = isRemote;
try {
- defaultSession = repository.login();
+ if (isRemote) {
+ SimpleCredentials sc = new SimpleCredentials("root",
+ "demo".toCharArray());
+ defaultSession = repository.login(sc);
+ } else {
+ defaultSession = repository.login();
+ }
String[] workspaceNames = defaultSession.getWorkspace()
.getAccessibleWorkspaceNames();
for (String workspace : workspaceNames)