From b80ead961b3e5e12f9f2e9e001a247c17041beb0 Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Wed, 11 Jul 2007 08:14:30 +0000
Subject: [PATCH] Fix for issue 1321 : Synchronization changes aren't logged by default

---
 opendj-sdk/opends/src/server/org/opends/server/loggers/TextAuditLogPublisher.java |   78 ++++++++++++++++++++++++++++++++++----
 1 files changed, 69 insertions(+), 9 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/loggers/TextAuditLogPublisher.java b/opendj-sdk/opends/src/server/org/opends/server/loggers/TextAuditLogPublisher.java
index 9cb840f..9ee023e 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/loggers/TextAuditLogPublisher.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/loggers/TextAuditLogPublisher.java
@@ -167,6 +167,8 @@
     }
 
     suppressInternalOperations = config.isSuppressInternalOperations();
+    suppressSynchronizationOperations =
+      config.isSuppressSynchronizationOperations();
 
     currentConfig = config;
 
@@ -248,6 +250,8 @@
      ArrayList<String> messages = new ArrayList<String>();
 
      suppressInternalOperations = config.isSuppressInternalOperations();
+     suppressSynchronizationOperations =
+       config.isSuppressSynchronizationOperations();
 
      File logFile = getFileForPath(config.getLogFile());
      FileNamingPolicy fnPolicy = new TimeStampNaming(logFile);
@@ -274,7 +278,7 @@
 
        if(currentWriter instanceof MultifileTextWriter)
        {
-         MultifileTextWriter mfWriter = (MultifileTextWriter)writer;
+         MultifileTextWriter mfWriter = (MultifileTextWriter)currentWriter;
 
          mfWriter.setNamingPolicy(fnPolicy);
          mfWriter.setFilePermissions(perm);
@@ -435,9 +439,23 @@
   public void logAddResponse(AddOperation addOperation)
   {
     long connectionID = addOperation.getConnectionID();
-    if(connectionID < 0 && suppressInternalOperations)
+    if (connectionID < 0)
     {
-      return;
+      // This is an internal operation.
+      if (addOperation.isSynchronizationOperation())
+      {
+        if (suppressSynchronizationOperations)
+        {
+          return;
+        }
+      }
+      else
+      {
+        if (suppressInternalOperations)
+        {
+          return;
+        }
+      }
     }
     ResultCode code = addOperation.getResultCode();
 
@@ -554,9 +572,23 @@
   public void logDeleteResponse(DeleteOperation deleteOperation)
   {
     long connectionID = deleteOperation.getConnectionID();
-    if(connectionID < 0 && suppressInternalOperations)
+    if (connectionID < 0)
     {
-      return;
+      // This is an internal operation.
+      if (deleteOperation.isSynchronizationOperation())
+      {
+        if (suppressSynchronizationOperations)
+        {
+          return;
+        }
+      }
+      else
+      {
+        if (suppressInternalOperations)
+        {
+          return;
+        }
+      }
     }
     ResultCode code = deleteOperation.getResultCode();
 
@@ -618,9 +650,23 @@
   public void logModifyResponse(ModifyOperation modifyOperation)
   {
     long connectionID = modifyOperation.getConnectionID();
-    if(connectionID < 0 && suppressInternalOperations)
+    if (connectionID < 0)
     {
-      return;
+      // This is an internal operation.
+      if (modifyOperation.isSynchronizationOperation())
+      {
+        if (suppressSynchronizationOperations)
+        {
+          return;
+        }
+      }
+      else
+      {
+        if (suppressInternalOperations)
+        {
+          return;
+        }
+      }
     }
     ResultCode code = modifyOperation.getResultCode();
 
@@ -705,9 +751,23 @@
   public void logModifyDNResponse(ModifyDNOperation modifyDNOperation)
   {
     long connectionID = modifyDNOperation.getConnectionID();
-    if(connectionID < 0 && suppressInternalOperations)
+    if (connectionID < 0)
     {
-      return;
+      // This is an internal operation.
+      if (modifyDNOperation.isSynchronizationOperation())
+      {
+        if (suppressSynchronizationOperations)
+        {
+          return;
+        }
+      }
+      else
+      {
+        if (suppressInternalOperations)
+        {
+          return;
+        }
+      }
     }
     ResultCode code = modifyDNOperation.getResultCode();
 

--
Gitblit v1.10.0