From f520af45449b203a879392e8a0aeda6703abadfa Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 22 Jun 2022 06:27:01 +0200 Subject: [PATCH] Refactor naming packages --- .../src/org/argeo/cms/acr/ContentUtils.java | 12 ++++++++++++ .../org/argeo/cms/internal/osgi/DeployConfig.java | 6 +++--- .../org/argeo/cms/internal/runtime/CmsUserAdmin.java | 2 +- .../src/org/argeo/osgi/useradmin/IpaUtils.java | 2 +- .../src/org/argeo/osgi/useradmin/LdifUser.java | 2 +- .../src/org/argeo/osgi/useradmin/LdifUserAdmin.java | 4 ++-- .../src/org/argeo/util/naming/SharedSecret.java | 2 ++ .../org/argeo/util/naming/{ => dns}/DnsBrowser.java | 2 +- .../org/argeo/util/naming/{ => dns}/SrvRecord.java | 2 +- .../util/naming/{ => ldap}/AttributesDictionary.java | 2 +- .../argeo/util/naming/{ => ldap}/AuthPassword.java | 4 +++- .../org/argeo/util/naming/{ => ldap}/LdifParser.java | 4 +++- .../org/argeo/util/naming/{ => ldap}/LdifWriter.java | 2 +- .../src/org/argeo/cms/web/AbstractCmsEntryPoint.java | 2 +- 14 files changed, 33 insertions(+), 15 deletions(-) rename org.argeo.util/src/org/argeo/util/naming/{ => dns}/DnsBrowser.java (99%) rename org.argeo.util/src/org/argeo/util/naming/{ => dns}/SrvRecord.java (97%) rename org.argeo.util/src/org/argeo/util/naming/{ => ldap}/AttributesDictionary.java (99%) rename org.argeo.util/src/org/argeo/util/naming/{ => ldap}/AuthPassword.java (98%) rename org.argeo.util/src/org/argeo/util/naming/{ => ldap}/LdifParser.java (98%) rename org.argeo.util/src/org/argeo/util/naming/{ => ldap}/LdifWriter.java (99%) diff --git a/org.argeo.cms/src/org/argeo/cms/acr/ContentUtils.java b/org.argeo.cms/src/org/argeo/cms/acr/ContentUtils.java index eeec4fcfc..5ea79662a 100644 --- a/org.argeo.cms/src/org/argeo/cms/acr/ContentUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/acr/ContentUtils.java @@ -9,6 +9,10 @@ import java.util.function.BiConsumer; import javax.xml.namespace.QName; import org.argeo.api.acr.Content; +import org.argeo.api.acr.ContentSession; +import org.argeo.cms.CmsUserManager; +import org.argeo.osgi.useradmin.UserDirectory; +import org.osgi.service.useradmin.Role; /** Utilities and routines around {@link Content}. */ public class ContentUtils { @@ -114,4 +118,12 @@ public class ContentUtils { } + public static Content roleToContent(CmsUserManager userManager, ContentSession contentSession, Role role) { + UserDirectory userDirectory = userManager.getDirectory(role); + String path = CmsContentRepository.DIRECTORY_BASE + SLASH + userDirectory.getName() + SLASH + + userDirectory.getRolePath(role); + Content content = contentSession.get(path); + return content; + } + } diff --git a/org.argeo.cms/src/org/argeo/cms/internal/osgi/DeployConfig.java b/org.argeo.cms/src/org/argeo/cms/internal/osgi/DeployConfig.java index e45b9508d..71c349327 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/osgi/DeployConfig.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/osgi/DeployConfig.java @@ -27,9 +27,9 @@ import org.argeo.cms.internal.runtime.InitUtils; import org.argeo.cms.internal.runtime.KernelConstants; import org.argeo.cms.internal.runtime.KernelUtils; import org.argeo.osgi.useradmin.UserAdminConf; -import org.argeo.util.naming.AttributesDictionary; -import org.argeo.util.naming.LdifParser; -import org.argeo.util.naming.LdifWriter; +import org.argeo.util.naming.ldap.AttributesDictionary; +import org.argeo.util.naming.ldap.LdifParser; +import org.argeo.util.naming.ldap.LdifWriter; import org.osgi.framework.InvalidSyntaxException; import org.osgi.service.cm.Configuration; import org.osgi.service.cm.ConfigurationAdmin; diff --git a/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java b/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java index 890e28391..10cb98dd3 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserAdmin.java @@ -41,7 +41,7 @@ import org.argeo.osgi.useradmin.LdifUserAdmin; import org.argeo.osgi.useradmin.OsUserDirectory; import org.argeo.osgi.useradmin.UserAdminConf; import org.argeo.osgi.useradmin.UserDirectory; -import org.argeo.util.naming.DnsBrowser; +import org.argeo.util.naming.dns.DnsBrowser; import org.ietf.jgss.GSSCredential; import org.ietf.jgss.GSSException; import org.ietf.jgss.GSSManager; diff --git a/org.argeo.util/src/org/argeo/osgi/useradmin/IpaUtils.java b/org.argeo.util/src/org/argeo/osgi/useradmin/IpaUtils.java index 780215a9c..e1c8136f5 100644 --- a/org.argeo.util/src/org/argeo/osgi/useradmin/IpaUtils.java +++ b/org.argeo.util/src/org/argeo/osgi/useradmin/IpaUtils.java @@ -13,8 +13,8 @@ import javax.naming.InvalidNameException; import javax.naming.NamingException; import javax.naming.ldap.LdapName; -import org.argeo.util.naming.DnsBrowser; import org.argeo.util.naming.LdapAttrs; +import org.argeo.util.naming.dns.DnsBrowser; /** Free IPA specific conventions. */ public class IpaUtils { diff --git a/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java b/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java index db83b81e4..a20ad85c1 100644 --- a/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java +++ b/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUser.java @@ -21,10 +21,10 @@ import javax.naming.directory.Attributes; import javax.naming.directory.BasicAttribute; import javax.naming.ldap.LdapName; -import org.argeo.util.naming.AuthPassword; import org.argeo.util.naming.LdapAttrs; import org.argeo.util.naming.LdapObjs; import org.argeo.util.naming.SharedSecret; +import org.argeo.util.naming.ldap.AuthPassword; /** Directory user implementation */ abstract class LdifUser implements DirectoryUser { diff --git a/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUserAdmin.java b/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUserAdmin.java index ef487594c..bf455949d 100644 --- a/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUserAdmin.java +++ b/org.argeo.util/src/org/argeo/osgi/useradmin/LdifUserAdmin.java @@ -29,8 +29,8 @@ import javax.naming.directory.Attributes; import javax.naming.ldap.LdapName; import org.argeo.util.naming.LdapObjs; -import org.argeo.util.naming.LdifParser; -import org.argeo.util.naming.LdifWriter; +import org.argeo.util.naming.ldap.LdifParser; +import org.argeo.util.naming.ldap.LdifWriter; import org.osgi.framework.Filter; import org.osgi.service.useradmin.Role; import org.osgi.service.useradmin.User; diff --git a/org.argeo.util/src/org/argeo/util/naming/SharedSecret.java b/org.argeo.util/src/org/argeo/util/naming/SharedSecret.java index 7f0575407..e38bc2f29 100644 --- a/org.argeo.util/src/org/argeo/util/naming/SharedSecret.java +++ b/org.argeo.util/src/org/argeo/util/naming/SharedSecret.java @@ -4,6 +4,8 @@ import java.time.Instant; import java.time.ZoneOffset; import java.time.ZonedDateTime; +import org.argeo.util.naming.ldap.AuthPassword; + public class SharedSecret extends AuthPassword { public final static String X_SHARED_SECRET = "X-SharedSecret"; private final Instant expiry; diff --git a/org.argeo.util/src/org/argeo/util/naming/DnsBrowser.java b/org.argeo.util/src/org/argeo/util/naming/dns/DnsBrowser.java similarity index 99% rename from org.argeo.util/src/org/argeo/util/naming/DnsBrowser.java rename to org.argeo.util/src/org/argeo/util/naming/dns/DnsBrowser.java index 1a67eea36..4bd05268c 100644 --- a/org.argeo.util/src/org/argeo/util/naming/DnsBrowser.java +++ b/org.argeo.util/src/org/argeo/util/naming/dns/DnsBrowser.java @@ -1,4 +1,4 @@ -package org.argeo.util.naming; +package org.argeo.util.naming.dns; import java.io.Closeable; import java.io.IOException; diff --git a/org.argeo.util/src/org/argeo/util/naming/SrvRecord.java b/org.argeo.util/src/org/argeo/util/naming/dns/SrvRecord.java similarity index 97% rename from org.argeo.util/src/org/argeo/util/naming/SrvRecord.java rename to org.argeo.util/src/org/argeo/util/naming/dns/SrvRecord.java index f2476a930..ea6f3cc96 100644 --- a/org.argeo.util/src/org/argeo/util/naming/SrvRecord.java +++ b/org.argeo.util/src/org/argeo/util/naming/dns/SrvRecord.java @@ -1,4 +1,4 @@ -package org.argeo.util.naming; +package org.argeo.util.naming.dns; class SrvRecord implements Comparable { private final Integer priority; diff --git a/org.argeo.util/src/org/argeo/util/naming/AttributesDictionary.java b/org.argeo.util/src/org/argeo/util/naming/ldap/AttributesDictionary.java similarity index 99% rename from org.argeo.util/src/org/argeo/util/naming/AttributesDictionary.java rename to org.argeo.util/src/org/argeo/util/naming/ldap/AttributesDictionary.java index 7c645f3a3..0bbeb03fe 100644 --- a/org.argeo.util/src/org/argeo/util/naming/AttributesDictionary.java +++ b/org.argeo.util/src/org/argeo/util/naming/ldap/AttributesDictionary.java @@ -1,4 +1,4 @@ -package org.argeo.util.naming; +package org.argeo.util.naming.ldap; import java.util.Dictionary; import java.util.Enumeration; diff --git a/org.argeo.util/src/org/argeo/util/naming/AuthPassword.java b/org.argeo.util/src/org/argeo/util/naming/ldap/AuthPassword.java similarity index 98% rename from org.argeo.util/src/org/argeo/util/naming/AuthPassword.java rename to org.argeo.util/src/org/argeo/util/naming/ldap/AuthPassword.java index d8792729f..b11684020 100644 --- a/org.argeo.util/src/org/argeo/util/naming/AuthPassword.java +++ b/org.argeo.util/src/org/argeo/util/naming/ldap/AuthPassword.java @@ -1,4 +1,4 @@ -package org.argeo.util.naming; +package org.argeo.util.naming.ldap; import java.io.IOException; import java.util.Arrays; @@ -14,6 +14,8 @@ import javax.security.auth.callback.NameCallback; import javax.security.auth.callback.PasswordCallback; import javax.security.auth.callback.UnsupportedCallbackException; +import org.argeo.util.naming.LdapAttrs; + /** LDAP authPassword field according to RFC 3112 */ public class AuthPassword implements CallbackHandler { private final String authScheme; diff --git a/org.argeo.util/src/org/argeo/util/naming/LdifParser.java b/org.argeo.util/src/org/argeo/util/naming/ldap/LdifParser.java similarity index 98% rename from org.argeo.util/src/org/argeo/util/naming/LdifParser.java rename to org.argeo.util/src/org/argeo/util/naming/ldap/LdifParser.java index 69ceb129c..3c4ae0a85 100644 --- a/org.argeo.util/src/org/argeo/util/naming/LdifParser.java +++ b/org.argeo.util/src/org/argeo/util/naming/ldap/LdifParser.java @@ -1,4 +1,4 @@ -package org.argeo.util.naming; +package org.argeo.util.naming.ldap; import java.io.BufferedReader; import java.io.IOException; @@ -22,6 +22,8 @@ import javax.naming.directory.BasicAttributes; import javax.naming.ldap.LdapName; import javax.naming.ldap.Rdn; +import org.argeo.util.naming.LdapAttrs; + /** Basic LDIF parser. */ public class LdifParser { private final static Charset DEFAULT_CHARSET = StandardCharsets.UTF_8; diff --git a/org.argeo.util/src/org/argeo/util/naming/LdifWriter.java b/org.argeo.util/src/org/argeo/util/naming/ldap/LdifWriter.java similarity index 99% rename from org.argeo.util/src/org/argeo/util/naming/LdifWriter.java rename to org.argeo.util/src/org/argeo/util/naming/ldap/LdifWriter.java index 496e53b1b..3e25dcfcb 100644 --- a/org.argeo.util/src/org/argeo/util/naming/LdifWriter.java +++ b/org.argeo.util/src/org/argeo/util/naming/ldap/LdifWriter.java @@ -1,4 +1,4 @@ -package org.argeo.util.naming; +package org.argeo.util.naming.ldap; import static org.argeo.util.naming.LdapAttrs.DN; import static org.argeo.util.naming.LdapAttrs.member; diff --git a/rap/org.argeo.cms.ui.rap/src/org/argeo/cms/web/AbstractCmsEntryPoint.java b/rap/org.argeo.cms.ui.rap/src/org/argeo/cms/web/AbstractCmsEntryPoint.java index 947a4d11a..36ed3da7a 100644 --- a/rap/org.argeo.cms.ui.rap/src/org/argeo/cms/web/AbstractCmsEntryPoint.java +++ b/rap/org.argeo.cms.ui.rap/src/org/argeo/cms/web/AbstractCmsEntryPoint.java @@ -34,8 +34,8 @@ import org.argeo.cms.swt.CmsStyles; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.eclipse.ui.specific.UiContext; import org.argeo.jcr.JcrUtils; -import org.argeo.util.naming.AuthPassword; import org.argeo.util.naming.SharedSecret; +import org.argeo.util.naming.ldap.AuthPassword; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.application.AbstractEntryPoint; import org.eclipse.rap.rwt.client.WebClient; -- 2.30.2