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;
/** 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();
List<String> activeCns = new ArrayList<>();
for (int i = 0; i < userDirectoryConfigs.size(); i++) {
Dictionary<String, Object> 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);
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);
// 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
}
public Set<Dictionary<String, Object>> 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<Dictionary<String, Object>> res = new HashSet<>();
for (LdapName dn : deployConfigs.keySet()) {
if (dn.endsWith(USER_ADMIN_BASE_DN)) {
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;