From c53fec78daddb69c489686844188036b04e1615a Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Tue, 7 Dec 2021 10:36:05 +0100 Subject: [PATCH] Move JCR utilities from API to CMS JCR --- org.argeo.api/src/org/argeo/api/NodeNames.java | 8 -------- org.argeo.api/src/org/argeo/api/NodeTypes.java | 8 -------- .../org/argeo/cms/e4/files/NodeFsBrowserView.java | 2 +- .../cms/e4/jcr/handlers/AddRemoteRepository.java | 4 ++-- .../src/org/argeo/cms/e4/users/GroupEditor.java | 6 +++--- .../src/org/argeo/cms/jcr/CmsJcrUtils.java | 8 +++++--- .../org/argeo/cms/jcr/internal/CmsFsProvider.java | 6 +++--- .../org/argeo/cms/jcr/internal/EgoRepository.java | 6 +++--- .../org/argeo/cms/jcr/internal/JcrDeployment.java | 8 ++++---- .../org/argeo/cms/jcr/internal/JcrKeyring.java | 10 +++++----- .../cms/jcr/internal/servlet/LinkServlet.java | 4 ++-- .../maintenance/AbstractMaintenanceService.java | 8 ++++---- .../argeo/maintenance/backup/LogicalBackup.java | 4 ++-- .../argeo/maintenance/backup/LogicalRestore.java | 2 +- org.argeo.cms.ui.rap/bnd.bnd | 1 + .../src/org/argeo/cms/web/SimpleApp.java | 4 ++-- .../src/org/argeo/cms/ui/fs/CmsFsBrowser.java | 4 ++-- .../org/argeo/cms/ui/jcr/NodeContentProvider.java | 4 ++-- .../cms/ui/jcr/model/RemoteRepositoryElem.java | 4 ++-- .../argeo/cms/ui/jcr/model/RepositoriesElem.java | 4 ++-- .../src/org/argeo/cms/ui/util/CmsLink.java | 4 ++-- .../src/org/argeo/cms/ui/util/CmsUiUtils.java | 4 ++-- .../cms/internal/kernel/SecurityProfile.java | 15 +++++++-------- 23 files changed, 57 insertions(+), 71 deletions(-) delete mode 100644 org.argeo.api/src/org/argeo/api/NodeNames.java delete mode 100644 org.argeo.api/src/org/argeo/api/NodeTypes.java rename org.argeo.api/src/org/argeo/api/NodeUtils.java => org.argeo.cms.jcr/src/org/argeo/cms/jcr/CmsJcrUtils.java (98%) diff --git a/org.argeo.api/src/org/argeo/api/NodeNames.java b/org.argeo.api/src/org/argeo/api/NodeNames.java deleted file mode 100644 index b74069f9c..000000000 --- a/org.argeo.api/src/org/argeo/api/NodeNames.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.argeo.api; - -/** JCR types in the http://www.argeo.org/node namespace */ -@Deprecated -public interface NodeNames { - String LDAP_UID = "ldap:"+NodeConstants.UID; - String LDAP_CN = "ldap:"+NodeConstants.CN; -} diff --git a/org.argeo.api/src/org/argeo/api/NodeTypes.java b/org.argeo.api/src/org/argeo/api/NodeTypes.java deleted file mode 100644 index ca41ad28d..000000000 --- a/org.argeo.api/src/org/argeo/api/NodeTypes.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.argeo.api; - -/** JCR types in the http://www.argeo.org/node namespace */ -@Deprecated -public interface NodeTypes { - String NODE_USER_HOME = "node:userHome"; - String NODE_GROUP_HOME = "node:groupHome"; -} diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/files/NodeFsBrowserView.java b/org.argeo.cms.e4/src/org/argeo/cms/e4/files/NodeFsBrowserView.java index 1eb6daef1..cb9f9b97a 100644 --- a/org.argeo.cms.e4/src/org/argeo/cms/e4/files/NodeFsBrowserView.java +++ b/org.argeo.cms.e4/src/org/argeo/cms/e4/files/NodeFsBrowserView.java @@ -9,8 +9,8 @@ import java.nio.file.spi.FileSystemProvider; import javax.annotation.PostConstruct; import javax.inject.Inject; -import org.argeo.api.NodeUtils; import org.argeo.cms.CmsException; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.eclipse.ui.fs.AdvancedFsBrowser; import org.argeo.eclipse.ui.fs.SimpleFsBrowser; import org.eclipse.swt.SWT; 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 7b1e19d06..cf7aac86a 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 @@ -12,11 +12,11 @@ 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.cms.jcr.CmsJcrUtils; import org.argeo.eclipse.ui.EclipseUiException; import org.argeo.eclipse.ui.dialogs.ErrorFeedback; import org.argeo.jcr.JcrUtils; @@ -156,7 +156,7 @@ public class AddRemoteRepository { Session nodeSession = null; try { nodeSession = nodeRepository.login(); - Node home = NodeUtils.getUserHome(nodeSession); + Node home = CmsJcrUtils.getUserHome(nodeSession); Node remote = home.hasNode(ArgeoNames.ARGEO_REMOTE) ? home.getNode(ArgeoNames.ARGEO_REMOTE) : home.addNode(ArgeoNames.ARGEO_REMOTE); diff --git a/org.argeo.cms.e4/src/org/argeo/cms/e4/users/GroupEditor.java b/org.argeo.cms.e4/src/org/argeo/cms/e4/users/GroupEditor.java index 9ba7af72f..708a65315 100644 --- a/org.argeo.cms.e4/src/org/argeo/cms/e4/users/GroupEditor.java +++ b/org.argeo.cms.e4/src/org/argeo/cms/e4/users/GroupEditor.java @@ -20,13 +20,13 @@ import javax.naming.ldap.LdapName; import org.argeo.api.NodeConstants; import org.argeo.api.NodeInstance; -import org.argeo.api.NodeUtils; import org.argeo.cms.CmsException; import org.argeo.cms.auth.UserAdminUtils; import org.argeo.cms.e4.users.providers.CommonNameLP; import org.argeo.cms.e4.users.providers.MailLP; import org.argeo.cms.e4.users.providers.RoleIconLP; import org.argeo.cms.e4.users.providers.UserFilter; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.cms.ui.eclipse.forms.AbstractFormPart; import org.argeo.cms.ui.eclipse.forms.IManagedForm; import org.argeo.cms.ui.util.CmsUiUtils; @@ -197,7 +197,7 @@ public class GroupEditor extends AbstractRoleEditor { // dnTxt.setText(group.getName()); // cnTxt.setText(UserAdminUtils.getProperty(group, LdapAttrs.cn.name())); descTxt.setText(UserAdminUtils.getProperty(group, LdapAttrs.description.name())); - Node workgroupHome = NodeUtils.getGroupHome(groupsSession, cn); + Node workgroupHome = CmsJcrUtils.getGroupHome(groupsSession, cn); if (workgroupHome == null) markAsWorkgroupLk.setText("Mark as workgroup"); else @@ -216,7 +216,7 @@ public class GroupEditor extends AbstractRoleEditor { boolean confirmed = MessageDialog.openConfirm(parent.getShell(), "Mark as workgroup", "Are you sure you want to mark " + cn + " as being a workgroup? "); if (confirmed) { - Node workgroupHome = NodeUtils.getGroupHome(groupsSession, cn); + Node workgroupHome = CmsJcrUtils.getGroupHome(groupsSession, cn); if (workgroupHome != null) return; // already marked as workgroup, do nothing else diff --git a/org.argeo.api/src/org/argeo/api/NodeUtils.java b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/CmsJcrUtils.java similarity index 98% rename from org.argeo.api/src/org/argeo/api/NodeUtils.java rename to org.argeo.cms.jcr/src/org/argeo/cms/jcr/CmsJcrUtils.java index 037051138..ff128a29d 100644 --- a/org.argeo.api/src/org/argeo/api/NodeUtils.java +++ b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/CmsJcrUtils.java @@ -1,4 +1,4 @@ -package org.argeo.api; +package org.argeo.cms.jcr; import java.security.PrivilegedAction; import java.util.HashMap; @@ -18,8 +18,10 @@ import javax.security.auth.Subject; import javax.security.auth.login.LoginContext; import javax.security.auth.login.LoginException; +import org.argeo.api.NodeConstants; + /** Utilities related to Argeo model in JCR */ -public class NodeUtils { +public class CmsJcrUtils { /** * Wraps the call to the repository factory based on parameter * {@link NodeConstants#CN} in order to simplify it and protect against future @@ -267,7 +269,7 @@ public class NodeUtils { } /** Singleton. */ - private NodeUtils() { + private CmsJcrUtils() { } } diff --git a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/CmsFsProvider.java b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/CmsFsProvider.java index 704adf15f..bfbca733e 100644 --- a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/CmsFsProvider.java +++ b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/CmsFsProvider.java @@ -19,8 +19,8 @@ import javax.jcr.Session; import javax.jcr.nodetype.NodeType; import org.argeo.api.NodeConstants; -import org.argeo.api.NodeUtils; import org.argeo.cms.auth.CurrentUser; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.jackrabbit.fs.AbstractJackrabbitFsProvider; import org.argeo.jcr.fs.JcrFileSystem; import org.argeo.jcr.fs.JcrFileSystemProvider; @@ -54,7 +54,7 @@ public class CmsFsProvider extends AbstractJackrabbitFsProvider { if (host != null && !host.trim().equals("")) { URI repoUri = new URI("http", uri.getUserInfo(), uri.getHost(), uri.getPort(), "/jcr/node", null, null); RepositoryFactory repositoryFactory = bc.getService(bc.getServiceReference(RepositoryFactory.class)); - Repository repository = NodeUtils.getRepositoryByUri(repositoryFactory, repoUri.toString()); + Repository repository = CmsJcrUtils.getRepositoryByUri(repositoryFactory, repoUri.toString()); CmsFileSystem fileSystem = new CmsFileSystem(this, repository); fileSystems.put(username, fileSystem); return fileSystem; @@ -98,7 +98,7 @@ public class CmsFsProvider extends AbstractJackrabbitFsProvider { public Node getUserHome(Repository repository) { try { Session session = repository.login(NodeConstants.HOME_WORKSPACE); - return NodeUtils.getUserHome(session); + return CmsJcrUtils.getUserHome(session); } catch (RepositoryException e) { throw new IllegalStateException("Cannot get user home", e); } diff --git a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/EgoRepository.java b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/EgoRepository.java index 68bfce8d8..368c3ba52 100644 --- a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/EgoRepository.java +++ b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/EgoRepository.java @@ -18,8 +18,8 @@ import javax.security.auth.Subject; import javax.security.auth.login.LoginContext; import org.argeo.api.NodeConstants; -import org.argeo.api.NodeUtils; import org.argeo.cms.CmsException; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrRepositoryWrapper; import org.argeo.jcr.JcrUtils; @@ -159,7 +159,7 @@ class EgoRepository extends JcrRepositoryWrapper implements KernelConstants { return; try { - Node userHome = NodeUtils.getUserHome(adminSession, username); + Node userHome = CmsJcrUtils.getUserHome(adminSession, username); if (userHome == null) { // String homePath = generateUserPath(username); String userId = extractUserId(username); @@ -229,7 +229,7 @@ class EgoRepository extends JcrRepositoryWrapper implements KernelConstants { String groupsWorkspace = getGroupsWorkspace(); Session adminSession = KernelUtils.openAdminSession(getRepository(groupsWorkspace), groupsWorkspace); String cn = dn.getRdn(dn.size() - 1).getValue().toString(); - Node newWorkgroup = NodeUtils.getGroupHome(adminSession, cn); + Node newWorkgroup = CmsJcrUtils.getGroupHome(adminSession, cn); if (newWorkgroup != null) { JcrUtils.logoutQuietly(adminSession); throw new CmsException("Workgroup " + newWorkgroup + " already exists for " + dn); diff --git a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrDeployment.java b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrDeployment.java index d0fa841e0..0daaad47c 100644 --- a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrDeployment.java +++ b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrDeployment.java @@ -34,11 +34,11 @@ import org.apache.jackrabbit.core.RepositoryImpl; import org.argeo.api.DataModelNamespace; import org.argeo.api.NodeConstants; import org.argeo.api.NodeDeployment; -import org.argeo.api.NodeUtils; import org.argeo.api.security.CryptoKeyring; import org.argeo.api.security.Keyring; import org.argeo.cms.ArgeoNames; import org.argeo.cms.internal.jcr.JcrInitUtils; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.cms.jcr.internal.servlet.CmsRemotingServlet; import org.argeo.cms.jcr.internal.servlet.CmsWebDavServlet; import org.argeo.cms.jcr.internal.servlet.JcrHttpUtils; @@ -193,15 +193,15 @@ public class JcrDeployment { Session sourceSession = null; try { try { - targetSession = NodeUtils.openDataAdminSession(deployedNodeRepository, workspaceName); + targetSession = CmsJcrUtils.openDataAdminSession(deployedNodeRepository, workspaceName); } catch (IllegalArgumentException e) {// no such workspace - Session adminSession = NodeUtils.openDataAdminSession(deployedNodeRepository, null); + Session adminSession = CmsJcrUtils.openDataAdminSession(deployedNodeRepository, null); try { adminSession.getWorkspace().createWorkspace(workspaceName); } finally { Jcr.logout(adminSession); } - targetSession = NodeUtils.openDataAdminSession(deployedNodeRepository, workspaceName); + targetSession = CmsJcrUtils.openDataAdminSession(deployedNodeRepository, workspaceName); } sourceSession = initRepository.login(workspaceName); // JcrUtils.copyWorkspaceXml(sourceSession, targetSession); diff --git a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrKeyring.java b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrKeyring.java index ce658b8f8..11a68ce24 100644 --- a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrKeyring.java +++ b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/JcrKeyring.java @@ -29,10 +29,10 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.api.NodeConstants; -import org.argeo.api.NodeUtils; import org.argeo.api.security.PBEKeySpecCallback; import org.argeo.cms.ArgeoNames; import org.argeo.cms.ArgeoTypes; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.cms.security.AbstractKeyring; import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrUtils; @@ -110,7 +110,7 @@ public class JcrKeyring extends AbstractKeyring implements ArgeoNames { // return true; session = session(); session.refresh(true); - Node userHome = NodeUtils.getUserHome(session); + Node userHome = CmsJcrUtils.getUserHome(session); return userHome.hasNode(ARGEO_KEYRING); } catch (RepositoryException e) { throw new JcrException("Cannot check whether keyring is setup", e); @@ -125,7 +125,7 @@ public class JcrKeyring extends AbstractKeyring implements ArgeoNames { // InputStream in = null; try { session().refresh(true); - Node userHome = NodeUtils.getUserHome(session()); + Node userHome = CmsJcrUtils.getUserHome(session()); Node keyring; if (userHome.hasNode(ARGEO_KEYRING)) { throw new IllegalArgumentException("Keyring already set up"); @@ -187,7 +187,7 @@ public class JcrKeyring extends AbstractKeyring implements ArgeoNames { try { session = session(); session.refresh(true); - Node userHome = NodeUtils.getUserHome(session); + Node userHome = CmsJcrUtils.getUserHome(session); Node keyring; if (userHome.hasNode(ARGEO_KEYRING)) keyring = userHome.getNode(ARGEO_KEYRING); @@ -326,7 +326,7 @@ public class JcrKeyring extends AbstractKeyring implements ArgeoNames { protected Cipher createCipher() { try { - Node userHome = NodeUtils.getUserHome(session()); + Node userHome = CmsJcrUtils.getUserHome(session()); if (!userHome.hasNode(ARGEO_KEYRING)) throw new IllegalArgumentException("Keyring not setup"); Node keyring = userHome.getNode(ARGEO_KEYRING); diff --git a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/servlet/LinkServlet.java b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/servlet/LinkServlet.java index 1ddfc34e4..feaa00f30 100644 --- a/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/servlet/LinkServlet.java +++ b/org.argeo.cms.jcr/src/org/argeo/cms/jcr/internal/servlet/LinkServlet.java @@ -26,8 +26,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.argeo.api.NodeConstants; -import org.argeo.api.NodeUtils; import org.argeo.cms.CmsException; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.jcr.JcrUtils; import org.osgi.framework.BundleContext; import org.osgi.framework.FrameworkUtil; @@ -196,7 +196,7 @@ public class LinkServlet extends HttpServlet { private String getDataUrl(Node node, HttpServletRequest request) throws RepositoryException { try { StringBuilder buf = getServerBaseUrl(request); - buf.append(NodeUtils.getDataPath(NodeConstants.EGO_REPOSITORY, node)); + buf.append(CmsJcrUtils.getDataPath(NodeConstants.EGO_REPOSITORY, node)); return new URL(buf.toString()).toString(); } catch (MalformedURLException e) { throw new CmsException("Cannot build data URL for " + node, e); diff --git a/org.argeo.cms.jcr/src/org/argeo/maintenance/AbstractMaintenanceService.java b/org.argeo.cms.jcr/src/org/argeo/maintenance/AbstractMaintenanceService.java index ae09cd4bf..804ab9758 100644 --- a/org.argeo.cms.jcr/src/org/argeo/maintenance/AbstractMaintenanceService.java +++ b/org.argeo.cms.jcr/src/org/argeo/maintenance/AbstractMaintenanceService.java @@ -12,7 +12,7 @@ import javax.jcr.Session; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.api.NodeUtils; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrUtils; import org.argeo.naming.Distinguished; @@ -47,10 +47,10 @@ public abstract class AbstractMaintenanceService { protected void configureJcr(Repository repository, String workspaceName) { Session adminSession; try { - adminSession = NodeUtils.openDataAdminSession(repository, workspaceName); + adminSession = CmsJcrUtils.openDataAdminSession(repository, workspaceName); } catch (RuntimeException e1) { if (e1.getCause() != null && e1.getCause() instanceof NoSuchWorkspaceException) { - Session defaultAdminSession = NodeUtils.openDataAdminSession(repository, null); + Session defaultAdminSession = CmsJcrUtils.openDataAdminSession(repository, null); try { defaultAdminSession.getWorkspace().createWorkspace(workspaceName); log.info("Created JCR workspace " + workspaceName); @@ -59,7 +59,7 @@ public abstract class AbstractMaintenanceService { } finally { Jcr.logout(defaultAdminSession); } - adminSession = NodeUtils.openDataAdminSession(repository, workspaceName); + adminSession = CmsJcrUtils.openDataAdminSession(repository, workspaceName); } else throw e1; } diff --git a/org.argeo.cms.jcr/src/org/argeo/maintenance/backup/LogicalBackup.java b/org.argeo.cms.jcr/src/org/argeo/maintenance/backup/LogicalBackup.java index 60e8f8e5d..c2a3582e7 100644 --- a/org.argeo.cms.jcr/src/org/argeo/maintenance/backup/LogicalBackup.java +++ b/org.argeo.cms.jcr/src/org/argeo/maintenance/backup/LogicalBackup.java @@ -46,7 +46,7 @@ import org.apache.commons.logging.LogFactory; import org.apache.jackrabbit.api.JackrabbitSession; import org.apache.jackrabbit.api.JackrabbitValue; import org.argeo.api.NodeConstants; -import org.argeo.api.NodeUtils; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.jackrabbit.client.ClientDavexRepositoryFactory; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrException; @@ -333,7 +333,7 @@ public class LogicalBackup implements Runnable { protected Session login(String workspaceName) { if (bundleContext != null) {// local - return NodeUtils.openDataAdminSession(repository, workspaceName); + return CmsJcrUtils.openDataAdminSession(repository, workspaceName); } else {// remote try { return repository.login(workspaceName); diff --git a/org.argeo.cms.jcr/src/org/argeo/maintenance/backup/LogicalRestore.java b/org.argeo.cms.jcr/src/org/argeo/maintenance/backup/LogicalRestore.java index a12bb41c9..057a12610 100644 --- a/org.argeo.cms.jcr/src/org/argeo/maintenance/backup/LogicalRestore.java +++ b/org.argeo.cms.jcr/src/org/argeo/maintenance/backup/LogicalRestore.java @@ -14,7 +14,7 @@ import javax.jcr.Session; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.api.NodeConstants; -import org.argeo.api.NodeUtils; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrException; import org.argeo.jcr.JcrUtils; diff --git a/org.argeo.cms.ui.rap/bnd.bnd b/org.argeo.cms.ui.rap/bnd.bnd index 7f5c929e5..8ac12f02f 100644 --- a/org.argeo.cms.ui.rap/bnd.bnd +++ b/org.argeo.cms.ui.rap/bnd.bnd @@ -1,5 +1,6 @@ Import-Package:\ org.eclipse.swt,\ +org.argeo.api,\ org.argeo.eclipse.ui,\ javax.jcr.nodetype,\ javax.jcr.security,\ diff --git a/org.argeo.cms.ui.rap/src/org/argeo/cms/web/SimpleApp.java b/org.argeo.cms.ui.rap/src/org/argeo/cms/web/SimpleApp.java index fd893106a..4cd6874d0 100644 --- a/org.argeo.cms.ui.rap/src/org/argeo/cms/web/SimpleApp.java +++ b/org.argeo.cms.ui.rap/src/org/argeo/cms/web/SimpleApp.java @@ -23,8 +23,8 @@ import javax.jcr.version.VersionManager; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.api.NodeConstants; -import org.argeo.api.NodeUtils; import org.argeo.cms.CmsException; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.cms.ui.CmsConstants; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.cms.ui.LifeCycleUiProvider; @@ -174,7 +174,7 @@ public class SimpleApp implements CmsConstants, ApplicationConfiguration { public void init() throws RepositoryException { Session session = null; try { - session = NodeUtils.openDataAdminSession(repository, workspace); + session = CmsJcrUtils.openDataAdminSession(repository, workspace); // session = JcrUtils.loginOrCreateWorkspace(repository, workspace); VersionManager vm = session.getWorkspace().getVersionManager(); JcrUtils.mkdirs(session, jcrBasePath); diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/fs/CmsFsBrowser.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/fs/CmsFsBrowser.java index 4e0067521..4a7e9bd3f 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/fs/CmsFsBrowser.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/fs/CmsFsBrowser.java @@ -18,9 +18,9 @@ import javax.jcr.Node; import javax.jcr.Repository; import javax.jcr.Session; -import org.argeo.api.NodeUtils; import org.argeo.cms.CmsException; import org.argeo.cms.auth.CurrentUser; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.cms.ui.util.CmsUiUtils; import org.argeo.eclipse.ui.ColumnDefinition; import org.argeo.eclipse.ui.EclipseUiUtils; @@ -98,7 +98,7 @@ public class CmsFsBrowser extends Composite { try { Repository repo = currentBaseContext.getSession().getRepository(); session = CurrentUser.tryAs(() -> repo.login()); - String homepath = NodeUtils.getUserHome(session).getPath(); + String homepath = CmsJcrUtils.getUserHome(session).getPath(); return homepath; } catch (Exception e) { throw new CmsException("Cannot retrieve Current User Home Path", e); diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/NodeContentProvider.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/NodeContentProvider.java index bfce888bc..602ae7f6c 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/NodeContentProvider.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/NodeContentProvider.java @@ -12,8 +12,8 @@ import javax.jcr.Session; import javax.jcr.nodetype.NodeType; import org.argeo.api.NodeConstants; -import org.argeo.api.NodeUtils; import org.argeo.api.security.Keyring; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.cms.ui.jcr.model.RepositoriesElem; import org.argeo.cms.ui.jcr.model.SingleJcrNodeElem; import org.argeo.eclipse.ui.TreeParent; @@ -56,7 +56,7 @@ public class NodeContentProvider implements ITreeContentProvider { return; if (userSession != null) { - Node userHome = NodeUtils.getUserHome(userSession); + Node userHome = CmsJcrUtils.getUserHome(userSession); if (userHome != null) { // TODO : find a way to dynamically get alias for the node if (homeNode != null) diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/RemoteRepositoryElem.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/RemoteRepositoryElem.java index 27cfbbb1d..3c035fc77 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/RemoteRepositoryElem.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/RemoteRepositoryElem.java @@ -9,9 +9,9 @@ import javax.jcr.RepositoryFactory; import javax.jcr.Session; import javax.jcr.SimpleCredentials; -import org.argeo.api.NodeUtils; import org.argeo.api.security.Keyring; import org.argeo.cms.ArgeoNames; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.eclipse.ui.EclipseUiException; import org.argeo.eclipse.ui.TreeParent; @@ -59,7 +59,7 @@ public class RemoteRepositoryElem extends RepositoryElem { @Override public Repository getRepository() { if (repository == null) - repository = NodeUtils.getRepositoryByUri(repositoryFactory, uri); + repository = CmsJcrUtils.getRepositoryByUri(repositoryFactory, uri); return super.getRepository(); } diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/RepositoriesElem.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/RepositoriesElem.java index 54bb469a3..f5306d639 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/RepositoriesElem.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/jcr/model/RepositoriesElem.java @@ -9,9 +9,9 @@ import javax.jcr.RepositoryException; import javax.jcr.RepositoryFactory; import javax.jcr.Session; -import org.argeo.api.NodeUtils; import org.argeo.api.security.Keyring; import org.argeo.cms.ArgeoNames; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.cms.ui.jcr.RepositoryRegister; import org.argeo.eclipse.ui.EclipseUiException; import org.argeo.eclipse.ui.TreeParent; @@ -81,7 +81,7 @@ public class RepositoriesElem extends TreeParent implements ArgeoNames { } protected void addRemoteRepositories(Keyring jcrKeyring) throws RepositoryException { - Node userHome = NodeUtils.getUserHome(userSession); + Node userHome = CmsJcrUtils.getUserHome(userSession); if (userHome != null && userHome.hasNode(ARGEO_REMOTE)) { NodeIterator it = userHome.getNode(ARGEO_REMOTE).getNodes(); while (it.hasNext()) { diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsLink.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsLink.java index 4cad1de60..33772bc8e 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsLink.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/util/CmsLink.java @@ -10,8 +10,8 @@ import javax.jcr.RepositoryException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.api.NodeUtils; import org.argeo.cms.auth.CurrentUser; +import org.argeo.cms.jcr.CmsJcrUtils; import org.argeo.cms.ui.CmsUiProvider; import org.argeo.jcr.JcrException; import org.eclipse.rap.rwt.RWT; @@ -113,7 +113,7 @@ public class CmsLink implements CmsUiProvider { labelText.append("