import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
+import org.argeo.api.NodeConstants;
+import org.argeo.api.NodeUtils;
+import org.argeo.api.security.Keyring;
import org.argeo.cms.ArgeoNames;
import org.argeo.cms.ArgeoTypes;
import org.argeo.cms.e4.jcr.JcrBrowserView;
import org.argeo.eclipse.ui.EclipseUiException;
import org.argeo.eclipse.ui.dialogs.ErrorFeedback;
import org.argeo.jcr.JcrUtils;
-import org.argeo.node.NodeConstants;
-import org.argeo.node.NodeUtils;
-import org.argeo.node.security.Keyring;
import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.core.di.annotations.Optional;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.services.IServiceConstants;
import org.eclipse.jface.dialogs.Dialog;
* Connect to a remote repository and, if successful publish it as an OSGi
* service.
*/
-public class AddRemoteRepository implements ArgeoNames {
+public class AddRemoteRepository {
@Inject
private RepositoryFactory repositoryFactory;
@Inject
private Repository nodeRepository;
@Inject
+ @Optional
private Keyring keyring;
@Execute
nodeSession = nodeRepository.login();
Node home = NodeUtils.getUserHome(nodeSession);
- Node remote = home.hasNode(ARGEO_REMOTE) ? home.getNode(ARGEO_REMOTE) : home.addNode(ARGEO_REMOTE);
+ Node remote = home.hasNode(ArgeoNames.ARGEO_REMOTE) ? home.getNode(ArgeoNames.ARGEO_REMOTE)
+ : home.addNode(ArgeoNames.ARGEO_REMOTE);
if (remote.hasNode(name.getText()))
throw new EclipseUiException("There is already a remote repository named " + name.getText());
Node remoteRepository = remote.addNode(name.getText(), ArgeoTypes.ARGEO_REMOTE_REPOSITORY);
- remoteRepository.setProperty(ARGEO_URI, uri.getText());
- remoteRepository.setProperty(ARGEO_USER_ID, username.getText());
+ remoteRepository.setProperty(ArgeoNames.ARGEO_URI, uri.getText());
+ remoteRepository.setProperty(ArgeoNames.ARGEO_USER_ID, username.getText());
nodeSession.save();
if (saveInKeyring.getSelection()) {
- String pwdPath = remoteRepository.getPath() + '/' + ARGEO_PASSWORD;
+ String pwdPath = remoteRepository.getPath() + '/' + ArgeoNames.ARGEO_PASSWORD;
keyring.set(pwdPath, password.getText().toCharArray());
}
nodeSession.save();