From d57e8fd5ca53257eab611c2a592de8b57d086158 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 27 Jul 2011 16:31:30 +0000
Subject: [PATCH] Fix OPENDJ-245: Improve APIs for adding additional access log items to operations

---
 opends/src/server/org/opends/server/loggers/TextAccessLogPublisher.java |   95 +++++++++++------------------------------------
 1 files changed, 22 insertions(+), 73 deletions(-)

diff --git a/opends/src/server/org/opends/server/loggers/TextAccessLogPublisher.java b/opends/src/server/org/opends/server/loggers/TextAccessLogPublisher.java
index 6d75514..7113b30 100644
--- a/opends/src/server/org/opends/server/loggers/TextAccessLogPublisher.java
+++ b/opends/src/server/org/opends/server/loggers/TextAccessLogPublisher.java
@@ -60,16 +60,7 @@
 import org.opends.server.core.ModifyOperation;
 import org.opends.server.core.SearchOperation;
 import org.opends.server.core.UnbindOperation;
-import org.opends.server.types.AuthenticationInfo;
-import org.opends.server.types.ByteString;
-import org.opends.server.types.ConfigChangeResult;
-import org.opends.server.types.DN;
-import org.opends.server.types.DirectoryException;
-import org.opends.server.types.DisconnectReason;
-import org.opends.server.types.FilePermission;
-import org.opends.server.types.InitializationException;
-import org.opends.server.types.Operation;
-import org.opends.server.types.ResultCode;
+import org.opends.server.types.*;
 import org.opends.server.util.TimeThread;
 
 
@@ -485,13 +476,7 @@
       buffer.append('\"');
     }
 
-    msg = abandonOperation.getAdditionalLogMessage();
-    if ((msg != null) && (msg.length() > 0))
-    {
-      buffer.append(" additionalInfo=\"");
-      buffer.append(msg);
-      buffer.append('\"');
-    }
+    logAdditionalLogItems(abandonOperation, buffer);
 
     buffer.append(" etime=");
     buffer.append(abandonOperation.getProcessingTime());
@@ -571,13 +556,7 @@
       buffer.append('\"');
     }
 
-    msg = addOperation.getAdditionalLogMessage();
-    if ((msg != null) && (msg.length() > 0))
-    {
-      buffer.append(" additionalInfo=\"");
-      buffer.append(msg);
-      buffer.append('\"');
-    }
+    logAdditionalLogItems(addOperation, buffer);
 
     DN proxiedAuthDN = addOperation.getProxiedAuthorizationDN();
     if (proxiedAuthDN != null)
@@ -703,13 +682,7 @@
       buffer.append('\"');
     }
 
-    msg = bindOperation.getAdditionalLogMessage();
-    if ((msg != null) && (msg.length() > 0))
-    {
-      buffer.append(" additionalInfo=\"");
-      buffer.append(msg);
-      buffer.append('\"');
-    }
+    logAdditionalLogItems(bindOperation, buffer);
 
     if (bindOperation.getResultCode() == ResultCode.SUCCESS)
     {
@@ -825,13 +798,7 @@
       buffer.append('\"');
     }
 
-    msg = compareOperation.getAdditionalLogMessage();
-    if ((msg != null) && (msg.length() > 0))
-    {
-      buffer.append(" additionalInfo=\"");
-      buffer.append(msg);
-      buffer.append('\"');
-    }
+    logAdditionalLogItems(compareOperation, buffer);
 
     DN proxiedAuthDN = compareOperation.getProxiedAuthorizationDN();
     if (proxiedAuthDN != null)
@@ -974,13 +941,7 @@
       buffer.append('\"');
     }
 
-    msg = deleteOperation.getAdditionalLogMessage();
-    if ((msg != null) && (msg.length() > 0))
-    {
-      buffer.append(" additionalInfo=\"");
-      buffer.append(msg);
-      buffer.append('\"');
-    }
+    logAdditionalLogItems(deleteOperation, buffer);
 
     DN proxiedAuthDN = deleteOperation.getProxiedAuthorizationDN();
     if (proxiedAuthDN != null)
@@ -1166,13 +1127,7 @@
       buffer.append('\"');
     }
 
-    msg = extendedOperation.getAdditionalLogMessage();
-    if ((msg != null) && (msg.length() > 0))
-    {
-      buffer.append(" additionalInfo=\"");
-      buffer.append(msg);
-      buffer.append('\"');
-    }
+    logAdditionalLogItems(extendedOperation, buffer);
 
     buffer.append(" etime=");
     long etime = extendedOperation.getProcessingNanoTime();
@@ -1270,13 +1225,7 @@
       buffer.append('\"');
     }
 
-    msg = modifyDNOperation.getAdditionalLogMessage();
-    if ((msg != null) && (msg.length() > 0))
-    {
-      buffer.append(" additionalInfo=\"");
-      buffer.append(msg);
-      buffer.append('\"');
-    }
+    logAdditionalLogItems(modifyDNOperation, buffer);
 
     DN proxiedAuthDN = modifyDNOperation.getProxiedAuthorizationDN();
     if (proxiedAuthDN != null)
@@ -1369,13 +1318,7 @@
       buffer.append('\"');
     }
 
-    msg = modifyOperation.getAdditionalLogMessage();
-    if ((msg != null) && (msg.length() > 0))
-    {
-      buffer.append(" additionalInfo=\"");
-      buffer.append(msg);
-      buffer.append('\"');
-    }
+    logAdditionalLogItems(modifyOperation, buffer);
 
     DN proxiedAuthDN = modifyOperation.getProxiedAuthorizationDN();
     if (proxiedAuthDN != null)
@@ -1494,13 +1437,7 @@
     buffer.append(" nentries=");
     buffer.append(searchOperation.getEntriesSent());
 
-    msg = searchOperation.getAdditionalLogMessage();
-    if ((msg != null) && (msg.length() > 0))
-    {
-      buffer.append(" additionalInfo=\"");
-      buffer.append(msg);
-      buffer.append('\"');
-    }
+    logAdditionalLogItems(searchOperation, buffer);
 
     DN proxiedAuthDN = searchOperation.getProxiedAuthorizationDN();
     if (proxiedAuthDN != null)
@@ -1596,6 +1533,18 @@
 
 
 
+  // Appends additional log items to the provided builder.
+  private void logAdditionalLogItems(Operation operation, StringBuilder builder)
+  {
+    for (AdditionalLogItem item : operation.getAdditionalLogItems())
+    {
+      builder.append(' ');
+      item.toString(builder);
+    }
+  }
+
+
+
   // Writes an intermediate message to the log.
   private void logIntermediateMessage(Operation operation, String opType,
       String category, Map<String, String> content)

--
Gitblit v1.10.0