package org.argeo.slc.client.ui.dist.wizards;
import java.net.URI;
-import java.util.Hashtable;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
import javax.jcr.nodetype.NodeType;
import org.argeo.eclipse.ui.dialogs.ErrorFeedback;
-import org.argeo.jcr.ArgeoJcrConstants;
-import org.argeo.jcr.ArgeoJcrUtils;
-import org.argeo.jcr.ArgeoNames;
-import org.argeo.jcr.ArgeoTypes;
import org.argeo.jcr.JcrUtils;
-import org.argeo.jcr.UserJcrUtils;
+import org.argeo.node.ArgeoNames;
+import org.argeo.node.ArgeoTypes;
+import org.argeo.node.NodeUtils;
+import org.argeo.node.security.Keyring;
import org.argeo.slc.SlcException;
import org.argeo.slc.repo.RepoConstants;
-import org.argeo.util.security.Keyring;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.wizard.Wizard;
private final static String DEFAULT_USER_NAME = "anonymous";
private final static boolean DEFAULT_ANONYMOUS = true;
- public RegisterRepoWizard(Keyring keyring,
- RepositoryFactory repositoryFactory, Repository nodeRepository) {
+ public RegisterRepoWizard(Keyring keyring, RepositoryFactory repositoryFactory, Repository nodeRepository) {
super();
this.keyring = keyring;
this.repositoryFactory = repositoryFactory;
Session nodeSession = null;
try {
nodeSession = nodeRepository.login();
- String reposPath = UserJcrUtils.getUserHome(nodeSession).getPath()
- + RepoConstants.REPOSITORIES_BASE_PATH;
+ String reposPath = NodeUtils.getUserHome(nodeSession).getPath() + RepoConstants.REPOSITORIES_BASE_PATH;
Node repos = nodeSession.getNode(reposPath);
String repoNodeName = JcrUtils.replaceInvalidChars(name.getText());
if (repos.hasNode(repoNodeName))
- throw new SlcException(
- "There is already a remote repository named "
- + repoNodeName);
+ throw new SlcException("There is already a remote repository named " + repoNodeName);
// check if the same URI has already been registered
NodeIterator ni = repos.getNodes();
while (ni.hasNext()) {
Node node = ni.nextNode();
- if (node.isNodeType(ArgeoTypes.ARGEO_REMOTE_REPOSITORY)
- && node.hasProperty(ArgeoNames.ARGEO_URI)
- && node.getProperty(ArgeoNames.ARGEO_URI).getString()
- .equals(uri.getText()))
- throw new SlcException(
- "This URI "
- + uri.getText()
- + " is already registered, "
- + "for the time being, only one instance of a single "
- + "repository at a time is implemented.");
+ if (node.isNodeType(ArgeoTypes.ARGEO_REMOTE_REPOSITORY) && node.hasProperty(ArgeoNames.ARGEO_URI)
+ && node.getProperty(ArgeoNames.ARGEO_URI).getString().equals(uri.getText()))
+ throw new SlcException("This URI " + uri.getText() + " is already registered, "
+ + "for the time being, only one instance of a single "
+ + "repository at a time is implemented.");
}
- Node repoNode = repos.addNode(repoNodeName,
- ArgeoTypes.ARGEO_REMOTE_REPOSITORY);
+ Node repoNode = repos.addNode(repoNodeName, ArgeoTypes.ARGEO_REMOTE_REPOSITORY);
repoNode.setProperty(ArgeoNames.ARGEO_URI, uri.getText());
repoNode.setProperty(ArgeoNames.ARGEO_USER_ID, username.getText());
repoNode.addMixin(NodeType.MIX_TITLE);
repoNode.setProperty(Property.JCR_TITLE, name.getText());
nodeSession.save();
if (saveInKeyring.getSelection()) {
- String pwdPath = repoNode.getPath() + '/'
- + ArgeoNames.ARGEO_PASSWORD;
+ String pwdPath = repoNode.getPath() + '/' + ArgeoNames.ARGEO_PASSWORD;
keyring.set(pwdPath, password.getText().toCharArray());
nodeSession.save();
}
// main layout
Composite composite = new Composite(parent, SWT.NONE);
composite.setLayout(new GridLayout(2, false));
- composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true,
- false));
+ composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
// Create various fields
// setMessage("Login to remote repository", IMessageProvider.NONE);
name = createLT(composite, "Name", DEFAULT_NAME);
uri = createLT(composite, "URI", DEFAULT_URI);
- final Button anonymousLogin = createLC(composite,
- "Log as anonymous", true);
+ final Button anonymousLogin = createLC(composite, "Log as anonymous", true);
anonymousLogin.addSelectionListener(new SelectionListener() {
private static final long serialVersionUID = 4874716406036981039L;
}
Button test = createButton(composite, "Test");
- GridData gd = new GridData(SWT.CENTER, SWT.CENTER, false, false, 2,
- 1);
+ GridData gd = new GridData(SWT.CENTER, SWT.CENTER, false, false, 2, 1);
gd.widthHint = 140;
test.setLayoutData(gd);
}
/** Creates label and check. */
- protected Button createLC(Composite parent, String label,
- Boolean initial) {
+ protected Button createLC(Composite parent, String label, Boolean initial) {
new Label(parent, SWT.RIGHT).setText(label);
Button check = new Button(parent, SWT.CHECK);
check.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
/** Creates label and password field */
protected Text createLP(Composite parent, String label) {
new Label(parent, SWT.NONE).setText(label);
- Text text = new Text(parent, SWT.SINGLE | SWT.LEAD | SWT.BORDER
- | SWT.PASSWORD);
+ Text text = new Text(parent, SWT.SINGLE | SWT.LEAD | SWT.BORDER | SWT.PASSWORD);
text.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
return text;
}
if (uri.getText().startsWith("http")) {// http, https
URI checkedUri = new URI(uri.getText());
String checkedUriStr = checkedUri.toString();
- Hashtable<String, String> params = new Hashtable<String, String>();
- params.put(ArgeoJcrConstants.JCR_REPOSITORY_URI, checkedUriStr);
- Repository repository = ArgeoJcrUtils.getRepositoryByUri(
- repositoryFactory, checkedUriStr);
+ Repository repository = NodeUtils.getRepositoryByUri(repositoryFactory, checkedUriStr);
if (username.getText().trim().equals("")) {// anonymous
- session = repository.login();
+ session = repository.login(RepoConstants.DEFAULT_DEFAULT_WORKSPACE);
} else {
- // FIXME use getTextChars() when upgrading to 3.7
- // see
- // https://bugs.eclipse.org/bugs/show_bug.cgi?id=297412
- char[] pwd = password.getText().toCharArray();
- SimpleCredentials sc = new SimpleCredentials(
- username.getText(), pwd);
- session = repository.login(sc);
+ char[] pwd = password.getTextChars();
+ SimpleCredentials sc = new SimpleCredentials(username.getText(), pwd);
+ session = repository.login(sc, RepoConstants.DEFAULT_DEFAULT_WORKSPACE);
}
} else {// alias
- Repository repository = ArgeoJcrUtils.getRepositoryByAlias(
- repositoryFactory, uri.getText());
+ Repository repository = NodeUtils.getRepositoryByAlias(repositoryFactory, uri.getText());
session = repository.login();
}
- MessageDialog.openInformation(getShell(), "Success",
- "Connection to '" + uri.getText() + "' successful");
+ MessageDialog.openInformation(getShell(), "Success", "Connection to '" + uri.getText() + "' successful");
} catch (Exception e) {
- ErrorFeedback
- .show("Connection test failed for " + uri.getText(), e);
+ ErrorFeedback.show("Connection test failed for " + uri.getText(), e);
} finally {
JcrUtils.logoutQuietly(session);
}