From 42d711f1489390624bdf9b84a42186e7e05cf8d4 Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 20 Mar 2015 14:44:40 +0000
Subject: [PATCH] Preparatory commit for OPENDJ-1727, propagating a serverContext to all backends and storages to access informations about the current running environment. Changes in API only.

---
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java                  |    2 
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/ConfigFileHandler.java                   |    6 +-
 opendj-sdk/opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/persistit/PersistitTestCase.java |    2 
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/LDIFBackend.java                           |    2 
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java                         |    6 +-
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java                      |    2 
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java                           |    4 +-
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java                         |    3 +
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/api/Backend.java                                    |   17 +++++++-
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java                       |    2 
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java                        |    2 
 opendj-sdk/opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java                 |    2 
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ReadOnlyConfigFileHandler.java  |    3 +
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java                           |    3 +
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java                        |    6 +-
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java                      |    3 +
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/TrustStoreBackend.java                     |    6 +-
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java            |    8 +++-
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java                      |    4 +-
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java                 |   16 ++++++-
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/MemoryBackend.java                         |    3 +
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java                    |    3 +
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendToolUtils.java                         |    4 +-
 opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/EncodePassword.java                           |    2 
 24 files changed, 71 insertions(+), 40 deletions(-)

diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ReadOnlyConfigFileHandler.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ReadOnlyConfigFileHandler.java
index 283c037..20b35cf 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ReadOnlyConfigFileHandler.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ReadOnlyConfigFileHandler.java
@@ -46,6 +46,7 @@
 import org.opends.server.core.ModifyDNOperation;
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.core.ServerContext;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.BackupConfig;
 import org.opends.server.types.BackupDirectory;
@@ -267,7 +268,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(BackendCfg cfg) throws ConfigException
+  public void configureBackend(BackendCfg cfg, ServerContext serverContext) throws ConfigException
   {
   }
 
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/api/Backend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/api/Backend.java
index 01b24a6..aacbbf7 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/api/Backend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/api/Backend.java
@@ -52,6 +52,7 @@
 import org.opends.server.core.PersistentSearch;
 import org.opends.server.core.PersistentSearch.CancellationCallback;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.core.ServerContext;
 import org.opends.server.monitors.BackendMonitor;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.BackupConfig;
@@ -112,15 +113,26 @@
       new ConcurrentLinkedQueue<PersistentSearch>();
 
   /**
+   * Temporarily sets up the server context for the first phase of add of a new configuration entry.
+   * Will be needed for checking storage parameters before committing the change in configuration.
+   *
+   * @param context the server context for this instance
+   */
+  public void setServerContext(ServerContext context)
+  {
+  }
+
+  /**
    * Configure this backend based on the information in the provided
    * configuration.
    *
    * @param  cfg          The configuration of this backend.
+   * @param  serverContext The server context for this instance
    *
    * @throws  ConfigException
    *                      If there is an error in the configuration.
    */
-  public abstract void configureBackend(C cfg) throws ConfigException;
+  public abstract void configureBackend(C cfg, ServerContext serverContext) throws ConfigException;
 
   /**
    * Indicates whether the provided configuration is acceptable for
@@ -166,8 +178,7 @@
    *                                   related to the server
    *                                   configuration.
    */
-  public abstract void initializeBackend()
-         throws ConfigException, InitializationException;
+  public abstract void initializeBackend() throws ConfigException, InitializationException;
 
   /**
    * Performs any necessary work to finalize this backend, including
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java
index c274f3d..0b07629 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/BackupBackend.java
@@ -53,6 +53,7 @@
 import org.opends.server.core.ModifyDNOperation;
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.core.ServerContext;
 import org.opends.server.schema.GeneralizedTimeSyntax;
 import org.opends.server.types.*;
 
@@ -157,7 +158,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(BackupBackendCfg config) throws ConfigException
+  public void configureBackend(BackupBackendCfg config, ServerContext serverContext) throws ConfigException
   {
     // Make sure that a configuration entry was provided.  If not, then we will
     // not be able to complete initialization.
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java
index ecc8d07..3591280 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/ChangelogBackend.java
@@ -69,6 +69,7 @@
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.PersistentSearch;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.core.ServerContext;
 import org.opends.server.replication.common.CSN;
 import org.opends.server.replication.common.MultiDomainServerState;
 import org.opends.server.replication.common.ServerState;
@@ -279,7 +280,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(final Configuration config) throws ConfigException
+  public void configureBackend(final Configuration config, ServerContext serverContext) throws ConfigException
   {
     throw new UnsupportedOperationException("The changelog backend is not configurable");
   }
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/LDIFBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/LDIFBackend.java
index 6613bc9..8ff550d 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/LDIFBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/LDIFBackend.java
@@ -1231,7 +1231,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(LDIFBackendCfg config) throws ConfigException
+  public void configureBackend(LDIFBackendCfg config, ServerContext serverContext) throws ConfigException
   {
     if (config != null)
     {
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/MemoryBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/MemoryBackend.java
index 7d803f1..045428e 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/MemoryBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/MemoryBackend.java
@@ -52,6 +52,7 @@
 import org.opends.server.core.ModifyDNOperation;
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.core.ServerContext;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.BackupConfig;
 import org.opends.server.types.BackupDirectory;
@@ -148,7 +149,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(MemoryBackendCfg config) throws ConfigException
+  public void configureBackend(MemoryBackendCfg config, ServerContext serverContext) throws ConfigException
   {
     if (config != null)
     {
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java
index 12a31fb..d06ac2e 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java
@@ -160,7 +160,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(final MonitorBackendCfg config)
+  public void configureBackend(final MonitorBackendCfg config, ServerContext serverContext)
       throws ConfigException
   {
     Reject.ifNull(config);
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
index 165036c..305fc1b 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/NullBackend.java
@@ -51,6 +51,7 @@
 import org.opends.server.core.ModifyDNOperation;
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.core.ServerContext;
 import org.opends.server.types.AttributeType;
 import org.opends.server.types.BackupConfig;
 import org.opends.server.types.BackupDirectory;
@@ -146,7 +147,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(BackendCfg config) throws ConfigException
+  public void configureBackend(BackendCfg config, ServerContext serverContext) throws ConfigException
   {
     if (config != null)
     {
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java
index ae418e5..62a73b5 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java
@@ -65,6 +65,7 @@
 import org.opends.server.core.ModifyDNOperation;
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.core.ServerContext;
 import org.opends.server.types.*;
 import org.opends.server.util.BuildVersion;
 import org.opends.server.util.LDIFWriter;
@@ -142,7 +143,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(RootDSEBackendCfg config) throws ConfigException
+  public void configureBackend(RootDSEBackendCfg config, ServerContext serverContext) throws ConfigException
   {
     Reject.ifNull(config);
     currentConfig = config;
@@ -151,8 +152,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void initializeBackend()
-         throws ConfigException, InitializationException
+  public void initializeBackend() throws ConfigException, InitializationException
   {
     ConfigEntry configEntry =
          DirectoryServer.getConfigEntry(configEntryDN);
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
index 19423de..b485b10 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
@@ -88,6 +88,7 @@
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.SchemaConfigManager;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.core.ServerContext;
 import org.opends.server.schema.AttributeTypeSyntax;
 import org.opends.server.schema.DITContentRuleSyntax;
 import org.opends.server.schema.DITStructureRuleSyntax;
@@ -252,7 +253,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(SchemaBackendCfg cfg) throws ConfigException
+  public void configureBackend(SchemaBackendCfg cfg, ServerContext serverContext) throws ConfigException
   {
     // Make sure that a configuration entry was provided.  If not, then we will
     // not be able to complete initialization.
@@ -353,8 +354,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void initializeBackend()
-         throws ConfigException, InitializationException
+  public void initializeBackend() throws ConfigException, InitializationException
   {
     // Register each of the suffixes with the Directory Server.  Also, register
     // the first one as the schema base.
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/TrustStoreBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/TrustStoreBackend.java
index 9803374..199bf59 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/TrustStoreBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/TrustStoreBackend.java
@@ -77,6 +77,7 @@
 import org.opends.server.core.ModifyDNOperation;
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.core.ServerContext;
 import org.opends.server.types.*;
 import org.opends.server.util.CertificateManager;
 import org.opends.server.util.SetupUtils;
@@ -132,7 +133,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(TrustStoreBackendCfg config) throws ConfigException
+  public void configureBackend(TrustStoreBackendCfg config, ServerContext serverContext) throws ConfigException
   {
     Reject.ifNull(config);
     configuration = config;
@@ -140,8 +141,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void initializeBackend()
-         throws ConfigException, InitializationException
+  public void initializeBackend() throws ConfigException, InitializationException
   {
     DN configEntryDN = configuration.dn();
 
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java
index b98c27c..81e246d 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java
@@ -153,7 +153,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(LocalDBBackendCfg cfg) throws ConfigException
+  public void configureBackend(LocalDBBackendCfg cfg, ServerContext serverContext) throws ConfigException
   {
     Reject.ifNull(cfg);
 
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java
index 4e66b49..086e0d1 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PersistItStorage.java
@@ -44,6 +44,7 @@
 import org.forgerock.i18n.LocalizableMessage;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.opendj.config.server.ConfigChangeResult;
+import org.forgerock.opendj.config.server.ConfigException;
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.opends.server.admin.server.ConfigurationChangeListener;
@@ -60,8 +61,8 @@
 import org.opends.server.backends.pluggable.spi.UpdateFunction;
 import org.opends.server.backends.pluggable.spi.WriteOperation;
 import org.opends.server.backends.pluggable.spi.WriteableStorage;
-import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.core.ServerContext;
 import org.opends.server.extensions.DiskSpaceMonitor;
 import org.opends.server.types.DN;
 import org.opends.server.types.FilePermission;
@@ -524,9 +525,12 @@
    *
    * @param cfg
    *          The configuration.
+   * @param serverContext
+   *          This server instance context
+   * @throws ConfigException if memory cannot be reserved
    */
   // FIXME: should be package private once importer is decoupled.
-  public PersistItStorage(final PersistitBackendCfg cfg)
+  public PersistItStorage(final PersistitBackendCfg cfg, ServerContext serverContext) throws ConfigException
   {
     backendDirectory = new File(getFileForPath(cfg.getDBDirectory()), cfg.getBackendId());
     config = cfg;
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java
index 99348d4..78a5449 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java
@@ -39,6 +39,6 @@
   @Override
   protected Storage configureStorage(PersistitBackendCfg cfg) throws ConfigException
   {
-    return new PersistItStorage(cfg);
+    return new PersistItStorage(cfg, serverContext);
   }
 }
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java
index 70d2295..40de1cc 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java
@@ -95,6 +95,9 @@
       OID_SERVER_SIDE_SORT_REQUEST_CONTROL,
       OID_VLV_REQUEST_CONTROL));
 
+  /** The server context for this directory server. */
+  protected ServerContext serverContext;
+
   /**
    * Begin a Backend API method that accesses the database and returns the <code>EntryContainer</code> for
    * <code>entryDN</code>.
@@ -144,19 +147,19 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(C cfg) throws ConfigException
+  public void configureBackend(C cfg, ServerContext serverContext) throws ConfigException
   {
     Reject.ifNull(cfg);
 
     this.cfg = cfg;
+    this.serverContext = serverContext;
     baseDNs = this.cfg.getBaseDN().toArray(new DN[0]);
     storage = new TracedStorage(configureStorage(cfg), cfg.getBackendId());
   }
 
   /** {@inheritDoc} */
   @Override
-  public void initializeBackend()
-      throws ConfigException, InitializationException
+  public void initializeBackend() throws ConfigException, InitializationException
   {
     if (mustOpenRootContainer())
     {
@@ -801,6 +804,13 @@
 
   /** {@inheritDoc} */
   @Override
+  public void setServerContext(ServerContext context)
+  {
+    this.serverContext = context;
+  }
+
+  /** {@inheritDoc} */
+  @Override
   public boolean isConfigurationAcceptable(C config, List<LocalizableMessage> unacceptableReasons)
   {
     return isConfigurationChangeAcceptable(config, unacceptableReasons);
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java
index bcea937..05474f4 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/Importer.java
@@ -3979,7 +3979,8 @@
       returnValues.put("isDBTxnNoSync", true);
       try
       {
-        storage = new PersistItStorage(newPersistitBackendCfgProxy(returnValues));
+        storage = new PersistItStorage(newPersistitBackendCfgProxy(returnValues),
+            DirectoryServer.getInstance().getServerContext());
       }
       catch (Exception e)
       {
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java
index ec888ee..d2157e4 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java
@@ -137,7 +137,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(TaskBackendCfg cfg) throws ConfigException
+  public void configureBackend(TaskBackendCfg cfg, ServerContext serverContext) throws ConfigException
   {
     Reject.ifNull(cfg);
 
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
index f5e48be..ab1ce73 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
@@ -1017,10 +1017,10 @@
   }
 
   @SuppressWarnings({ "unchecked", "rawtypes" })
-  private static void initializeBackend(Backend backend, BackendCfg cfg)
+  private void initializeBackend(Backend backend, BackendCfg cfg)
        throws ConfigException, InitializationException
   {
-    backend.configureBackend(cfg);
+    backend.configureBackend(cfg, serverContext);
     backend.initializeBackend();
   }
 
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
index 8f3cc2e..8e4506d 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
@@ -2091,7 +2091,7 @@
     }
 
     rootDSEBackend = new RootDSEBackend();
-    rootDSEBackend.configureBackend(rootDSECfg);
+    rootDSEBackend.configureBackend(rootDSECfg, serverContext);
     rootDSEBackend.initializeBackend();
   }
 
@@ -2425,7 +2425,7 @@
     throw new InitializationException(message, e);
   }
   rootDSEBackend = new RootDSEBackend();
-  rootDSEBackend.configureBackend(rootDSECfg);
+  rootDSEBackend.configureBackend(rootDSECfg, serverContext);
   rootDSEBackend.initializeBackend();
 }
 
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/ConfigFileHandler.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/ConfigFileHandler.java
index 77fd18e..3913c1b 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/ConfigFileHandler.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/extensions/ConfigFileHandler.java
@@ -76,6 +76,7 @@
 import org.opends.server.core.ModifyDNOperation;
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.SearchOperation;
+import org.opends.server.core.ServerContext;
 import org.opends.server.schema.GeneralizedTimeSyntax;
 import org.opends.server.tools.LDIFModify;
 import org.opends.server.types.*;
@@ -794,7 +795,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void configureBackend(ConfigFileHandlerBackendCfg cfg)
+  public void configureBackend(ConfigFileHandlerBackendCfg cfg, ServerContext serverContext)
          throws ConfigException
   {
     // No action is required.
@@ -802,8 +803,7 @@
 
   /** {@inheritDoc} */
   @Override
-  public void initializeBackend()
-         throws ConfigException, InitializationException
+  public void initializeBackend() throws ConfigException, InitializationException
   {
     // No action is required, since all initialization was performed in the
     // initializeConfigHandler method.
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendToolUtils.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendToolUtils.java
index 45e72c7..19b43d2 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendToolUtils.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/BackendToolUtils.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2006-2008 Sun Microsystems, Inc.
- *      Portions Copyright 2013-2014 ForgeRock AS
+ *      Portions Copyright 2013-2015 ForgeRock AS
  */
 package org.opends.server.tools;
 
@@ -197,7 +197,7 @@
         backend = (Backend) backendClass.newInstance();
         backend.setBackendID(backendID);
         cfg = root.getBackend(backendID);
-        backend.configureBackend(cfg);
+        backend.configureBackend(cfg, DirectoryServer.getInstance().getServerContext());
       }
       catch (Exception e)
       {
diff --git a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/EncodePassword.java b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/EncodePassword.java
index b803308..de606ed 100644
--- a/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/EncodePassword.java
+++ b/opendj-sdk/opendj-server-legacy/src/main/java/org/opends/server/tools/EncodePassword.java
@@ -879,7 +879,7 @@
         backend.setBackendID(backendID);
         backend.setWritabilityMode(WritabilityMode.INTERNAL_ONLY);
         try {
-          backend.configureBackend(backendCfg);
+          backend.configureBackend(backendCfg, directoryServer.getServerContext());
           backend.initializeBackend();
         } catch (Exception e) {
           LocalizableMessage msg = ERR_CONFIG_BACKEND_CANNOT_INITIALIZE.get(className, backendCfg.dn(),
diff --git a/opendj-sdk/opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java b/opendj-sdk/opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java
index 67d759c..aaf884e 100644
--- a/opendj-sdk/opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java
+++ b/opendj-sdk/opendj-server-legacy/src/test/java/org/opends/server/backends/SchemaBackendTestCase.java
@@ -89,7 +89,7 @@
          throws Exception
   {
     SchemaBackend schemaBackend = new SchemaBackend();
-    schemaBackend.configureBackend(null);
+    schemaBackend.configureBackend(null, null);
   }
 
 
diff --git a/opendj-sdk/opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/persistit/PersistitTestCase.java b/opendj-sdk/opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/persistit/PersistitTestCase.java
index 8f5967a..c868ecd 100644
--- a/opendj-sdk/opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/persistit/PersistitTestCase.java
+++ b/opendj-sdk/opendj-server-legacy/src/test/java/org/opends/server/backends/pluggable/persistit/PersistitTestCase.java
@@ -65,7 +65,7 @@
   
     PitBackend b = new PitBackend();
     b.setBackendID(backendCfg.getBackendId());
-    b.configureBackend((PersistitBackendCfg)backendCfg);
+    b.configureBackend((PersistitBackendCfg)backendCfg, DirectoryServer.getInstance().getServerContext());
     return b;
   }
 

--
Gitblit v1.10.0