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

Nicolas Capponi
21.42.2016 a21bc2bedaf1fc0ce94c55529272e3544f754768
OPENDJ-3476 Provide a default CoreConfigManager and add a Directory.getCoreConfigManager() method
2 files modified
88 ■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/server/core/CoreConfigManager.java 16 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java 72 ●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/core/CoreConfigManager.java
@@ -54,7 +54,7 @@
  private final ServerContext serverContext;
  /** The core attributes. */
  private volatile CoreAttributes coreAttributes;
  private volatile CoreAttributes coreAttributes = new CoreAttributes();
  /**
   * Creates a new instance of this core config manager.
@@ -87,11 +87,11 @@
     */
    private boolean allowAttributeNameExceptions;
    /** The policy to use regarding syntax enforcement. */
    private AcceptRejectWarn syntaxEnforcementPolicy;
    private AcceptRejectWarn syntaxEnforcementPolicy = AcceptRejectWarn.REJECT;
    /** The result code that should be used for internal "server" errors. */
    private ResultCode serverErrorResultCode;
    private ResultCode serverErrorResultCode = ResultCode.OTHER;
    /** The policy to use regarding single structural objectclass enforcement. */
    private AcceptRejectWarn singleStructuralClassPolicy;
    private AcceptRejectWarn singleStructuralClassPolicy = AcceptRejectWarn.REJECT;
    /** Indicates whether the server should send a response to operations that have been abandoned. */
    private boolean notifyAbandonedOperations;
    /**
@@ -110,7 +110,7 @@
     */
    private DN proxiedAuthorizationIdentityMapperDN;
    /** The writability mode for the Directory Server. */
    private WritabilityMode writabilityMode;
    private WritabilityMode writabilityMode = WritabilityMode.ENABLED;
    /** Indicates whether the server should reject unauthenticated requests. */
    private boolean rejectUnauthenticatedRequests;
    /** Indicates whether a simple bind request containing a DN must also provide a password. */
@@ -118,12 +118,12 @@
    /** The maximum number of candidates that should be check for matches during a search. */
    private int lookthroughLimit;
    /** The sets of mail server properties. */
    private List<Properties> mailServerPropertySets;
    private List<Properties> mailServerPropertySets = Collections.emptyList();
    /** The set of allowed task classes. */
    private Set<String> allowedTasks;
    private Set<String> allowedTasks = Collections.emptySet();
    /** The set of disabled privileges. */
    private Set<Privilege> disabledPrivileges;
    private Set<Privilege> disabledPrivileges = Collections.emptySet();
    /** Indicates whether bind responses should include failure reason messages. */
    private boolean returnBindErrorMessages;
    /** The idle time limit for the server. */
opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
@@ -34,7 +34,6 @@
import java.lang.management.ManagementFactory;
import java.net.InetAddress;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
@@ -741,7 +740,6 @@
      }
      try
      {
        directoryServer.coreConfigManager = new CoreConfigManager(directoryServer.serverContext);
        directoryServer.coreConfigManager.initializeCoreConfig();
      }
      catch (Exception e)
@@ -1004,6 +1002,7 @@
    operatingSystem = OperatingSystem.forName(System.getProperty("os.name"));
    serverContext = new DirectoryServerContext();
    virtualAttributeConfigManager = new VirtualAttributeConfigManager(serverContext);
    coreConfigManager = new CoreConfigManager(serverContext);
    memoryQuota = new MemoryQuota();
    diskSpaceMonitor = new DiskSpaceMonitor();
  }
@@ -1379,7 +1378,6 @@
      virtualAttributeConfigManager.initializeVirtualAttributes();
      // The core Directory Server configuration.
      coreConfigManager = new CoreConfigManager(serverContext);
      coreConfigManager.initializeCoreConfig();
      initializeCryptoManager();
@@ -1587,7 +1585,7 @@
   */
  public static boolean mailServerConfigured()
  {
    return directoryServer.coreConfigManager != null && directoryServer.coreConfigManager.isMailServerConfigured();
    return getCoreConfigManager().isMailServerConfigured();
  }
  /**
@@ -1599,8 +1597,7 @@
   */
  public static List<Properties> getMailServerPropertySets()
  {
    return directoryServer.coreConfigManager != null ?
        directoryServer.coreConfigManager.getMailServerPropertySets() : new ArrayList<Properties>(0);
    return getCoreConfigManager().getMailServerPropertySets();
  }
  /**
@@ -2509,7 +2506,7 @@
    // Ensure default policy is synchronized.
    synchronized (directoryServer.authenticationPolicies)
    {
      if (directoryServer.coreConfigManager.getDefaultPasswordPolicyDN().equals(configEntryDN))
      if (getCoreConfigManager().getDefaultPasswordPolicyDN().equals(configEntryDN))
      {
        // The correct policy type is enforced by the core config manager.
        directoryServer.defaultPasswordPolicy = (PasswordPolicy) policy;
@@ -2540,7 +2537,7 @@
    // Ensure default policy is synchronized.
    synchronized (directoryServer.authenticationPolicies)
    {
      if (directoryServer.coreConfigManager.getDefaultPasswordPolicyDN().equals(configEntryDN))
      if (getCoreConfigManager().getDefaultPasswordPolicyDN().equals(configEntryDN))
      {
        directoryServer.defaultPasswordPolicy = null;
      }
@@ -2563,10 +2560,7 @@
   */
  public static DN getDefaultPasswordPolicyDN()
  {
    synchronized (directoryServer.authenticationPolicies)
    {
      return directoryServer.coreConfigManager.getDefaultPasswordPolicyDN();
    }
    return getCoreConfigManager().getDefaultPasswordPolicyDN();
  }
  /**
@@ -2594,7 +2588,7 @@
    // Ensure default policy is synchronized.
    synchronized (directoryServer.authenticationPolicies)
    {
      DN defaultPasswordPolicyDN = directoryServer.coreConfigManager.getDefaultPasswordPolicyDN();
      DN defaultPasswordPolicyDN = getCoreConfigManager().getDefaultPasswordPolicyDN();
      assert null != directoryServer.authenticationPolicies
          .get(defaultPasswordPolicyDN) :
            "Internal Error: no default password policy defined.";
@@ -3055,8 +3049,7 @@
   */
  public static ResultCode getServerErrorResultCode()
  {
    return directoryServer.coreConfigManager != null ?
        directoryServer.coreConfigManager.getServerErrorResultCode() : ResultCode.OTHER;
    return getCoreConfigManager().getServerErrorResultCode();
  }
  /**
@@ -3069,7 +3062,7 @@
   */
  public static boolean addMissingRDNAttributes()
  {
    return directoryServer.coreConfigManager.isAddMissingRDNAttributes();
    return getCoreConfigManager().isAddMissingRDNAttributes();
  }
  /**
@@ -3087,8 +3080,7 @@
  @Deprecated
  public static boolean allowAttributeNameExceptions()
  {
    return directoryServer.coreConfigManager != null
        && directoryServer.coreConfigManager.isAllowAttributeNameExceptions();
    return getCoreConfigManager().isAllowAttributeNameExceptions();
  }
  /**
@@ -3099,7 +3091,7 @@
   */
  public static boolean checkSchema()
  {
    return directoryServer.coreConfigManager.isCheckSchema();
    return getCoreConfigManager().isCheckSchema();
  }
  /**
@@ -3111,7 +3103,7 @@
   */
  public static AcceptRejectWarn getSingleStructuralObjectClassPolicy()
  {
    return directoryServer.coreConfigManager.getSingleStructuralObjectClassPolicy();
    return getCoreConfigManager().getSingleStructuralObjectClassPolicy();
  }
  /**
@@ -3123,8 +3115,7 @@
   */
  public static AcceptRejectWarn getSyntaxEnforcementPolicy()
  {
    return directoryServer.coreConfigManager != null ?
        directoryServer.coreConfigManager.getSyntaxEnforcementPolicy() : AcceptRejectWarn.REJECT;
    return getCoreConfigManager().getSyntaxEnforcementPolicy();
  }
  /**
@@ -3140,7 +3131,7 @@
   */
  public static boolean notifyAbandonedOperations()
  {
    return directoryServer.coreConfigManager.isNotifyAbandonedOperations();
    return getCoreConfigManager().isNotifyAbandonedOperations();
  }
  /**
@@ -3552,7 +3543,7 @@
   */
  public static IdentityMapper<?> getProxiedAuthorizationIdentityMapper()
  {
    DN dnMapper = directoryServer.coreConfigManager.getProxiedAuthorizationIdentityMapperDN();
    DN dnMapper = getCoreConfigManager().getProxiedAuthorizationIdentityMapperDN();
    return dnMapper != null ? directoryServer.identityMappers.get(dnMapper) : null;
  }
@@ -3685,7 +3676,7 @@
    ClientConnection clientConnection = operation.getClientConnection();
    //Reject or accept the unauthenticated requests based on the configuration settings.
    if (!clientConnection.getAuthenticationInfo().isAuthenticated() &&
        (directoryServer.coreConfigManager.isRejectUnauthenticatedRequests() ||
        (getCoreConfigManager().isRejectUnauthenticatedRequests() ||
        (directoryServer.lockdownMode && !isAllowedInLockDownMode)))
    {
      switch(operation.getOperationType())
@@ -3852,6 +3843,11 @@
    directoryServer.synchronizationProviders.remove(provider);
  }
  public static CoreConfigManager getCoreConfigManager()
  {
    return directoryServer.coreConfigManager;
  }
  /**
   * Retrieves a set containing the names of the allowed tasks that may be
   * invoked in the server.
@@ -3861,8 +3857,7 @@
   */
  public static Set<String> getAllowedTasks()
  {
    return directoryServer.coreConfigManager != null ?
        directoryServer.coreConfigManager.getAllowedTasks() : new HashSet<String>(0);
    return getCoreConfigManager().getAllowedTasks();
  }
  /**
@@ -3875,8 +3870,7 @@
   */
  public static boolean isDisabled(Privilege privilege)
  {
    return directoryServer.coreConfigManager != null ?
        directoryServer.coreConfigManager.getDisabledPrivileges().contains(privilege) : false;
    return getCoreConfigManager().getDisabledPrivileges().contains(privilege);
  }
  /**
@@ -3888,7 +3882,7 @@
   */
  public static boolean returnBindErrorMessages()
  {
    return directoryServer.coreConfigManager.isReturnBindErrorMessages();
    return getCoreConfigManager().isReturnBindErrorMessages();
  }
  /**
@@ -4603,7 +4597,7 @@
        }
      }
      final long maxAllowed = directoryServer.coreConfigManager.getMaxAllowedConnections();
      final long maxAllowed = getCoreConfigManager().getMaxAllowedConnections();
      if (0 < maxAllowed && maxAllowed <= directoryServer.currentConnections)
      {
        return -1;
@@ -4710,7 +4704,7 @@
   */
  public static int getSizeLimit()
  {
    return directoryServer.coreConfigManager.getSizeLimit();
    return getCoreConfigManager().getSizeLimit();
  }
  /**
@@ -4722,7 +4716,7 @@
   */
  public static int getLookthroughLimit()
  {
    return directoryServer.coreConfigManager.getLookthroughLimit();
    return getCoreConfigManager().getLookthroughLimit();
  }
  /**
@@ -4757,7 +4751,7 @@
  public static boolean allowNewPersistentSearch()
  {
    //-1 indicates that there is no limit.
    int max = directoryServer.coreConfigManager.getMaxPSearches();
    int max = getCoreConfigManager().getMaxPSearches();
    return max == -1 || directoryServer.activePSearches.get() < max;
  }
@@ -4770,7 +4764,7 @@
   */
  public static int getTimeLimit()
  {
    return directoryServer.coreConfigManager.getTimeLimit();
    return getCoreConfigManager().getTimeLimit();
  }
  /**
@@ -4783,7 +4777,7 @@
   */
  public static boolean getUseNanoTime()
  {
    return directoryServer.coreConfigManager.isUseNanoTime();
    return getCoreConfigManager().isUseNanoTime();
  }
  /**
@@ -4794,7 +4788,7 @@
   */
  public static WritabilityMode getWritabilityMode()
  {
    return directoryServer.coreConfigManager.getWritabilityMode();
    return getCoreConfigManager().getWritabilityMode();
  }
  /**
@@ -4807,7 +4801,7 @@
   */
  public static boolean bindWithDNRequiresPassword()
  {
    return directoryServer.coreConfigManager.isBindWithDNRequiresPassword();
    return getCoreConfigManager().isBindWithDNRequiresPassword();
  }
  /**
@@ -5527,7 +5521,7 @@
   */
  public static int getMaxInternalBufferSize()
  {
    return directoryServer.coreConfigManager.getMaxInternalBufferSize();
    return getCoreConfigManager().getMaxInternalBufferSize();
  }
  /**