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