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

Nicolas Capponi
07.29.2014 4d91c7d24efdbb46482cff5bc90561ada2f6d438
Checkpoint commit for OPENDJ-1308 Migrate schema support

Pass server context in constructor of managers (should be the last step).

The server context will be needed to retrieve the configuration
when using new configuration framework.
2 files modified
89 ■■■■■ changed files
opendj3-server-dev/src/server/org/opends/server/core/DirectoryServer.java 79 ●●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/core/WorkQueueConfigManager.java 10 ●●●● patch | view | raw | blame | history
opendj3-server-dev/src/server/org/opends/server/core/DirectoryServer.java
@@ -1637,26 +1637,20 @@
        synchronizationProviderConfigManager.initializeSynchronizationProviders();
      }
      workQueue = new WorkQueueConfigManager().initializeWorkQueue();
      workQueue = new WorkQueueConfigManager(serverContext).initializeWorkQueue();
      // Invoke the startup plugins.
      PluginResult.Startup startupPluginResult =
           pluginConfigManager.invokeStartupPlugins();
      PluginResult.Startup startupPluginResult = pluginConfigManager.invokeStartupPlugins();
      if (! startupPluginResult.continueProcessing())
      {
        LocalizableMessage message = ERR_STARTUP_PLUGIN_ERROR.
            get(startupPluginResult.getErrorMessage(),
                startupPluginResult.getErrorMessage().ordinal());
        throw new InitializationException(message);
        throw new InitializationException(ERR_STARTUP_PLUGIN_ERROR.get(startupPluginResult.getErrorMessage(),
                startupPluginResult.getErrorMessage().ordinal()));
      }
     // Notify all the initialization completed listeners.
      for (InitializationCompletedListener initializationCompletedListener :
        directoryServer.initializationCompletedListeners)
      for (InitializationCompletedListener listener : initializationCompletedListeners)
      {
        try
        {
          initializationCompletedListener.initializationCompleted();
          listener.initializationCompleted();
        }
        catch (Exception e)
        {
@@ -1664,7 +1658,6 @@
        }
      }
      // Start administration connector and connection handlers
      if (startConnectionHandlers)
      {
        startConnectionHandlers();
@@ -1672,18 +1665,15 @@
      }
      // Create an object to synchronize ADS with the crypto manager.
      // Synchronization of ADS with the crypto manager.
      new CryptoManagerSync();
      // If we should write a copy of the config on successful startup, then do
      // so now.
      // Write a copy of the config if needed.
      if (saveConfigOnSuccessfulStartup)
      {
        configHandler.writeSuccessfulStartupConfig();
      }
      // Indicate that the server is now running.
      isRunning = true;
      LocalizableMessage message = NOTE_DIRECTORY_SERVER_STARTED.get();
@@ -1691,37 +1681,34 @@
      sendAlertNotification(this, ALERT_TYPE_SERVER_STARTED, message);
      // Force the root connection to be initialized.
      InternalClientConnection rootConnection =
        InternalClientConnection.getRootConnection();
      InternalClientConnection rootConnection = InternalClientConnection.getRootConnection();
      // Determine whether or not we should synchronized admin data.
      if (! environmentConfig.disableAdminDataSynchronization())
      {
        AdministrationDataSync admDataSync = new AdministrationDataSync(
            rootConnection);
        AdministrationDataSync admDataSync = new AdministrationDataSync(rootConnection);
        admDataSync.synchronize();
      }
      // If a server.starting file exists, then remove it.
      File serverStartingFile =
                new File(configHandler.getInstanceRoot() + File.separator +
                         "logs" + File.separator + "server.starting");
      if (serverStartingFile.exists())
      {
        serverStartingFile.delete();
      }
      // If a host name file exists, then remove it.
      File hostNameFile = new File(configHandler.getInstanceRoot() +
          File.separator + SetupUtils.HOST_NAME_FILE);
      if (hostNameFile.exists())
      {
        hostNameFile.delete();
      }
      deleteUnnecessaryFiles();
    }
  }
  /** Delete "server.starting" and "hostname" files if they are present. */
  private void deleteUnnecessaryFiles()
  {
    File serverStartingFile = new File(configHandler.getInstanceRoot() + File.separator + "logs"
        + File.separator + "server.starting");
    if (serverStartingFile.exists())
    {
      serverStartingFile.delete();
    }
    File hostNameFile = new File(configHandler.getInstanceRoot() + File.separator + SetupUtils.HOST_NAME_FILE);
    if (hostNameFile.exists())
    {
      hostNameFile.delete();
    }
  }
  /**
   * Registers a basic set of matching rules with the server that should always
@@ -6941,8 +6928,7 @@
  {
    Set<HostPort> usedListeners = new LinkedHashSet<HostPort>();
    Set<LocalizableMessage> errorMessages = new LinkedHashSet<LocalizableMessage>();
    // Check that the port specified in the connection handlers is
    // available.
    // Check that the port specified in the connection handlers is available.
    for (ConnectionHandler<?> c : connectionHandlers)
    {
      for (HostPort listener : c.getListeners())
@@ -6951,11 +6937,9 @@
        {
          // The port was already specified: this is a configuration error,
          // log a message.
          LocalizableMessage message = ERR_HOST_PORT_ALREADY_SPECIFIED.get(
              c.getConnectionHandlerName(), listener);
          LocalizableMessage message = ERR_HOST_PORT_ALREADY_SPECIFIED.get(c.getConnectionHandlerName(), listener);
          logger.error(message);
          errorMessages.add(message);
        }
        else
        {
@@ -6977,11 +6961,10 @@
      throw new ConfigException(ERR_ERROR_STARTING_CONNECTION_HANDLERS.get());
    }
    // At this point, we should be ready to go.  Start all the connection
    // handlers.
    for (ConnectionHandler c : connectionHandlers)
    // At this point, we should be ready to go.
    for (ConnectionHandler handler : connectionHandlers)
    {
      c.start();
      handler.start();
    }
  }
opendj3-server-dev/src/server/org/opends/server/core/WorkQueueConfigManager.java
@@ -51,16 +51,20 @@
public class WorkQueueConfigManager
       implements ConfigurationChangeListener<WorkQueueCfg>
{
  private final ServerContext serverContext;
  /**
   * Creates a new instance of this work queue config manager.
   *
   * @param serverContext
   *            The server context.
   */
  public WorkQueueConfigManager()
  public WorkQueueConfigManager(ServerContext serverContext)
  {
    // No implementation is required.
    this.serverContext = serverContext;
  }
  /**
   * Initializes the Directory Server's work queue.  This should only be called
   * at server startup.