From 6cff6e50e589ff91df76fafac8e0f72918b5ce5c Mon Sep 17 00:00:00 2001
From: coulbeck <coulbeck@localhost>
Date: Wed, 12 Jul 2006 22:23:35 +0000
Subject: [PATCH] The backends should interpret relative pathnames in the configuration file as relative to the server root rather than the current working directory.

---
 opends/src/server/org/opends/server/backends/jeb/BackendImpl.java |   24 ++++++++++--------------
 1 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
index 3eefdc9..6951609 100644
--- a/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opends/src/server/org/opends/server/backends/jeb/BackendImpl.java
@@ -116,10 +116,9 @@
   private Config config;
 
   /**
-   * The pathname of the directory containing persistent storage for the
-   * backend.
+   * The directory containing persistent storage for the backend.
    */
-  private String backendDirectory;
+  private File backendDirectory;
 
   /**
    * The base DNs contained in this backend.
@@ -367,12 +366,10 @@
 
     // Get the backend database directory.
     backendDirectory = config.getBackendDirectory();
-
-    File dir = new File(backendDirectory);
-    if (!dir.isDirectory())
+    if (!backendDirectory.isDirectory())
     {
       String message = getMessage(MSGID_JEB_DIRECTORY_INVALID,
-                                  backendDirectory);
+                                  backendDirectory.getPath());
       throw new InitializationException(MSGID_JEB_DIRECTORY_INVALID,
                                         message);
     }
@@ -394,7 +391,7 @@
     // Open the database environment
     try
     {
-      dbEnv = new Environment(new File(backendDirectory),
+      dbEnv = new Environment(backendDirectory,
                               config.getEnvironmentConfig());
 
       Debug.debugMessage(DebugLogCategory.BACKEND, DebugLogSeverity.INFO,
@@ -511,11 +508,10 @@
       }
     };
 
-    File f = new File(backendDirectory);
-    int beforeLogfileCount = f.list(filenameFilter).length;
+    int beforeLogfileCount = backendDirectory.list(filenameFilter).length;
 
     msgID = MSGID_JEB_CLEAN_DATABASE_START;
-    message = getMessage(msgID, beforeLogfileCount, backendDirectory);
+    message = getMessage(msgID, beforeLogfileCount, backendDirectory.getPath());
     logError(ErrorLogCategory.BACKEND, ErrorLogSeverity.NOTICE, message,
              msgID);
 
@@ -538,7 +534,7 @@
       dbEnv.checkpoint(force);
     }
 
-    int afterLogfileCount = f.list(filenameFilter).length;
+    int afterLogfileCount = backendDirectory.list(filenameFilter).length;
 
     msgID = MSGID_JEB_CLEAN_DATABASE_FINISH;
     message = getMessage(msgID, afterLogfileCount);
@@ -1164,8 +1160,8 @@
       }
 
       // Open a new environment handle.
-      String backendDirectory = config.getBackendDirectory();
-      env = new Environment(new File(backendDirectory), envConfig);
+      File backendDirectory = config.getBackendDirectory();
+      env = new Environment(backendDirectory, envConfig);
 
       Debug.debugMessage(DebugLogCategory.BACKEND, DebugLogSeverity.INFO,
                          CLASS_NAME, "exportLDIF",

--
Gitblit v1.10.0