-/*
- * Copyright (C) 2007-2012 Argeo GmbH
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
package org.argeo.cms.e4.jcr.handlers;
import java.net.URI;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
+import org.argeo.api.cms.CmsConstants;
import org.argeo.cms.ArgeoNames;
import org.argeo.cms.ArgeoTypes;
import org.argeo.cms.e4.jcr.JcrBrowserView;
+import org.argeo.cms.jcr.CmsJcrUtils;
+import org.argeo.cms.security.Keyring;
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
String checkedUriStr = checkedUri.toString();
Hashtable<String, String> params = new Hashtable<String, String>();
- params.put(NodeConstants.LABELED_URI, checkedUriStr);
+ params.put(CmsConstants.LABELED_URI, checkedUriStr);
Repository repository = repositoryFactory.getRepository(params);
if (username.getText().trim().equals("")) {// anonymous
// FIXME make it more generic
- session = repository.login("main");
+ session = repository.login(CmsConstants.SYS_WORKSPACE);
} else {
// FIXME use getTextChars() when upgrading to 3.7
// see https://bugs.eclipse.org/bugs/show_bug.cgi?id=297412
Session nodeSession = null;
try {
nodeSession = nodeRepository.login();
- Node home = NodeUtils.getUserHome(nodeSession);
+ Node home = CmsJcrUtils.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();