Stabilise OSGi logging and service factories
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / osgi / NodeUserAdmin.java
index 3850010e99544dd94c77e641da774fa5b678ad67..626a057c08fc82b287b91648b1321634172b9856 100644 (file)
@@ -148,10 +148,18 @@ public class NodeUserAdmin extends AggregatingUserAdmin implements ManagedServic
                } else {
                        throw new IllegalArgumentException("Unsupported scheme " + u.getScheme());
                }
+               LdapName baseDn = userDirectory.getBaseDn();
+
+               // FIXME make updates more robust
+               if (pidToBaseDn.containsValue(baseDn)) {
+                       if (log.isDebugEnabled())
+                               log.debug("Ignoring user directory update of " + baseDn);
+                       return;
+               }
+
                addUserDirectory(userDirectory);
 
                // OSGi
-               LdapName baseDn = userDirectory.getBaseDn();
                Hashtable<String, Object> regProps = new Hashtable<>();
                regProps.put(Constants.SERVICE_PID, pid);
                if (isSystemRolesBaseDn(baseDn))