X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fosgi%2FNodeUserAdmin.java;h=626a057c08fc82b287b91648b1321634172b9856;hb=a929fb8039cfec511d9bdce55255e709c5af1fd4;hp=d9524e89752cc88da682c8809977386c2b87f321;hpb=f4da6777015da3fc392138f0c01cea2f2add9ed3;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 d9524e897..626a057c0 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 @@ -111,10 +111,10 @@ public class NodeUserAdmin extends AggregatingUserAdmin implements ManagedServic // } } - public void init() { + public void start() { } - public void destroy() { + public void stop() { } @Override @@ -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 regProps = new Hashtable<>(); regProps.put(Constants.SERVICE_PID, pid); if (isSystemRolesBaseDn(baseDn))