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