From 137290df09ccfb49fcdfc72b611aa8d32182342c Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 16 Sep 2015 11:14:21 +0000 Subject: [PATCH] Improve properties Reduce visibility of some classes. git-svn-id: https://svn.argeo.org/commons/trunk@8411 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../argeo/cms/internal/kernel/NodeUserAdmin.java | 10 +++++----- .../osgi/useradmin/AbstractUserDirectory.java | 10 +++++----- .../org/argeo/osgi/useradmin/DirectoryGroup.java | 2 +- .../argeo/osgi/useradmin/LdifAuthorization.java | 2 +- .../src/org/argeo/osgi/useradmin/LdifGroup.java | 2 +- .../src/org/argeo/osgi/useradmin/LdifName.java | 7 +++---- .../org/argeo/osgi/useradmin/LdifUserAdmin.java | 4 ++-- .../src/org/argeo/osgi/useradmin/LdifWriter.java | 2 +- .../{UserAdminProps.java => UserAdminConf.java} | 14 +++++++++----- 9 files changed, 28 insertions(+), 25 deletions(-) rename org.argeo.security.core/src/org/argeo/osgi/useradmin/{UserAdminProps.java => UserAdminConf.java} (94%) diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java index d19324f25..416ecef6b 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeUserAdmin.java @@ -24,7 +24,7 @@ import org.apache.commons.logging.LogFactory; import org.argeo.cms.CmsException; import org.argeo.cms.KernelHeader; import org.argeo.osgi.useradmin.UserDirectory; -import org.argeo.osgi.useradmin.UserAdminProps; +import org.argeo.osgi.useradmin.UserAdminConf; import org.argeo.osgi.useradmin.LdapUserAdmin; import org.argeo.osgi.useradmin.LdifUserAdmin; import org.argeo.osgi.useradmin.UserDirectoryException; @@ -89,7 +89,7 @@ public class NodeUserAdmin implements UserAdmin { throw new CmsException( "Cannot interpret " + uri + " as an uri", e); } - Dictionary properties = UserAdminProps.uriAsProperties(u + Dictionary properties = UserAdminConf.uriAsProperties(u .toString()); UserDirectory businessRoles; if (u.getScheme().startsWith("ldap")) { @@ -120,9 +120,9 @@ public class NodeUserAdmin implements UserAdmin { nodeRolesUri = nodeRolesFile.toURI().toString(); } - Dictionary nodeRolesProperties = UserAdminProps + Dictionary nodeRolesProperties = UserAdminConf .uriAsProperties(nodeRolesUri); - if (!nodeRolesProperties.get(UserAdminProps.baseDn.property()) + if (!nodeRolesProperties.get(UserAdminConf.baseDn.property()) .equals(baseNodeRoleDn)) { throw new CmsException("Invalid base dn for node roles"); // TODO deal with "mounted" roles with a different baseDN @@ -147,7 +147,7 @@ public class NodeUserAdmin implements UserAdmin { if (userAdmins.get(name) instanceof UserDirectory) { UserDirectory userDirectory = (UserDirectory) userAdmins .get(name); - String uri = UserAdminProps.propertiesAsUri( + String uri = UserAdminConf.propertiesAsUri( userDirectory.getProperties()).toString(); res.put(uri, ""); } else { diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/AbstractUserDirectory.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/AbstractUserDirectory.java index 18cb5ece2..1d2e72759 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/AbstractUserDirectory.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/AbstractUserDirectory.java @@ -72,7 +72,7 @@ abstract class AbstractUserDirectory implements UserAdmin, UserDirectory { // TODO make a copy? this.properties = properties; - String uriStr = UserAdminProps.uri.getValue(properties); + String uriStr = UserAdminConf.uri.getValue(properties); if (uriStr == null) uri = null; else @@ -82,16 +82,16 @@ abstract class AbstractUserDirectory implements UserAdmin, UserDirectory { throw new UserDirectoryException("Badly formatted URI", e); } - baseDn = UserAdminProps.baseDn.getValue(properties).toString(); - String isReadOnly = UserAdminProps.readOnly.getValue(properties); + baseDn = UserAdminConf.baseDn.getValue(properties).toString(); + String isReadOnly = UserAdminConf.readOnly.getValue(properties); if (isReadOnly == null) this.isReadOnly = readOnlyDefault(uri); else this.isReadOnly = new Boolean(isReadOnly); - this.userObjectClass = UserAdminProps.userObjectClass + this.userObjectClass = UserAdminConf.userObjectClass .getValue(properties); - this.groupObjectClass = UserAdminProps.groupObjectClass + this.groupObjectClass = UserAdminConf.groupObjectClass .getValue(properties); } diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/DirectoryGroup.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/DirectoryGroup.java index bb64c26e1..9653948ac 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/DirectoryGroup.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/DirectoryGroup.java @@ -6,6 +6,6 @@ import javax.naming.ldap.LdapName; import org.osgi.service.useradmin.Group; -public interface DirectoryGroup extends Group, DirectoryUser { +interface DirectoryGroup extends Group, DirectoryUser { List getMemberNames(); } diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifAuthorization.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifAuthorization.java index 147001b0a..db549e30e 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifAuthorization.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifAuthorization.java @@ -9,7 +9,7 @@ import org.osgi.service.useradmin.Authorization; import org.osgi.service.useradmin.Role; import org.osgi.service.useradmin.User; -public class LdifAuthorization implements Authorization { +class LdifAuthorization implements Authorization { private final String name; private final String displayName; private final List allRoles; diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java index cf65784e0..1f7bf3760 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifGroup.java @@ -10,7 +10,7 @@ import javax.naming.ldap.LdapName; import org.osgi.service.useradmin.Role; -public class LdifGroup extends LdifUser implements DirectoryGroup { +class LdifGroup extends LdifUser implements DirectoryGroup { private final String memberAttributeId; public LdifGroup(AbstractUserDirectory userAdmin, LdapName dn, diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifName.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifName.java index 0534267b3..38f3eaca3 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifName.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifName.java @@ -13,14 +13,13 @@ public enum LdifName { // Object classes inetOrgPerson, organizationalPerson, person, groupOfNames, top; - public final static String LDAP_PREFIX = "ldap:"; + public final static String PREFIX = "ldap:"; public String property() { - return LDAP_PREFIX + name(); + return PREFIX + name(); } public static LdifName local(String property) { - String local = property.substring(LDAP_PREFIX.length()); - return LdifName.valueOf(local); + return LdifName.valueOf(property.substring(PREFIX.length())); } } diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUserAdmin.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUserAdmin.java index fa4526ac6..ee7128a45 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUserAdmin.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUserAdmin.java @@ -48,8 +48,8 @@ public class LdifUserAdmin extends AbstractUserDirectory { private static Dictionary fromUri(String uri, String baseDn) { Hashtable res = new Hashtable(); - res.put(UserAdminProps.uri.property(), uri); - res.put(UserAdminProps.baseDn.property(), baseDn); + res.put(UserAdminConf.uri.property(), uri); + res.put(UserAdminConf.baseDn.property(), baseDn); return res; } diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifWriter.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifWriter.java index 7aad5c488..001d78d8b 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifWriter.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifWriter.java @@ -14,7 +14,7 @@ import javax.naming.ldap.LdapName; import org.apache.commons.codec.binary.Base64; /** Basic LDIF writer */ -public class LdifWriter { +class LdifWriter { private final Writer writer; public LdifWriter(OutputStream out) { diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/UserAdminProps.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/UserAdminConf.java similarity index 94% rename from org.argeo.security.core/src/org/argeo/osgi/useradmin/UserAdminProps.java rename to org.argeo.security.core/src/org/argeo/osgi/useradmin/UserAdminConf.java index 0fe556ce0..e7d0e0d51 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/UserAdminProps.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/UserAdminConf.java @@ -14,7 +14,7 @@ import java.util.Map; import javax.naming.Context; -public enum UserAdminProps { +public enum UserAdminConf { /** Base DN */ baseDn("dc=example,dc=com"), @@ -36,12 +36,12 @@ public enum UserAdminProps { /** Read-only source */ readOnly(null); - private static String PREFIX = "argeo.useradmin"; + public final static String PREFIX = "argeo.useradmin"; /** The default value. */ private Object def; - UserAdminProps(Object def) { + UserAdminConf(Object def) { this.def = def; } @@ -72,6 +72,10 @@ public enum UserAdminProps { return (T) res; } + public static UserAdminConf local(String property) { + return UserAdminConf.valueOf(property.substring(PREFIX.length())); + } + /** Hides host and credentials. */ public static URI propertiesAsUri(Dictionary properties) { StringBuilder query = new StringBuilder(); @@ -86,7 +90,7 @@ public enum UserAdminProps { first = false; else query.append('&'); - query.append(key.substring(PREFIX.length())); + query.append(local(key).name()); query.append('=').append(properties.get(key).toString()); } } @@ -126,7 +130,7 @@ public enum UserAdminProps { + scheme); Map> query = splitQuery(u.getQuery()); for (String key : query.keySet()) { - UserAdminProps ldapProp = UserAdminProps.valueOf(key); + UserAdminConf ldapProp = UserAdminConf.valueOf(key); List values = query.get(key); if (values.size() == 1) { res.put(ldapProp.property(), values.get(0)); -- 2.30.2