From 5f940cf887e85e1595805d4a4d59b8ae5b0f585a Mon Sep 17 00:00:00 2001
From: dugan <dugan@localhost>
Date: Thu, 02 Apr 2009 03:21:47 +0000
Subject: [PATCH] Issue 3251: LDIFReader rejectLastEntry prints wrong entry
---
opends/src/server/org/opends/server/util/LDIFReader.java | 34 ++++++++++++++++++++++++++++++++++
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/opends/src/server/org/opends/server/util/LDIFReader.java b/opends/src/server/org/opends/server/util/LDIFReader.java
index ef7b3c2..e157b49 100644
--- a/opends/src/server/org/opends/server/util/LDIFReader.java
+++ b/opends/src/server/org/opends/server/util/LDIFReader.java
@@ -1148,6 +1148,40 @@
}
}
+ /**
+ * Log the specified entry and messages in the reject writer. The method is
+ * intended to be used in a threaded environment, where individual import
+ * threads need to log an entry and message to the reject file.
+ *
+ * @param e The entry to log.
+ * @param message The message to log.
+ */
+ public synchronized void rejectEntry(Entry e, Message message) {
+ BufferedWriter rejectWriter = importConfig.getRejectWriter();
+ entriesRejected++;
+ if (rejectWriter != null) {
+ try {
+ if ((message != null) && (message.length() > 0)) {
+ rejectWriter.write("# ");
+ rejectWriter.write(message.toString());
+ rejectWriter.newLine();
+ }
+ String dnStr = e.getDN().toString();
+ rejectWriter.write(dnStr);
+ rejectWriter.newLine();
+ List<StringBuilder> eLDIF = e.toLDIF();
+ for(StringBuilder l : eLDIF) {
+ rejectWriter.write(l.toString());
+ rejectWriter.newLine();
+ }
+ rejectWriter.newLine();
+ } catch (IOException ex) {
+ if (debugEnabled())
+ TRACER.debugCaught(DebugLogLevel.ERROR, ex);
+ }
+ }
+ }
+
/**
--
Gitblit v1.10.0