From e018ad9078249a806f2e2ef86a6adcbd8cca3188 Mon Sep 17 00:00:00 2001 From: Mathieu Date: Sat, 12 Nov 2022 08:01:12 +0100 Subject: [PATCH] Clarify implementation base APIs. --- org.argeo.cms/src/org/argeo/cms/CmsUserManager.java | 4 ++-- .../src/org/argeo/cms/{auth => }/RoleNameUtils.java | 2 +- org.argeo.cms/src/org/argeo/cms/{auth => }/SystemRole.java | 2 +- org.argeo.cms/src/org/argeo/cms/auth/CmsRole.java | 1 + org.argeo.cms/src/org/argeo/cms/auth/CurrentUser.java | 1 + .../src/org/argeo/cms/internal/auth/CmsUserManagerImpl.java | 6 +++--- .../src/org/argeo/cms/internal/auth/ImpliedByPrincipal.java | 2 +- 7 files changed, 10 insertions(+), 8 deletions(-) rename org.argeo.cms/src/org/argeo/cms/{auth => }/RoleNameUtils.java (97%) rename org.argeo.cms/src/org/argeo/cms/{auth => }/SystemRole.java (98%) diff --git a/org.argeo.cms/src/org/argeo/cms/CmsUserManager.java b/org.argeo.cms/src/org/argeo/cms/CmsUserManager.java index 2d64d9db0..f87d28b1c 100644 --- a/org.argeo.cms/src/org/argeo/cms/CmsUserManager.java +++ b/org.argeo.cms/src/org/argeo/cms/CmsUserManager.java @@ -6,12 +6,12 @@ import java.util.Map; import java.util.Set; import javax.security.auth.Subject; +import javax.xml.namespace.QName; import org.argeo.api.cms.directory.CmsGroup; import org.argeo.api.cms.directory.CmsUser; import org.argeo.api.cms.directory.HierarchyUnit; import org.argeo.api.cms.directory.UserDirectory; -import org.argeo.cms.auth.SystemRole; import org.osgi.framework.InvalidSyntaxException; import org.osgi.service.useradmin.Role; import org.osgi.service.useradmin.User; @@ -72,7 +72,7 @@ public interface CmsUserManager { CmsGroup getOrCreateGroup(HierarchyUnit groups, String commonName); /** Creates a new system role. */ - CmsGroup getOrCreateSystemRole(HierarchyUnit roles, SystemRole systemRole); + CmsGroup getOrCreateSystemRole(HierarchyUnit roles, QName systemRole); /** Add additional object classes to this role. */ void addObjectClasses(Role role, Set objectClasses, Map additionalProperties); diff --git a/org.argeo.cms/src/org/argeo/cms/auth/RoleNameUtils.java b/org.argeo.cms/src/org/argeo/cms/RoleNameUtils.java similarity index 97% rename from org.argeo.cms/src/org/argeo/cms/auth/RoleNameUtils.java rename to org.argeo.cms/src/org/argeo/cms/RoleNameUtils.java index a281c2f7d..04302c42f 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/RoleNameUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/RoleNameUtils.java @@ -1,4 +1,4 @@ -package org.argeo.cms.auth; +package org.argeo.cms; import static org.argeo.api.acr.RuntimeNamespaceContext.getNamespaceContext; diff --git a/org.argeo.cms/src/org/argeo/cms/auth/SystemRole.java b/org.argeo.cms/src/org/argeo/cms/SystemRole.java similarity index 98% rename from org.argeo.cms/src/org/argeo/cms/auth/SystemRole.java rename to org.argeo.cms/src/org/argeo/cms/SystemRole.java index 646752d41..817bc1ac2 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/SystemRole.java +++ b/org.argeo.cms/src/org/argeo/cms/SystemRole.java @@ -1,4 +1,4 @@ -package org.argeo.cms.auth; +package org.argeo.cms; import java.util.Set; diff --git a/org.argeo.cms/src/org/argeo/cms/auth/CmsRole.java b/org.argeo.cms/src/org/argeo/cms/auth/CmsRole.java index 31068b1a3..4c139135a 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/CmsRole.java +++ b/org.argeo.cms/src/org/argeo/cms/auth/CmsRole.java @@ -4,6 +4,7 @@ import javax.xml.namespace.QName; import org.argeo.api.acr.ArgeoNamespace; import org.argeo.api.acr.ContentName; +import org.argeo.cms.SystemRole; /** Standard CMS system roles. */ public enum CmsRole implements SystemRole { diff --git a/org.argeo.cms/src/org/argeo/cms/auth/CurrentUser.java b/org.argeo.cms/src/org/argeo/cms/auth/CurrentUser.java index f2b4f0a58..41a6a880d 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/CurrentUser.java +++ b/org.argeo.cms/src/org/argeo/cms/auth/CurrentUser.java @@ -17,6 +17,7 @@ import org.argeo.api.acr.NamespaceUtils; import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.CmsSession; import org.argeo.api.cms.CmsSessionId; +import org.argeo.cms.SystemRole; import org.argeo.cms.internal.auth.CmsSessionImpl; import org.argeo.cms.internal.auth.ImpliedByPrincipal; import org.argeo.cms.internal.runtime.CmsContextImpl; diff --git a/org.argeo.cms/src/org/argeo/cms/internal/auth/CmsUserManagerImpl.java b/org.argeo.cms/src/org/argeo/cms/internal/auth/CmsUserManagerImpl.java index b5ee9b306..94262a521 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/auth/CmsUserManagerImpl.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/auth/CmsUserManagerImpl.java @@ -23,6 +23,7 @@ import java.util.UUID; import javax.naming.InvalidNameException; import javax.naming.ldap.LdapName; import javax.security.auth.Subject; +import javax.xml.namespace.QName; import org.argeo.api.acr.NamespaceUtils; import org.argeo.api.acr.ldap.LdapAttrs; @@ -36,7 +37,6 @@ import org.argeo.api.cms.directory.UserDirectory; import org.argeo.api.cms.transaction.WorkTransaction; import org.argeo.cms.CmsUserManager; import org.argeo.cms.auth.CurrentUser; -import org.argeo.cms.auth.SystemRole; import org.argeo.cms.auth.UserAdminUtils; import org.argeo.cms.directory.ldap.LdapEntry; import org.argeo.cms.directory.ldap.SharedSecret; @@ -285,9 +285,9 @@ public class CmsUserManagerImpl implements CmsUserManager { } @Override - public CmsGroup getOrCreateSystemRole(HierarchyUnit roles, SystemRole systemRole) { + public CmsGroup getOrCreateSystemRole(HierarchyUnit roles, QName systemRole) { try { - String dn = LdapAttrs.cn.name() + "=" + NamespaceUtils.toPrefixedName(systemRole.getName()) + "," + String dn = LdapAttrs.cn.name() + "=" + NamespaceUtils.toPrefixedName(systemRole) + "," + roles.getBase(); CmsGroup group = (CmsGroup) getUserAdmin().getRole(dn); if (group != null) diff --git a/org.argeo.cms/src/org/argeo/cms/internal/auth/ImpliedByPrincipal.java b/org.argeo.cms/src/org/argeo/cms/internal/auth/ImpliedByPrincipal.java index 15c47293e..9e0ebce97 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/auth/ImpliedByPrincipal.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/auth/ImpliedByPrincipal.java @@ -6,7 +6,7 @@ import java.util.Set; import javax.xml.namespace.QName; -import org.argeo.cms.auth.RoleNameUtils; +import org.argeo.cms.RoleNameUtils; import org.osgi.service.useradmin.Authorization; /** -- 2.30.2