X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui.workbench%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fworkbench%2Finternal%2Fjcr%2Fmodel%2FRemoteRepositoryElem.java;h=4712f92732360fa7ad4484bce2c07b022b890bbe;hb=e85f259de1f77b38c5c9abd7eacfa74c7f571fdb;hp=f34f4de244c63411e6fef5a024a99f4486ebccee;hpb=23b7a170cae60b500e9d45551f26b5075eba73a4;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/jcr/model/RemoteRepositoryElem.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/jcr/model/RemoteRepositoryElem.java index f34f4de24..4712f9273 100644 --- a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/jcr/model/RemoteRepositoryElem.java +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/jcr/model/RemoteRepositoryElem.java @@ -24,9 +24,9 @@ import javax.jcr.RepositoryFactory; import javax.jcr.Session; import javax.jcr.SimpleCredentials; +import org.argeo.cms.ArgeoNames; import org.argeo.eclipse.ui.EclipseUiException; import org.argeo.eclipse.ui.TreeParent; -import org.argeo.node.ArgeoNames; import org.argeo.node.NodeUtils; import org.argeo.node.security.Keyring; @@ -43,8 +43,7 @@ public class RemoteRepositoryElem extends RepositoryElem { private final RepositoryFactory repositoryFactory; private final String uri; - public RemoteRepositoryElem(String alias, - RepositoryFactory repositoryFactory, String uri, TreeParent parent, + public RemoteRepositoryElem(String alias, RepositoryFactory repositoryFactory, String uri, TreeParent parent, Session userSession, Keyring keyring, String remoteNodePath) { super(alias, null, parent); this.repositoryFactory = repositoryFactory; @@ -55,29 +54,27 @@ public class RemoteRepositoryElem extends RepositoryElem { } @Override - protected Session repositoryLogin(String workspaceName) - throws RepositoryException { + protected Session repositoryLogin(String workspaceName) throws RepositoryException { Node remoteRepository = userSession.getNode(remoteNodePath); - String userID = remoteRepository.getProperty(ArgeoNames.ARGEO_USER_ID) - .getString(); - String pwdPath = remoteRepository.getPath() + '/' - + ArgeoNames.ARGEO_PASSWORD; - char[] password = keyring.getAsChars(pwdPath); - - try { - SimpleCredentials credentials = new SimpleCredentials(userID, - password); - return getRepository().login(credentials, workspaceName); - } finally { - Arrays.fill(password, 0, password.length, ' '); + String userID = remoteRepository.getProperty(ArgeoNames.ARGEO_USER_ID).getString(); + if (userID.trim().equals("")) { + return getRepository().login(workspaceName); + } else { + String pwdPath = remoteRepository.getPath() + '/' + ArgeoNames.ARGEO_PASSWORD; + char[] password = keyring.getAsChars(pwdPath); + try { + SimpleCredentials credentials = new SimpleCredentials(userID, password); + return getRepository().login(credentials, workspaceName); + } finally { + Arrays.fill(password, 0, password.length, ' '); + } } } @Override public Repository getRepository() { if (repository == null) - repository = NodeUtils.getRepositoryByUri(repositoryFactory, - uri); + repository = NodeUtils.getRepositoryByUri(repositoryFactory, uri); return super.getRepository(); }