From b0f31909d49c1c97b5ced0d0fef0117a8073ab17 Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 06 Feb 2015 14:44:59 +0000
Subject: [PATCH] OPENDJ-1716 CR-5915 Changes in Pluggable backend configuration and preparatory work for OPENDJ-1750 Prepares for a fix in Backup restore for pluggable backends, keeping a single parameter (ds-cfg-java-class) in the configuration. Pluggable backends will need to Extend BackendImpl to be able to be referenced in the configuration. PitBackend is the backend using PersistIt as storage, until a better name comes up.
---
opendj3-server-dev/src/server/org/opends/server/backends/pluggable/BackendImpl.java | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/BackendImpl.java b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/BackendImpl.java
index 9d0d92d..82af2ca 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/BackendImpl.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/pluggable/BackendImpl.java
@@ -53,6 +53,7 @@
import org.opends.server.api.DiskSpaceMonitorHandler;
import org.opends.server.api.MonitorProvider;
import org.opends.server.backends.VerifyConfig;
+import org.opends.server.backends.pluggable.spi.Storage;
import org.opends.server.backends.pluggable.spi.StorageRuntimeException;
import org.opends.server.backends.pluggable.spi.WriteOperation;
import org.opends.server.backends.pluggable.spi.WriteableStorage;
@@ -64,7 +65,7 @@
* This is an implementation of a Directory Server Backend which stores entries
* locally in a Berkeley DB JE database.
*/
-public class BackendImpl extends Backend<PersistitBackendCfg> implements
+public abstract class BackendImpl extends Backend<PersistitBackendCfg> implements
ConfigurationChangeListener<PersistitBackendCfg>, AlertGenerator,
DiskSpaceMonitorHandler
{
@@ -758,9 +759,16 @@
BackupManager backupManager = new BackupManager(getBackendID());
File parentDir = getFileForPath(cfg.getDBDirectory());
File backendDir = new File(parentDir, cfg.getBackendId());
+ // Storage storage = newStorageInstance();
+ // backupConfig.setFilesToBackupFilter(storage.getFilesToBackupFilter());
backupManager.createBackup(backendDir, backupConfig);
}
+ /**
+ * Returns the storage corresponding to the backend class defined in the configuration.
+ * @return the storage corresponding to the backend class defined in the configuration
+ */
+ protected abstract Storage newStorageInstance();
/** {@inheritDoc} */
--
Gitblit v1.10.0