From 3d94e093e647c30331f5ad701e1251df46ffe5cc Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Fri, 27 Feb 2009 15:25:04 +0000
Subject: [PATCH] Fix for issue #3765 (Root for relative paths in export-ldif depends on the path where we started the server)
---
opends/src/server/org/opends/server/tasks/ImportTask.java | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/opends/src/server/org/opends/server/tasks/ImportTask.java b/opends/src/server/org/opends/server/tasks/ImportTask.java
index b7174c2..c8a9833 100644
--- a/opends/src/server/org/opends/server/tasks/ImportTask.java
+++ b/opends/src/server/org/opends/server/tasks/ImportTask.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2006-2008 Sun Microsystems, Inc.
+ * Copyright 2006-2009 Sun Microsystems, Inc.
*/
package org.opends.server.tasks;
import org.opends.messages.Message;
@@ -283,10 +283,33 @@
List<Attribute> attrList;
attrList = taskEntry.getAttribute(typeLdifFile);
- ldifFiles = TaskUtils.getMultiValueString(attrList);
+ ArrayList<String> ldifFilestmp = TaskUtils.getMultiValueString(attrList);
+ ldifFiles = new ArrayList<String>(ldifFilestmp.size());
+ for (String s : ldifFilestmp)
+ {
+ File f = new File (s);
+ if (!f.isAbsolute())
+ {
+ ldifFiles.add(new File(DirectoryServer.getInstanceRoot(), s)
+ .getAbsolutePath());
+ }
+ else
+ {
+ ldifFiles.add(s);
+ }
+ }
attrList = taskEntry.getAttribute(typeTemplateFile);
templateFile = TaskUtils.getSingleValueString(attrList);
+ if (templateFile != null)
+ {
+ File f = new File(templateFile);
+ if (!f.isAbsolute())
+ {
+ templateFile = new File(DirectoryServer.getInstanceRoot(), templateFile)
+ .getAbsolutePath();
+ }
+ }
attrList = taskEntry.getAttribute(typeAppend);
append = TaskUtils.getBoolean(attrList, false);
--
Gitblit v1.10.0