- pidToServiceRegs.put(pid, reg);
-
- if (log.isDebugEnabled())
- log.debug("User directory " + userDirectory.getBaseDn() + " [" + u.getScheme() + "] enabled."
- + (realm != null ? " " + realm + " realm." : ""));
-
- // if (isSystemRolesBaseDn(baseDn)) {
- if (userAdminReg != null)
- userAdminReg.unregister();
- // register self as main user admin
- Dictionary<String, Object> userAdminregProps = currentState();
- userAdminregProps.put(NodeConstants.CN, NodeConstants.DEFAULT);
- userAdminregProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE);
- userAdminReg = bc.registerService(UserAdmin.class, this, userAdminregProps);
- // }
+ // pidToServiceRegs.put(pid, reg);
+
+ if (log.isDebugEnabled()) {
+ log.debug("User directory " + userDirectory.getBaseDn() + (u != null ? " [" + u.getScheme() + "]" : "")
+ + " enabled." + (realm != null ? " " + realm + " realm." : ""));
+ }
+
+ if (isSystemRolesBaseDn(baseDn)) {
+ // publishes only when system roles are available
+ Dictionary<String, Object> userAdminregProps = new Hashtable<>();
+ userAdminregProps.put(CmsConstants.CN, CmsConstants.DEFAULT);
+ userAdminregProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE);
+ Activator.registerService(UserAdmin.class, this, userAdminregProps);
+ }
+
+// if (isSystemRolesBaseDn(baseDn))
+// systemRolesAvailable = true;
+//
+// // start publishing only when system roles are available
+// if (systemRolesAvailable) {
+// // The list of baseDns is published as properties
+// // TODO clients should rather reference USerDirectory services
+// if (userAdminReg != null)
+// userAdminReg.unregister();
+// // register self as main user admin
+// Dictionary<String, Object> userAdminregProps = currentState();
+// userAdminregProps.put(NodeConstants.CN, NodeConstants.DEFAULT);
+// userAdminregProps.put(Constants.SERVICE_RANKING, Integer.MAX_VALUE);
+// userAdminReg = bc.registerService(UserAdmin.class, this, userAdminregProps);
+// }