From 25517c76f0939788908cf2adea012ff0f39b2aca Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 17 Dec 2014 23:37:46 +0000
Subject: [PATCH] OPENDJ-1602 (CR-5566) New pluggable storage based backend

---
 opendj3-server-dev/src/server/org/opends/server/backends/persistit/PersistItStorage.java |   31 ++++++++++++++++---------------
 1 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/opendj3-server-dev/src/server/org/opends/server/backends/persistit/PersistItStorage.java b/opendj3-server-dev/src/server/org/opends/server/backends/persistit/PersistItStorage.java
index a0f6c42..c8e8195 100644
--- a/opendj3-server-dev/src/server/org/opends/server/backends/persistit/PersistItStorage.java
+++ b/opendj3-server-dev/src/server/org/opends/server/backends/persistit/PersistItStorage.java
@@ -26,6 +26,10 @@
 
 package org.opends.server.backends.persistit;
 
+
+
+import static org.opends.server.util.StaticUtils.getFileForPath;
+
 import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
@@ -37,6 +41,7 @@
 import org.forgerock.opendj.ldap.ByteSequence;
 import org.forgerock.opendj.ldap.ByteString;
 import org.opends.server.admin.std.server.LocalDBBackendCfg;
+import org.opends.server.admin.std.server.PersistitBackendCfg;
 import org.opends.server.backends.pluggable.spi.Cursor;
 import org.opends.server.backends.pluggable.spi.Importer;
 import org.opends.server.backends.pluggable.spi.ReadOperation;
@@ -172,7 +177,7 @@
                 throw new StorageRuntimeException(e);
             }
         }
-        
+
         @Override
         public void update(TreeName treeName, ByteSequence key, UpdateFunction f)
         {
@@ -329,23 +334,25 @@
         }
     }
 
-    private final File backendDirectory;
-    private final LocalDBBackendCfg config;
+
+
+  private File backendDirectory;
+  private PersistitBackendCfg config;
     private Persistit db;
     private final ConcurrentMap<TreeName, Volume> volumes = new ConcurrentHashMap<TreeName, Volume>();
     private Properties properties;
 
-    public PersistItStorage(File backendDirectory, LocalDBBackendCfg config) {
-        this.backendDirectory = backendDirectory;
-        this.config = config;
-    }
-
     private Volume getVolume(TreeName treeName) {
         return volumes.get(treeName.getSuffix());
     }
 
     @Override
-    public void initialize(Map<String, String> options) {
+  public void initialize(PersistitBackendCfg cfg)
+  {
+    this.config = cfg;
+    this.backendDirectory = new File(getFileForPath(config.getDBDirectory()),
+        config.getBackendId());
+
         properties = new Properties();
         properties.setProperty("datapath", backendDirectory.toString());
         properties.setProperty("logpath", backendDirectory.toString());
@@ -362,12 +369,6 @@
                     + ",extensionSize:1M"
                     + ",maximumSize:10G");
         }
-
-        if (options != null) {
-            for (Entry<String, String> entry : options.entrySet()) {
-                properties.setProperty(entry.getKey(), entry.getValue());
-            }
-        }
     }
 
     /**

--
Gitblit v1.10.0