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/persistit/PitBackend.java |   43 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 42 insertions(+), 1 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java
index b83572f..9c84a9c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java
@@ -26,19 +26,60 @@
 
 package org.opends.server.backends.persistit;
 
+import static org.opends.server.util.StaticUtils.getFileForPath;
+
+import java.io.File;
+import java.util.concurrent.TimeUnit;
+
+import org.forgerock.opendj.config.server.ConfigException;
+import org.opends.server.admin.std.server.PersistitBackendCfg;
+import org.opends.server.admin.std.server.PluggableBackendCfg;
 import org.opends.server.backends.pluggable.BackendImpl;
 import org.opends.server.backends.pluggable.spi.Storage;
+import org.opends.server.extensions.DiskSpaceMonitor;
+import org.opends.server.types.InitializationException;
 
 /**
  * Class defined in the configuration for this backend type.
  */
 public class PitBackend extends BackendImpl
 {
-
   /** {@inheritDoc} */
   @Override
   protected Storage newStorageInstance()
   {
     return new PersistItStorage();
   }
+
+  /** {@inheritDoc} */
+  @Override
+  public DiskSpaceMonitor newDiskMonitor(PluggableBackendCfg cfg) throws ConfigException, InitializationException
+  {
+    PersistitBackendCfg config = (PersistitBackendCfg) cfg;
+    File parentDirectory = getFileForPath(config.getDBDirectory());
+    File backendDirectory =
+        new File(parentDirectory, config.getBackendId());
+    DiskSpaceMonitor dm = new DiskSpaceMonitor(getBackendID() + " backend",
+        backendDirectory, config.getDiskLowThreshold(), config.getDiskFullThreshold(),
+        5, TimeUnit.SECONDS, this);
+    dm.initializeMonitorProvider(null);
+    return dm;
+  }
+
+  /** {@inheritDoc} */
+  @Override
+  public void updateDiskMonitor(DiskSpaceMonitor dm, PluggableBackendCfg newConfig)
+  {
+    PersistitBackendCfg newCfg = (PersistitBackendCfg) newConfig;
+    dm.setFullThreshold(newCfg.getDiskFullThreshold());
+    dm.setLowThreshold(newCfg.getDiskLowThreshold());
+  }
+
+  /** {@inheritDoc} */
+  protected File getBackupDirectory(PluggableBackendCfg cfg)
+  {
+    PersistitBackendCfg config = (PersistitBackendCfg) cfg;
+    File parentDir = getFileForPath(config.getDBDirectory());
+    return new File(parentDir, config.getBackendId());
+  }
 }

--
Gitblit v1.10.0