From e7f8533cf460901e7ec3503782d7b78baabd55a3 Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 13 Feb 2015 16:24:23 +0000
Subject: [PATCH] OPENDJ-1793 Convert PersistItBackendCfg references to PluggableBackendCfg

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java |   41 ++++++++++++++++++++++++++++-------------
 1 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java
index 8ecd8aa..594917d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java
@@ -27,7 +27,6 @@
 package org.opends.server.backends.jeb;
 
 import static com.sleepycat.je.EnvironmentConfig.*;
-
 import static org.opends.messages.BackendMessages.*;
 import static org.opends.messages.JebMessages.*;
 import static org.opends.server.backends.jeb.ConfigurableEnvironment.*;
@@ -206,14 +205,11 @@
     DirectoryServer.registerMonitorProvider(rootContainerMonitor);
 
     // Register as disk space monitor handler
-    File parentDirectory = getFileForPath(cfg.getDBDirectory());
-    File backendDirectory =
-        new File(parentDirectory, cfg.getBackendId());
-    diskMonitor = new DiskSpaceMonitor(getBackendID() + " backend",
-        backendDirectory, cfg.getDiskLowThreshold(), cfg.getDiskFullThreshold(),
-        5, TimeUnit.SECONDS, this);
-    diskMonitor.initializeMonitorProvider(null);
-    DirectoryServer.registerMonitorProvider(diskMonitor);
+    diskMonitor = newDiskMonitor(cfg);
+    if (diskMonitor != null)
+    {
+      DirectoryServer.registerMonitorProvider(diskMonitor);
+    }
 
     //Register as an AlertGenerator.
     DirectoryServer.registerAlertGenerator(this);
@@ -221,6 +217,18 @@
     cfg.addLocalDBChangeListener(this);
   }
 
+  private DiskSpaceMonitor newDiskMonitor(LocalDBBackendCfg cfg) throws ConfigException, InitializationException
+  {
+    File parentDirectory = getFileForPath(cfg.getDBDirectory());
+    File backendDirectory =
+        new File(parentDirectory, cfg.getBackendId());
+    DiskSpaceMonitor dm = new DiskSpaceMonitor(getBackendID() + " backend",
+        backendDirectory, cfg.getDiskLowThreshold(), cfg.getDiskFullThreshold(),
+        5, TimeUnit.SECONDS, this);
+    dm.initializeMonitorProvider(null);
+    return dm;
+  }
+
   /** {@inheritDoc} */
   @Override
   public void finalizeBackend()
@@ -1000,11 +1008,9 @@
         baseDNs = newBaseDNsArray;
       }
 
-      if(cfg.getDiskFullThreshold() != newCfg.getDiskFullThreshold() ||
-          cfg.getDiskLowThreshold() != newCfg.getDiskLowThreshold())
+      if (diskMonitor != null)
       {
-        diskMonitor.setFullThreshold(newCfg.getDiskFullThreshold());
-        diskMonitor.setLowThreshold(newCfg.getDiskLowThreshold());
+        updateDiskMonitor(diskMonitor, newCfg);
       }
 
       // Put the new configuration in place.
@@ -1018,6 +1024,15 @@
     return ccr;
   }
 
+  /**
+   * @param newCfg
+   */
+  private void updateDiskMonitor(DiskSpaceMonitor dm, LocalDBBackendCfg newCfg)
+  {
+    dm.setFullThreshold(newCfg.getDiskFullThreshold());
+    dm.setLowThreshold(newCfg.getDiskLowThreshold());
+  }
+
   private void removeDeletedBaseDNs(SortedSet<DN> newBaseDNs) throws DirectoryException
   {
     for (DN baseDN : cfg.getBaseDN())

--
Gitblit v1.10.0