X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fosgi%2FNodeUserAdmin.java;h=0746d4301d5b324ac61921a56c77d720e342c767;hb=a0a4cc2c5657faec904e2de279efa4a165d59ac8;hp=4eda98c35c6087bb36527a98781f26ab7eb3d2fd;hpb=a8e6930465a0cdeece0a80dacc03a0518dc14dff;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/osgi/NodeUserAdmin.java b/org.argeo.cms/src/org/argeo/cms/internal/osgi/NodeUserAdmin.java index 4eda98c35..0746d4301 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/osgi/NodeUserAdmin.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/osgi/NodeUserAdmin.java @@ -5,9 +5,6 @@ import java.util.HashMap; import java.util.Hashtable; import java.util.Map; -import javax.naming.InvalidNameException; -import javax.naming.ldap.LdapName; - import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.CmsLog; import org.argeo.cms.internal.runtime.CmsUserAdmin; @@ -27,22 +24,17 @@ public class NodeUserAdmin extends CmsUserAdmin implements ManagedServiceFactory private final static CmsLog log = CmsLog.getLog(NodeUserAdmin.class); // OSGi - private Map pidToBaseDn = new HashMap<>(); + private Map pidToBaseDn = new HashMap<>(); @Override public void updated(String pid, Dictionary properties) throws ConfigurationException { - LdapName baseDn; - try { - baseDn = new LdapName((String) properties.get(UserAdminConf.baseDn.name())); - } catch (InvalidNameException e) { - throw new IllegalArgumentException(e); - } + String basePath = (String) properties.get(UserAdminConf.baseDn.name()); // FIXME make updates more robust - if (pidToBaseDn.containsValue(baseDn)) { + if (pidToBaseDn.containsValue(basePath)) { if (log.isDebugEnabled()) - log.debug("Ignoring user directory update of " + baseDn); + log.debug("Ignoring user directory update of " + basePath); return; } @@ -50,14 +42,14 @@ public class NodeUserAdmin extends CmsUserAdmin implements ManagedServiceFactory // OSGi Hashtable regProps = new Hashtable<>(); regProps.put(Constants.SERVICE_PID, pid); - if (isSystemRolesBaseDn(baseDn)) + if (isSystemRolesBaseDn(basePath)) regProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE); - regProps.put(UserAdminConf.baseDn.name(), baseDn); + regProps.put(UserAdminConf.baseDn.name(), basePath); CmsActivator.getBundleContext().registerService(UserDirectory.class, userDirectory, regProps); - pidToBaseDn.put(pid, baseDn); + pidToBaseDn.put(pid, basePath); - if (isSystemRolesBaseDn(baseDn)) { + if (isSystemRolesBaseDn(basePath)) { // publishes itself as user admin only when system roles are available Dictionary userAdminregProps = new Hashtable<>(); userAdminregProps.put(CmsConstants.CN, CmsConstants.DEFAULT); @@ -71,8 +63,8 @@ public class NodeUserAdmin extends CmsUserAdmin implements ManagedServiceFactory // assert pidToServiceRegs.get(pid) != null; assert pidToBaseDn.get(pid) != null; // pidToServiceRegs.remove(pid).unregister(); - LdapName baseDn = pidToBaseDn.remove(pid); - removeUserDirectory(baseDn); + String basePath = pidToBaseDn.remove(pid); + removeUserDirectory(basePath); } @Override