X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=plugins%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fviews%2FDistributionsView.java;h=cad4d7e7d80795e53a098d9146083bdb288d8a15;hb=2541d68abde22de8b5e1001d6291a1afb2bbcc09;hp=c143fb2e0dd19cae8afa6647a84c51b408acf6ae;hpb=43e9e4e45dedbe68a1b3b427c2ee75d698b5ee9c;p=gpl%2Fargeo-slc.git diff --git a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/DistributionsView.java b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/DistributionsView.java index c143fb2e0..cad4d7e7d 100644 --- a/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/DistributionsView.java +++ b/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/DistributionsView.java @@ -20,6 +20,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.jcr.Credentials; +import javax.jcr.GuestCredentials; import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.RepositoryFactory; @@ -31,6 +33,7 @@ import org.apache.commons.logging.LogFactory; import org.argeo.eclipse.ui.AbstractTreeContentProvider; import org.argeo.eclipse.ui.ErrorFeedback; import org.argeo.eclipse.ui.TreeParent; +import org.argeo.jcr.ArgeoJcrUtils; import org.argeo.jcr.JcrUtils; import org.argeo.slc.client.ui.dist.DistPlugin; import org.argeo.slc.client.ui.dist.commands.CopyWorkspace; @@ -110,17 +113,31 @@ public class DistributionsView extends ViewPart implements SlcNames { // Initializes repositories // TODO make it more generic, with remote repositories etc. - repositories.add(new RepositoryElem("java", repository, false)); + repositories.add(new RepositoryElem("java", repository, null)); // 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)); - */ + String uri = null; + Credentials credentials = null; + Repository remoteRepository = null; + + uri = "http://dev.argeo.org/org.argeo.jcr.webapp/pub/java"; + credentials = new GuestCredentials(); + remoteRepository = ArgeoJcrUtils.getRepositoryByUri(repositoryFactory, uri); + repositories.add(new RepositoryElem("anonymous@dev.argeo.org//java", + remoteRepository, credentials)); + + uri = "http://localhost:7070/org.argeo.jcr.webapp/pub/java"; + credentials = new GuestCredentials(); + remoteRepository = ArgeoJcrUtils.getRepositoryByUri(repositoryFactory, uri); + repositories.add(new RepositoryElem("anonymous@localhost//java", + remoteRepository, credentials)); + + uri = "http://localhost:7070/org.argeo.jcr.webapp/remoting/java"; + credentials = new SimpleCredentials(System.getProperty("user.name"), + "".toCharArray()); + remoteRepository = ArgeoJcrUtils.getRepositoryByUri(repositoryFactory, uri); + repositories.add(new RepositoryElem("@localhost//java", + remoteRepository, credentials)); viewer.setInput(getSite()); @@ -221,25 +238,17 @@ public class DistributionsView extends ViewPart implements SlcNames { private static class RepositoryElem extends TreeParent { // private final Repository repository; private Session defaultSession; - private final Boolean isRemote; public RepositoryElem(String name, Repository repository, - Boolean isRemote) { + Credentials credentials) { super(name); - // this.repository = repository; - this.isRemote = isRemote; try { - if (isRemote) { - SimpleCredentials sc = new SimpleCredentials("root", - "demo".toCharArray()); - defaultSession = repository.login(sc); - } else { - defaultSession = repository.login(); - } + defaultSession = repository.login(credentials); String[] workspaceNames = defaultSession.getWorkspace() .getAccessibleWorkspaceNames(); for (String workspace : workspaceNames) - addChild(new DistributionElem(repository, workspace)); + addChild(new DistributionElem(repository, workspace, + credentials)); } catch (RepositoryException e) { ErrorFeedback.show("Cannot log to repository", e); } @@ -257,11 +266,14 @@ public class DistributionsView extends ViewPart implements SlcNames { private static class DistributionElem extends TreeParent { private final String workspaceName; private final Repository repository; + private final Credentials credentials; - public DistributionElem(Repository repository, String workspaceName) { + public DistributionElem(Repository repository, String workspaceName, + Credentials credentials) { super(workspaceName); this.workspaceName = workspaceName; this.repository = repository; + this.credentials = credentials; } public String getWorkspaceName() { @@ -271,6 +283,10 @@ public class DistributionsView extends ViewPart implements SlcNames { public Repository getRepository() { return repository; } + + public Credentials getCredentials() { + return credentials; + } } @Override @@ -290,8 +306,10 @@ public class DistributionsView extends ViewPart implements SlcNames { if (obj instanceof DistributionElem) { DistributionElem distributionElem = (DistributionElem) obj; DistributionEditorInput dei = new DistributionEditorInput( + distributionElem.getName(), distributionElem.getRepository(), - distributionElem.getWorkspaceName()); + distributionElem.getWorkspaceName(), + distributionElem.getCredentials()); try { DistPlugin.getDefault().getWorkbench() .getActiveWorkbenchWindow().getActivePage()