X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.e4%2Fsrc%2Forg%2Fargeo%2Fcms%2Fe4%2Fjcr%2Fhandlers%2FAddRemoteRepository.java;h=dc47f6edfc12e6f836bf3843bae13c9d94062d0d;hb=b71546ddc74d6ca49d252806aafd491c75dfe1fb;hp=e51c104ef6443d4fd821ffa1b1f1e8709de3bef9;hpb=088c1b517a543e935d8ab65c3b2fd2d0269b551d;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/handlers/AddRemoteRepository.java b/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/handlers/AddRemoteRepository.java index e51c104ef..dc47f6edf 100644 --- a/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/handlers/AddRemoteRepository.java +++ b/org.argeo.cms.e4/src/org/argeo/cms/e4/jcr/handlers/AddRemoteRepository.java @@ -1,18 +1,3 @@ -/* - * 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; @@ -26,16 +11,17 @@ import javax.jcr.RepositoryFactory; 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; @@ -60,13 +46,14 @@ import org.eclipse.swt.widgets.Text; * 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 @@ -143,11 +130,11 @@ public class AddRemoteRepository implements ArgeoNames { String checkedUriStr = checkedUri.toString(); Hashtable params = new Hashtable(); - 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 @@ -169,17 +156,18 @@ public class AddRemoteRepository implements ArgeoNames { 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();