X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fosgi%2FDeployConfig.java;h=b8fa8a73f49438bc15bbd439c185151f08157fbf;hb=763feb49d5ba4b6275c7ad069df471bbd7047224;hp=c36658e116c9a009bf5e22c041972d6acdff9f5e;hpb=73ff3654ba6d4a8381b9be5594d0d56f214fac58;p=lgpl%2Fargeo-commons.git 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 c36658e11..b8fa8a73f 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 @@ -26,10 +26,10 @@ import org.argeo.api.cms.CmsLog; 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.directory.DirectoryConf; +import org.argeo.util.directory.ldap.AttributesDictionary; +import org.argeo.util.directory.ldap.LdifParser; +import org.argeo.util.directory.ldap.LdifWriter; import org.osgi.framework.InvalidSyntaxException; import org.osgi.service.cm.Configuration; import org.osgi.service.cm.ConfigurationAdmin; @@ -37,15 +37,6 @@ import org.osgi.service.cm.ConfigurationEvent; /** Manages the LDIF-based deployment configuration. */ public class DeployConfig { - private final static LdapName USER_ADMIN_BASE_DN; - static { - try { - USER_ADMIN_BASE_DN = new LdapName( - CmsConstants.OU + "=" + CmsConstants.NODE_USER_ADMIN_PID + "," + CmsConstants.DEPLOY_BASEDN); - } catch (InvalidNameException e) { - throw new IllegalArgumentException(e); - } - } private final CmsLog log = CmsLog.getLog(getClass()); // private final BundleContext bc = FrameworkUtil.getBundle(getClass()).getBundleContext(); @@ -84,12 +75,12 @@ public class DeployConfig { List activeCns = new ArrayList<>(); for (int i = 0; i < userDirectoryConfigs.size(); i++) { Dictionary userDirectoryConfig = userDirectoryConfigs.get(i); - String baseDn = (String) userDirectoryConfig.get(UserAdminConf.baseDn.name()); + String baseDn = (String) userDirectoryConfig.get(DirectoryConf.baseDn.name()); String cn; if (CmsConstants.ROLES_BASEDN.equals(baseDn)) cn = ROLES; else - cn = UserAdminConf.baseDnHash(userDirectoryConfig); + cn = DirectoryConf.baseDnHash(userDirectoryConfig); activeCns.add(cn); userDirectoryConfig.put(CmsConstants.CN, cn); putFactoryDeployConfig(CmsConstants.NODE_USER_ADMIN_PID, userDirectoryConfig); @@ -102,7 +93,7 @@ public class DeployConfig { Attributes attrs = deployConfigs.get(name); String cn = name.getRdn(name.size() - 1).getValue().toString(); if (!activeCns.contains(cn)) { - attrs.put(UserAdminConf.disabled.name(), "true"); + attrs.put(DirectoryConf.disabled.name(), "true"); } // } catch (Exception e) { // throw new CmsException("Cannot disable user directory " + name, e); @@ -215,7 +206,7 @@ public class DeployConfig { // service factory definition } } else { - Attribute disabled = deployConfig.get(UserAdminConf.disabled.name()); + Attribute disabled = deployConfig.get(DirectoryConf.disabled.name()); if (disabled != null) continue deployConfigs; // service factory service @@ -269,6 +260,14 @@ public class DeployConfig { } public Set> getUserDirectoryConfigs() { + // not static because class is not supported by Android + final LdapName USER_ADMIN_BASE_DN; + try { + USER_ADMIN_BASE_DN = new LdapName( + CmsConstants.OU + "=" + CmsConstants.NODE_USER_ADMIN_PID + "," + CmsConstants.DEPLOY_BASEDN); + } catch (InvalidNameException e) { + throw new IllegalArgumentException(e); + } Set> res = new HashSet<>(); for (LdapName dn : deployConfigs.keySet()) { if (dn.endsWith(USER_ADMIN_BASE_DN)) { @@ -379,7 +378,7 @@ public class DeployConfig { boolean hasDomain = false; for (Configuration config : configs) { - Object realm = config.getProperties().get(UserAdminConf.realm.name()); + Object realm = config.getProperties().get(DirectoryConf.realm.name()); if (realm != null) { log.debug("Found realm: " + realm); hasDomain = true;