From b6644c452624e2de72d7ddf37b1603de887a26a0 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Mon, 21 Jan 2008 12:10:39 +0000
Subject: [PATCH] Fix issues 2831 and 1948.
---
opends/src/server/org/opends/server/backends/jeb/BackupManager.java | 25 ++++++++++++-------------
1 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/opends/src/server/org/opends/server/backends/jeb/BackupManager.java b/opends/src/server/org/opends/server/backends/jeb/BackupManager.java
index 6b88b97..dfa2ac4 100644
--- a/opends/src/server/org/opends/server/backends/jeb/BackupManager.java
+++ b/opends/src/server/org/opends/server/backends/jeb/BackupManager.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Portions Copyright 2006-2007 Sun Microsystems, Inc.
+ * Portions Copyright 2006-2008 Sun Microsystems, Inc.
*/
package org.opends.server.backends.jeb;
import org.opends.messages.Message;
@@ -66,7 +66,8 @@
import static org.opends.messages.JebMessages.*;
import static org.opends.server.util.ServerConstants.*;
import static org.opends.server.util.StaticUtils.*;
-import org.opends.server.admin.std.server.LocalDBBackendCfg;
+
+
/**
* A backup manager for JE backends.
@@ -133,12 +134,12 @@
* log files that are unchanged since the previous backup. The remaining
* zip entries are the JE log files themselves, which, for an incremental,
* only include those files that have changed.
- * @param cfg The configuration of the backend instance for
+ * @param backendDir The directory of the backend instance for
* which the backup is required.
* @param backupConfig The configuration to use when performing the backup.
* @throws DirectoryException If a Directory Server error occurs.
*/
- public void createBackup(LocalDBBackendCfg cfg, BackupConfig backupConfig)
+ public void createBackup(File backendDir, BackupConfig backupConfig)
throws DirectoryException
{
// Get the properties to use for the backup.
@@ -220,7 +221,6 @@
// If this is an incremental, determine the base backup for this backup.
HashSet<String> dependencies = new HashSet<String>();
BackupInfo baseBackup = null;
- File backendDir = getFileForPath(cfg.getDBDirectory());
/*
FilenameFilter backupTagFilter = new FilenameFilter()
{
@@ -711,12 +711,12 @@
/**
* Restore a JE backend from backup, or verify the backup.
- * @param cfg The configuration of the backend instance to be
+ * @param backendDir The configuration of the backend instance to be
* restored.
* @param restoreConfig The configuration to use when performing the restore.
* @throws DirectoryException If a Directory Server error occurs.
*/
- public void restoreBackup(LocalDBBackendCfg cfg,
+ public void restoreBackup(File backendDir,
RestoreConfig restoreConfig)
throws DirectoryException
{
@@ -729,8 +729,7 @@
// Create a restore directory with a different name to the backend
// directory.
- File currentDir = getFileForPath(cfg.getDBDirectory());
- File restoreDir = new File(currentDir.getPath() + "-restore-" + backupID);
+ File restoreDir = new File(backendDir.getPath() + "-restore-" + backupID);
if (!verifyOnly)
{
File[] files = restoreDir.listFiles();
@@ -803,7 +802,7 @@
// Delete the current backend directory and rename the restore directory.
if (!verifyOnly)
{
- File[] files = currentDir.listFiles();
+ File[] files = backendDir.listFiles();
if (files != null)
{
for (File f : files)
@@ -811,11 +810,11 @@
f.delete();
}
}
- currentDir.delete();
- if (!restoreDir.renameTo(currentDir))
+ backendDir.delete();
+ if (!restoreDir.renameTo(backendDir))
{
Message msg = ERR_JEB_CANNOT_RENAME_RESTORE_DIRECTORY.get(
- restoreDir.getPath(), currentDir.getPath());
+ restoreDir.getPath(), backendDir.getPath());
throw new DirectoryException(DirectoryServer.getServerErrorResultCode(),
msg);
}
--
Gitblit v1.10.0