mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

abobrov
20.16.2009 d660328ffe2ad59ccf30b281ec02b3cf718f1c76
- [Issue 3827] unable to enable NDB backend dynamically with dsconfig : make sure root virtual attributes are initialized before backends initialization takes places; fix virtual attributes stripping.
2 files modified
14 ■■■■ changed files
opends/src/server/org/opends/server/backends/ndb/BackendImpl.java 6 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/core/DirectoryServer.java 8 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/backends/ndb/BackendImpl.java
@@ -64,6 +64,7 @@
import org.opends.server.admin.Configuration;
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.meta.GlobalCfgDefn.WorkflowConfigurationMode;
import org.opends.server.admin.std.meta.VirtualAttributeCfgDefn;
import org.opends.server.admin.std.server.NdbBackendCfg;
import org.opends.server.admin.std.server.NdbIndexCfg;
import org.opends.server.backends.SchemaBackend;
@@ -581,15 +582,20 @@
        operationalAttributes.add(attrName);
      }
    }
    // Strip virtual attributes.
    for (VirtualAttributeRule rule :
      DirectoryServer.getVirtualAttributes())
    {
      if (rule.getConflictBehavior() ==
        VirtualAttributeCfgDefn.ConflictBehavior.VIRTUAL_OVERRIDES_REAL)
      {
      String attrName = rule.getAttributeType().getNameOrOID();
      if (operationalAttributes.contains(attrName)) {
        operationalAttributes.remove(attrName);
      }
    }
    }
    // Initialize objectClass tables.
    // TODO: dynamic schema validation and adjustement.
opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -1340,6 +1340,10 @@
      initializeSchema();
      // Initialize all the virtual attribute handlers.
      initializeVirtualAttributes();
      // Initialize the core Directory Server configuration.
      coreConfigManager = new CoreConfigManager();
      coreConfigManager.initializeCoreConfig();
@@ -1452,10 +1456,6 @@
      initializeSASLMechanisms();
      // Initialize all the virtual attribute handlers.
      initializeVirtualAttributes();
      // Initialize all the connection handlers
      // (including the administration connector).
      if (startConnectionHandlers)