From 6715443566cdb9187fce8c824562d84104cb1e4a Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 16 Jul 2015 10:07:59 +0000
Subject: [PATCH] PluginConfigManager.java: Removed code duplication. Code cleanup.

---
 opendj-server-legacy/src/messages/org/opends/messages/plugin_fr.properties         |    3 
 opendj-server-legacy/src/messages/org/opends/messages/plugin_ko.properties         |    3 
 opendj-server-legacy/src/messages/org/opends/messages/plugin_ja.properties         |    3 
 opendj-server-legacy/src/messages/org/opends/messages/plugin_zh_CN.properties      |    3 
 opendj-server-legacy/src/messages/org/opends/messages/plugin.properties            |    4 
 opendj-server-legacy/src/main/java/org/opends/server/core/PluginConfigManager.java |  501 +++++++++++++-----------------------------------------
 opendj-server-legacy/src/messages/org/opends/messages/plugin_de.properties         |    3 
 opendj-server-legacy/src/messages/org/opends/messages/plugin_zh_TW.properties      |    3 
 opendj-server-legacy/src/messages/org/opends/messages/plugin_es.properties         |    3 
 9 files changed, 141 insertions(+), 385 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/PluginConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/PluginConfigManager.java
index ff8d0ba..fee8b94 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/PluginConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/PluginConfigManager.java
@@ -35,6 +35,8 @@
 import java.util.concurrent.locks.ReentrantLock;
 
 import org.forgerock.i18n.LocalizableMessage;
+import org.forgerock.i18n.LocalizableMessageDescriptor.Arg4;
+import org.forgerock.i18n.LocalizableMessageDescriptor.Arg5;
 import org.forgerock.i18n.slf4j.LocalizedLogger;
 import org.forgerock.opendj.config.server.ConfigChangeResult;
 import org.forgerock.opendj.config.server.ConfigException;
@@ -295,7 +297,7 @@
       for (PluginCfgDefn.PluginType pluginType : pluginConfiguration.getPluginType())
       {
         PluginType t = getPluginType(pluginType);
-        if ((pluginTypes == null) || pluginTypes.contains(t))
+        if (pluginTypes == null || pluginTypes.contains(t))
         {
           initTypes.add(t);
         }
@@ -474,13 +476,11 @@
 
     try
     {
-      Iterator<DirectoryServerPlugin<? extends PluginCfg>> iterator =
-           registeredPlugins.values().iterator();
-      while (iterator.hasNext())
+      for (DirectoryServerPlugin<? extends PluginCfg> plugin : registeredPlugins.values())
       {
         try
         {
-          iterator.next().finalizePlugin();
+          plugin.finalizePlugin();
         }
         catch (Exception e)
         {
@@ -903,9 +903,9 @@
     // wildcard, then simply add the new plugin to the end of the list.
     // Otherwise, parse the order string and figure out where to put the
     // provided plugin.
-    if ((pluginOrder == null) ||
-        ((pluginOrder = pluginOrder.trim()).length() == 0) ||
-        pluginOrder.equals("*"))
+    if (pluginOrder == null
+        || (pluginOrder = pluginOrder.trim()).length() == 0
+        || pluginOrder.equals("*"))
     {
       DirectoryServerPlugin[] newPlugins =
            new DirectoryServerPlugin[pluginArray.length+1];
@@ -1392,9 +1392,9 @@
       System.arraycopy(pluginArray, 0, newPlugins, 0, slot);
     }
 
-    if (slot < (length-1))
+    if (slot < length-1)
     {
-      System.arraycopy(pluginArray, slot+1, newPlugins, slot, (length-slot-1));
+      System.arraycopy(pluginArray, slot+1, newPlugins, slot, length-slot-1);
     }
 
     return newPlugins;
@@ -1773,8 +1773,7 @@
 
     for (DirectoryServerPlugin p : preParseAbandonPlugins)
     {
-      if (abandonOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(abandonOperation, p))
       {
         continue;
       }
@@ -1857,8 +1856,7 @@
 
     for (DirectoryServerPlugin p : preParseAddPlugins)
     {
-      if (addOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(addOperation, p))
       {
         continue;
       }
@@ -1914,8 +1912,7 @@
 
     for (DirectoryServerPlugin p : preParseBindPlugins)
     {
-      if (bindOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(bindOperation, p))
       {
         continue;
       }
@@ -1969,8 +1966,7 @@
 
     for (DirectoryServerPlugin p : preParseComparePlugins)
     {
-      if (compareOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(compareOperation, p))
       {
         continue;
       }
@@ -2028,8 +2024,7 @@
 
     for (DirectoryServerPlugin p : preParseDeletePlugins)
     {
-      if (deleteOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(deleteOperation, p))
       {
         continue;
       }
@@ -2087,8 +2082,7 @@
 
     for (DirectoryServerPlugin p : preParseExtendedPlugins)
     {
-      if (extendedOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(extendedOperation, p))
       {
         continue;
       }
@@ -2146,8 +2140,7 @@
 
     for (DirectoryServerPlugin p : preParseModifyPlugins)
     {
-      if (modifyOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(modifyOperation, p))
       {
         continue;
       }
@@ -2205,8 +2198,7 @@
 
     for (DirectoryServerPlugin p : preParseModifyDNPlugins)
     {
-      if (modifyDNOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(modifyDNOperation, p))
       {
         continue;
       }
@@ -2264,8 +2256,7 @@
 
     for (DirectoryServerPlugin p : preParseSearchPlugins)
     {
-      if (searchOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(searchOperation, p))
       {
         continue;
       }
@@ -2321,8 +2312,7 @@
 
     for (DirectoryServerPlugin p : preParseUnbindPlugins)
     {
-      if (unbindOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(unbindOperation, p))
       {
         continue;
       }
@@ -2377,8 +2367,7 @@
     for (int i = 0; i < preOperationAddPlugins.length; i++)
     {
       DirectoryServerPlugin p = preOperationAddPlugins[i];
-      if (addOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(addOperation, p))
       {
         continue;
       }
@@ -2439,8 +2428,7 @@
     for (int i = 0; i < preOperationBindPlugins.length; i++)
     {
       DirectoryServerPlugin p = preOperationBindPlugins[i];
-      if (bindOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(bindOperation, p))
       {
         continue;
       }
@@ -2500,8 +2488,7 @@
     for (int i = 0; i < preOperationComparePlugins.length; i++)
     {
       DirectoryServerPlugin p = preOperationComparePlugins[i];
-      if (compareOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(compareOperation, p))
       {
         continue;
       }
@@ -2562,8 +2549,7 @@
     for (int i = 0; i < preOperationDeletePlugins.length; i++)
     {
       DirectoryServerPlugin p = preOperationDeletePlugins[i];
-      if (deleteOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(deleteOperation, p))
       {
         continue;
       }
@@ -2663,8 +2649,7 @@
     for (int i = 0; i < preOperationExtendedPlugins.length; i++)
     {
       DirectoryServerPlugin p = preOperationExtendedPlugins[i];
-      if (extendedOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(extendedOperation, p))
       {
         registerSkippedPreOperationPlugin(p, extendedOperation);
         continue;
@@ -2729,8 +2714,7 @@
     for (int i = 0; i < preOperationModifyPlugins.length; i++)
     {
       DirectoryServerPlugin p = preOperationModifyPlugins[i];
-      if (modifyOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(modifyOperation, p))
       {
         continue;
       }
@@ -2794,8 +2778,7 @@
     for (int i = 0; i < preOperationModifyDNPlugins.length; i++)
     {
       DirectoryServerPlugin p = preOperationModifyDNPlugins[i];
-      if (modifyDNOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(modifyDNOperation, p))
       {
         continue;
       }
@@ -2859,8 +2842,7 @@
     for (int i = 0; i < preOperationSearchPlugins.length; i++)
     {
       DirectoryServerPlugin p = preOperationSearchPlugins[i];
-      if (searchOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(searchOperation, p))
       {
         continue;
       }
@@ -2922,8 +2904,7 @@
 
     for (DirectoryServerPlugin p : postOperationAbandonPlugins)
     {
-      if (abandonOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(abandonOperation, p))
       {
         continue;
       }
@@ -2934,22 +2915,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
-                abandonOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                abandonOperation.getConnectionID(),
-                abandonOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(abandonOperation, p, e, ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
-                abandonOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                abandonOperation.getConnectionID(),
-                abandonOperation.getOperationID());
+        logNullResult(abandonOperation, p, ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continueProcessing())
       {
@@ -2999,13 +2970,8 @@
 
     for (DirectoryServerPlugin p : postOperationAddPlugins)
     {
-      if (addOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
-      {
-        continue;
-      }
-
-      if(skippedPlugins != null && skippedPlugins.contains(p))
+      if (isInternalOperation(addOperation, p)
+          || isSkipped(skippedPlugins, p))
       {
         continue;
       }
@@ -3016,20 +2982,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
-                addOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                addOperation.getConnectionID(), addOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(addOperation, p, e, ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
-                addOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                addOperation.getConnectionID(), addOperation.getOperationID());
+        logNullResult(addOperation, p, ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continueProcessing())
       {
@@ -3079,13 +3037,8 @@
 
     for (DirectoryServerPlugin p : postOperationBindPlugins)
     {
-      if (bindOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
-      {
-        continue;
-      }
-
-      if(skippedPlugins != null && skippedPlugins.contains(p))
+      if (isInternalOperation(bindOperation, p)
+          || isSkipped(skippedPlugins, p))
       {
         continue;
       }
@@ -3096,21 +3049,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
-                bindOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                bindOperation.getConnectionID(), bindOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(bindOperation, p, e, ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
-                bindOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                bindOperation.getConnectionID(),
-                bindOperation.getOperationID());
+        logNullResult(bindOperation, p, ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continueProcessing())
       {
@@ -3160,13 +3104,8 @@
 
     for (DirectoryServerPlugin p : postOperationComparePlugins)
     {
-      if (compareOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
-      {
-        continue;
-      }
-
-      if(skippedPlugins != null && skippedPlugins.contains(p))
+      if (isInternalOperation(compareOperation, p)
+          || isSkipped(skippedPlugins, p))
       {
         continue;
       }
@@ -3177,22 +3116,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
-                compareOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                compareOperation.getConnectionID(),
-                compareOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(compareOperation, p, e, ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
-                compareOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                compareOperation.getConnectionID(),
-                compareOperation.getOperationID());
+        logNullResult(compareOperation, p, ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continueProcessing())
       {
@@ -3220,7 +3149,15 @@
     return finalResult;
   }
 
+  private boolean isInternalOperation(PluginOperation op, DirectoryServerPlugin p)
+  {
+    return op.isInternalOperation() && !p.invokeForInternalOperations();
+  }
 
+  private boolean isSkipped(ArrayList<DirectoryServerPlugin> skippedPlugins, DirectoryServerPlugin p)
+  {
+    return skippedPlugins != null && skippedPlugins.contains(p);
+  }
 
   /**
    * Invokes the set of post-operation delete plugins that have been configured
@@ -3242,13 +3179,8 @@
 
     for (DirectoryServerPlugin p : postOperationDeletePlugins)
     {
-      if (deleteOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
-      {
-        continue;
-      }
-
-      if(skippedPlugins != null && skippedPlugins.contains(p))
+      if (isInternalOperation(deleteOperation, p)
+          || isSkipped(skippedPlugins, p))
       {
         continue;
       }
@@ -3259,22 +3191,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
-                deleteOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                deleteOperation.getConnectionID(),
-                deleteOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(deleteOperation, p, e, ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
-                deleteOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                deleteOperation.getConnectionID(),
-                deleteOperation.getOperationID());
+        logNullResult(deleteOperation, p, ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continueProcessing())
       {
@@ -3324,13 +3246,8 @@
 
     for (DirectoryServerPlugin p : postOperationExtendedPlugins)
     {
-      if (extendedOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
-      {
-        continue;
-      }
-
-      if(skippedPlugins != null && skippedPlugins.contains(p))
+      if (isInternalOperation(extendedOperation, p)
+          || isSkipped(skippedPlugins, p))
       {
         continue;
       }
@@ -3341,22 +3258,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
-                extendedOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                extendedOperation.getConnectionID(),
-                extendedOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(extendedOperation, p, e, ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
-                extendedOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                extendedOperation.getConnectionID(),
-                extendedOperation.getOperationID());
+        logNullResult(extendedOperation, p, ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continueProcessing())
       {
@@ -3406,13 +3313,8 @@
 
     for (DirectoryServerPlugin p : postOperationModifyPlugins)
     {
-      if (modifyOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
-      {
-        continue;
-      }
-
-      if(skippedPlugins != null && skippedPlugins.contains(p))
+      if (isInternalOperation(modifyOperation, p)
+          || isSkipped(skippedPlugins, p))
       {
         continue;
       }
@@ -3423,22 +3325,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
-                modifyOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                modifyOperation.getConnectionID(),
-                modifyOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(modifyOperation, p, e, ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
-                modifyOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                modifyOperation.getConnectionID(),
-                modifyOperation.getOperationID());
+        logNullResult(modifyOperation, p, ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continueProcessing())
       {
@@ -3487,13 +3379,8 @@
 
     for (DirectoryServerPlugin p : postOperationModifyDNPlugins)
     {
-      if (modifyDNOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
-      {
-        continue;
-      }
-
-      if(skippedPlugins != null && skippedPlugins.contains(p))
+      if (isInternalOperation(modifyDNOperation, p)
+          || isSkipped(skippedPlugins, p))
       {
         continue;
       }
@@ -3504,22 +3391,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
-                modifyDNOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                modifyDNOperation.getConnectionID(),
-                modifyDNOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(modifyDNOperation, p, e, ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
-                modifyDNOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                modifyDNOperation.getConnectionID(),
-                modifyDNOperation.getOperationID());
+        logNullResult(modifyDNOperation, p, ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continueProcessing())
       {
@@ -3569,13 +3446,8 @@
 
     for (DirectoryServerPlugin p : postOperationSearchPlugins)
     {
-      if (searchOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
-      {
-        continue;
-      }
-
-      if(skippedPlugins != null && skippedPlugins.contains(p))
+      if (isInternalOperation(searchOperation, p)
+          || isSkipped(skippedPlugins, p))
       {
         continue;
       }
@@ -3586,22 +3458,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
-                searchOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                searchOperation.getConnectionID(),
-                searchOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(searchOperation, p, e, ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
-                searchOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                searchOperation.getConnectionID(),
-                searchOperation.getOperationID());
+        logNullResult(searchOperation, p, ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continueProcessing())
       {
@@ -3651,13 +3513,8 @@
 
     for (DirectoryServerPlugin p : postOperationUnbindPlugins)
     {
-      if (unbindOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
-      {
-        continue;
-      }
-
-      if(skippedPlugins != null && skippedPlugins.contains(p))
+      if (isInternalOperation(unbindOperation, p)
+          || isSkipped(skippedPlugins, p))
       {
         continue;
       }
@@ -3668,22 +3525,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION,
-                unbindOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                unbindOperation.getConnectionID(),
-                unbindOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(unbindOperation, p, e, ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL,
-                unbindOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                unbindOperation.getConnectionID(),
-                unbindOperation.getOperationID());
+        logNullResult(unbindOperation, p, ERR_PLUGIN_POST_OPERATION_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continueProcessing())
       {
@@ -3729,8 +3576,7 @@
 
     for (DirectoryServerPlugin p : postResponseAddPlugins)
     {
-      if (addOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(addOperation, p))
       {
         continue;
       }
@@ -3741,20 +3587,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION,
-                addOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                addOperation.getConnectionID(), addOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(addOperation, p, e, ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL,
-                addOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                addOperation.getConnectionID(), addOperation.getOperationID());
+        logNullResult(addOperation, p, ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continuePluginProcessing())
       {
@@ -3790,8 +3628,7 @@
 
     for (DirectoryServerPlugin p : postResponseBindPlugins)
     {
-      if (bindOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(bindOperation, p))
       {
         continue;
       }
@@ -3802,21 +3639,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION,
-                bindOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                bindOperation.getConnectionID(), bindOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(bindOperation, p, e, ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL,
-                bindOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                bindOperation.getConnectionID(),
-                bindOperation.getOperationID());
+        logNullResult(bindOperation, p, ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continuePluginProcessing())
       {
@@ -3852,8 +3680,7 @@
 
     for (DirectoryServerPlugin p : postResponseComparePlugins)
     {
-      if (compareOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(compareOperation, p))
       {
         continue;
       }
@@ -3864,22 +3691,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION,
-                compareOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                compareOperation.getConnectionID(),
-                compareOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(compareOperation, p, e, ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL,
-                compareOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                compareOperation.getConnectionID(),
-                compareOperation.getOperationID());
+        logNullResult(compareOperation, p, ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continuePluginProcessing())
       {
@@ -3897,8 +3714,6 @@
     return result;
   }
 
-
-
   /**
    * Invokes the set of post-response delete plugins that have been configured
    * in the Directory Server.
@@ -3915,8 +3730,7 @@
 
     for (DirectoryServerPlugin p : postResponseDeletePlugins)
     {
-      if (deleteOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(deleteOperation, p))
       {
         continue;
       }
@@ -3927,22 +3741,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION,
-                deleteOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                deleteOperation.getConnectionID(),
-                deleteOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(deleteOperation, p, e, ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL,
-                deleteOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                deleteOperation.getConnectionID(),
-                deleteOperation.getOperationID());
+        logNullResult(deleteOperation, p, ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continuePluginProcessing())
       {
@@ -3977,8 +3781,7 @@
 
     for (DirectoryServerPlugin p : postResponseExtendedPlugins)
     {
-      if (extendedOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(extendedOperation, p))
       {
         continue;
       }
@@ -3989,22 +3792,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION,
-                extendedOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                extendedOperation.getConnectionID(),
-                extendedOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(extendedOperation, p, e, ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL,
-                extendedOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                extendedOperation.getConnectionID(),
-                extendedOperation.getOperationID());
+        logNullResult(extendedOperation, p, ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continuePluginProcessing())
       {
@@ -4040,8 +3833,7 @@
 
     for (DirectoryServerPlugin p : postResponseModifyPlugins)
     {
-      if (modifyOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(modifyOperation, p))
       {
         continue;
       }
@@ -4052,22 +3844,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION,
-                modifyOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                modifyOperation.getConnectionID(),
-                modifyOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(modifyOperation, p, e, ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL,
-                modifyOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                modifyOperation.getConnectionID(),
-                modifyOperation.getOperationID());
+        logNullResult(modifyOperation, p, ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continuePluginProcessing())
       {
@@ -4103,8 +3885,7 @@
 
     for (DirectoryServerPlugin p : postResponseModifyDNPlugins)
     {
-      if (modifyDNOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(modifyDNOperation, p))
       {
         continue;
       }
@@ -4115,22 +3896,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION,
-                modifyDNOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                modifyDNOperation.getConnectionID(),
-                modifyDNOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(modifyDNOperation, p, e, ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL,
-                modifyDNOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                modifyDNOperation.getConnectionID(),
-                modifyDNOperation.getOperationID());
+        logNullResult(modifyDNOperation, p, ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continuePluginProcessing())
       {
@@ -4166,8 +3937,7 @@
 
     for (DirectoryServerPlugin p : postResponseSearchPlugins)
     {
-      if (searchOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(searchOperation, p))
       {
         continue;
       }
@@ -4178,22 +3948,12 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION,
-                searchOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                searchOperation.getConnectionID(),
-                searchOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(searchOperation, p, e, ERR_PLUGIN_POST_RESPONSE_PLUGIN_EXCEPTION);
       }
 
       if (result == null)
       {
-        logger.error(ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL,
-                searchOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                searchOperation.getConnectionID(),
-                searchOperation.getOperationID());
+        logNullResult(searchOperation, p, ERR_PLUGIN_POST_RESPONSE_PLUGIN_RETURNED_NULL);
       }
       else if (!result.continuePluginProcessing())
       {
@@ -4211,7 +3971,25 @@
     return result;
   }
 
+  private void logException(PluginOperation op, DirectoryServerPlugin p, Exception e,
+      Arg5<Object, Object, Number, Number, Object> errorMsg)
+  {
+    logger.traceException(e);
+    logger.error(errorMsg,
+            op.getOperationType().getOperationName(),
+            p.getPluginEntryDN(),
+            op.getConnectionID(), op.getOperationID(),
+            stackTraceToSingleLineString(e));
+  }
 
+  private void logNullResult(PluginOperation op, DirectoryServerPlugin p,
+      Arg4<Object, Object, Number, Number> nullResultMsg)
+  {
+    logger.error(nullResultMsg,
+            op.getOperationType().getOperationName(),
+            p.getPluginEntryDN(),
+            op.getConnectionID(), op.getOperationID());
+  }
 
   /**
    * Invokes the set of post-synchronization add plugins that have been
@@ -4231,12 +4009,7 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_SYNCHRONIZATION_PLUGIN_EXCEPTION,
-                addOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                addOperation.getConnectionID(), addOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(addOperation, p, e, ERR_PLUGIN_POST_SYNCHRONIZATION_PLUGIN_EXCEPTION);
       }
     }
   }
@@ -4261,19 +4034,11 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_SYNCHRONIZATION_PLUGIN_EXCEPTION,
-                deleteOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                deleteOperation.getConnectionID(),
-                deleteOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(deleteOperation, p, e, ERR_PLUGIN_POST_SYNCHRONIZATION_PLUGIN_EXCEPTION);
       }
     }
   }
 
-
-
   /**
    * Invokes the set of post-synchronization modify plugins that have been
    * configured in the Directory Server.
@@ -4292,13 +4057,7 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_SYNCHRONIZATION_PLUGIN_EXCEPTION,
-                modifyOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                modifyOperation.getConnectionID(),
-                modifyOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(modifyOperation, p, e, ERR_PLUGIN_POST_SYNCHRONIZATION_PLUGIN_EXCEPTION);
       }
     }
   }
@@ -4323,13 +4082,7 @@
       }
       catch (Exception e)
       {
-        logger.traceException(e);
-        logger.error(ERR_PLUGIN_POST_SYNCHRONIZATION_PLUGIN_EXCEPTION,
-                modifyDNOperation.getOperationType().getOperationName(),
-                p.getPluginEntryDN(),
-                modifyDNOperation.getConnectionID(),
-                modifyDNOperation.getOperationID(),
-                stackTraceToSingleLineString(e));
+        logException(modifyDNOperation, p, e, ERR_PLUGIN_POST_SYNCHRONIZATION_PLUGIN_EXCEPTION);
       }
     }
   }
@@ -4354,8 +4107,7 @@
 
     for (DirectoryServerPlugin p : searchResultEntryPlugins)
     {
-      if (searchOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(searchOperation, p))
       {
         continue;
       }
@@ -4429,8 +4181,7 @@
 
     for (DirectoryServerPlugin p : searchResultReferencePlugins)
     {
-      if (searchOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(searchOperation, p))
       {
         continue;
       }
@@ -4509,8 +4260,7 @@
 
     for (DirectoryServerPlugin p : subordinateModifyDNPlugins)
     {
-      if (modifyDNOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (isInternalOperation(modifyDNOperation, p))
       {
         continue;
       }
@@ -4583,8 +4333,7 @@
 
     for (DirectoryServerPlugin p : subordinateDeletePlugins)
     {
-      if (deleteOperation.isInternalOperation() &&
-          (! p.invokeForInternalOperations()))
+      if (deleteOperation.isInternalOperation() && !p.invokeForInternalOperations())
       {
         continue;
       }
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/plugin.properties b/opendj-server-legacy/src/messages/org/opends/messages/plugin.properties
index 569bb66..e2b326c 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/plugin.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/plugin.properties
@@ -20,7 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
-#      Portions Copyright 2014 ForgeRock AS
+#      Portions Copyright 2014-2015 ForgeRock AS
 
 
 
@@ -112,7 +112,7 @@
  terminated
 ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=The pre-parse %s plugin \
  defined in configuration entry %s returned null when invoked for connection \
- %d operation %s. This is an illegal response, and processing on this \
+ %d operation %d. This is an illegal response, and processing on this \
  operation will be terminated
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_EXCEPTION_41=The pre-operation %s \
  plugin defined in configuration entry %s threw an exception when it was \
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/plugin_de.properties b/opendj-server-legacy/src/messages/org/opends/messages/plugin_de.properties
index 2777b85..95fbeb3 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/plugin_de.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/plugin_de.properties
@@ -20,6 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
+#      Portions Copyright 2015 ForgeRock AS
 
 
 
@@ -66,7 +67,7 @@
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_EXCEPTION_37=Das in Konfigurationseintrag %s definierte Abschlussverbindungstrennungs-Plugin hat einen Ausnahmefehler ausgel\u00f6st, als es f\u00fcr Verbindung %d von %s aufgerufen wurde:  %s
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_RETURNED_NULL_38=Das in Konfigurationseintrag %s definierte Abschlussverbindungstrennungs-Plugin hat Null zur\u00fcckgegeben, als es f\u00fcr Verbindung %d von %s aufgerufen wurde.  Dies ist eine unzul\u00e4ssige Reaktion
 ERR_PLUGIN_PRE_PARSE_PLUGIN_EXCEPTION_39=Das in Konfigurationseintrag %s definierte Voranalyse-Plugin %s hat einen Ausnahmefehler ausgel\u00f6st, als es f\u00fcr Verbindung %d Vorgang %d aufgerufen wurde:  %s.  Die Verarbeitung dieses Vorgangs wird beendet
-ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=Das in Konfigurationseintrag %s definierte Voranalyse-Plugin %s hat Null zur\u00fcckgegeben, als es f\u00fcr Verbindung %d Vorgang %s aufgerufen wurde.  Dies ist eine unzul\u00e4ssige Reaktion und die Verarbeitung dieses Vorgangs wird beendet
+ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=Das in Konfigurationseintrag %s definierte Voranalyse-Plugin %s hat Null zur\u00fcckgegeben, als es f\u00fcr Verbindung %d Vorgang %d aufgerufen wurde.  Dies ist eine unzul\u00e4ssige Reaktion und die Verarbeitung dieses Vorgangs wird beendet
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_EXCEPTION_41=Das in Konfigurationseintrag %s definierte Pr\u00e4operations-Plugin %s hat einen Ausnahmefehler ausgel\u00f6st, als es f\u00fcr Verbindung %d Vorgang %d aufgerufen wurde:  %s.  Die Verarbeitung dieses Vorgangs wird beendet
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_RETURNED_NULL_42=Das in Konfigurationseintrag %s definierte Pr\u00e4operations-Plugin %s hat Null zur\u00fcckgegeben, als es f\u00fcr Verbindung %d Vorgang %d aufgerufen wurde.  Dies ist eine unzul\u00e4ssige Reaktion und die Verarbeitung dieses Vorgangs wird beendet
 ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION_43=Das in Konfigurationseintrag %s definierte Abschlussvorgangs-Plugin %s hat einen Ausnahmefehler ausgel\u00f6st, als es f\u00fcr Verbindung %d Vorgang %d aufgerufen wurde:  %s.  Die Verarbeitung dieses Vorgangs wird beendet
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/plugin_es.properties b/opendj-server-legacy/src/messages/org/opends/messages/plugin_es.properties
index 9f2b1ea..aaa5d35 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/plugin_es.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/plugin_es.properties
@@ -20,6 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
+#      Portions Copyright 2015 ForgeRock AS
 
 
 
@@ -66,7 +67,7 @@
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_EXCEPTION_37=El complemento de posdesconexi\u00f3n definido en la entrada de configuraci\u00f3n %s devolvi\u00f3 una excepci\u00f3n al ser invocado para la conexi\u00f3n %d de %s:  %s
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_RETURNED_NULL_38=El complemento de posdesconexi\u00f3n definido en la entrada de configuraci\u00f3n %s devolvi\u00f3 un valor nulo al ser invocado para la conexi\u00f3n %d de %s.  Esta respuesta no est\u00e1 permitida
 ERR_PLUGIN_PRE_PARSE_PLUGIN_EXCEPTION_39=El complemento de %s prean\u00e1lisis definido en la entrada de configuraci\u00f3n %s devolvi\u00f3 una excepci\u00f3n al ser invocado para la conexi\u00f3n %d operaci\u00f3n %d:  %s.  Se finalizar\u00e1 el procesamiento de esta operaci\u00f3n
-ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=El complemento de %s prean\u00e1lisis definido en la entrada de configuraci\u00f3n %s devolvi\u00f3 un valor nulo al ser invocado para la conexi\u00f3n %d operaci\u00f3n %s.  Esta respuesta no est\u00e1 permitida, por lo que se finalizar\u00e1 el procesamiento de esta operaci\u00f3n
+ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=El complemento de %s prean\u00e1lisis definido en la entrada de configuraci\u00f3n %s devolvi\u00f3 un valor nulo al ser invocado para la conexi\u00f3n %d operaci\u00f3n %d.  Esta respuesta no est\u00e1 permitida, por lo que se finalizar\u00e1 el procesamiento de esta operaci\u00f3n
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_EXCEPTION_41=El complemento de %s preoperaci\u00f3n definido en la entrada de configuraci\u00f3n %s devolvi\u00f3 una excepci\u00f3n al ser invocado para la conexi\u00f3n %d operaci\u00f3n %d:  %s.  Se finalizar\u00e1 el procesamiento de esta operaci\u00f3n
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_RETURNED_NULL_42=El complemento de %s preoperaci\u00f3n definido en la entrada de configuraci\u00f3n %s devolvi\u00f3 un valor nulo al ser invocado para la conexi\u00f3n %d operaci\u00f3n %d.  Esta respuesta no est\u00e1 permitida, por lo que se finalizar\u00e1 el procesamiento de esta operaci\u00f3n
 ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION_43=El complemento de %s posoperaci\u00f3n definido en la entrada de configuraci\u00f3n %s devolvi\u00f3 una excepci\u00f3n al ser invocado para la conexi\u00f3n %d operaci\u00f3n %d:  %s.  Se finalizar\u00e1 el procesamiento de esta operaci\u00f3n
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/plugin_fr.properties b/opendj-server-legacy/src/messages/org/opends/messages/plugin_fr.properties
index c19249d..7a893c1 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/plugin_fr.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/plugin_fr.properties
@@ -20,6 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
+#      Portions Copyright 2015 ForgeRock AS
 
 
 
@@ -66,7 +67,7 @@
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_EXCEPTION_37=Le plug-in apr\u00e8s d\u00e9connexion d\u00e9fini dans l\u2019entr\u00e9e de configuration %s a g\u00e9n\u00e9r\u00e9 une exception lors de son appel pour la connexion %d depuis %s\u00a0: %s
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_RETURNED_NULL_38=Le plug-in apr\u00e8s d\u00e9connexion d\u00e9fini dans l\u2019entr\u00e9e de configuration %s a renvoy\u00e9 la valeur Null lors de son appel pour la connexion %d depuis %s. Cette r\u00e9ponse est ill\u00e9gale
 ERR_PLUGIN_PRE_PARSE_PLUGIN_EXCEPTION_39=Le plug-in avant analyse %s, d\u00e9fini dans l\u2019entr\u00e9e de configuration %s, a g\u00e9n\u00e9r\u00e9 une exception lors de son appel pour la connexion %d, op\u00e9ration %d\u00a0: %s. Le traitement de cette op\u00e9ration va \u00eatre termin\u00e9
-ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=Le plug-in avant analyse %s, d\u00e9fini dans l\u2019entr\u00e9e de configuration %s, a renvoy\u00e9 la valeur Null lors de son appel pour la connexion %d, op\u00e9ration %s. Cette r\u00e9ponse est ill\u00e9gale et le traitement de cette op\u00e9ration va \u00eatre termin\u00e9
+ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=Le plug-in avant analyse %s, d\u00e9fini dans l\u2019entr\u00e9e de configuration %s, a renvoy\u00e9 la valeur Null lors de son appel pour la connexion %d, op\u00e9ration %d. Cette r\u00e9ponse est ill\u00e9gale et le traitement de cette op\u00e9ration va \u00eatre termin\u00e9
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_EXCEPTION_41=Le plug-in avant op\u00e9ration %s, d\u00e9fini dans l\u2019entr\u00e9e de configuration %s, a g\u00e9n\u00e9r\u00e9 une exception lors de son appel pour la connexion %d, op\u00e9ration %d\u00a0: %s. Le traitement de cette op\u00e9ration va \u00eatre termin\u00e9
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_RETURNED_NULL_42=Le plug-in avant op\u00e9ration %s, d\u00e9fini dans l\u2019entr\u00e9e de configuration %s, a renvoy\u00e9 la valeur Null lors de son appel pour la connexion %d, op\u00e9ration %d. Cette r\u00e9ponse est ill\u00e9gale et le traitement de cette op\u00e9ration va \u00eatre termin\u00e9
 ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION_43=Le plug-in apr\u00e8s op\u00e9ration %s, d\u00e9fini dans l\u2019entr\u00e9e de configuration %s, a g\u00e9n\u00e9r\u00e9 une exception lors de son appel pour la connexion %d, op\u00e9ration %d\u00a0: %s. Le traitement de cette op\u00e9ration va \u00eatre termin\u00e9
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/plugin_ja.properties b/opendj-server-legacy/src/messages/org/opends/messages/plugin_ja.properties
index c0db5b1..c769997 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/plugin_ja.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/plugin_ja.properties
@@ -20,6 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
+#      Portions Copyright 2015 ForgeRock AS
 
 
 
@@ -66,7 +67,7 @@
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_EXCEPTION_37=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %1$s \u3067\u5b9a\u7fa9\u3055\u308c\u305f\u5207\u65ad\u5f8c\u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u3001%3$s \u304b\u3089\u306e\u63a5\u7d9a %2$d \u306e\u305f\u3081\u306b\u547c\u3073\u51fa\u3055\u308c\u305f\u3068\u304d\u306b\u4f8b\u5916\u3092\u30b9\u30ed\u30fc\u3057\u307e\u3057\u305f:  %4$s
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_RETURNED_NULL_38=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %1$s \u3067\u5b9a\u7fa9\u3055\u308c\u305f\u5207\u65ad\u5f8c\u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u3001%3$s \u304b\u3089\u306e\u63a5\u7d9a %2$d \u306e\u305f\u3081\u306b\u547c\u3073\u51fa\u3055\u308c\u3068\u304d\u306b NULL \u3092\u8fd4\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u4e0d\u6b63\u306a\u5fdc\u7b54\u3067\u3059
 ERR_PLUGIN_PRE_PARSE_PLUGIN_EXCEPTION_39=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %2$s \u3067\u5b9a\u7fa9\u3055\u308c\u305f\u89e3\u6790\u524d %1$s \u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u3001\u63a5\u7d9a %3$d \u306e\u64cd\u4f5c %4$d \u306e\u305f\u3081\u306b\u547c\u3073\u51fa\u3055\u308c\u305f\u3068\u304d\u306b\u4f8b\u5916\u3092\u30b9\u30ed\u30fc\u3057\u307e\u3057\u305f:  %5$s\u3002\u3053\u306e\u64cd\u4f5c\u306e\u51e6\u7406\u306f\u7d42\u4e86\u3057\u307e\u3059
-ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %2$s \u3067\u5b9a\u7fa9\u3055\u308c\u305f\u89e3\u6790\u524d %1$s \u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u3001\u63a5\u7d9a %3$d \u306e\u64cd\u4f5c %4$s \u306e\u305f\u3081\u306b\u547c\u3073\u51fa\u3055\u308c\u3068\u304d\u306b NULL \u3092\u8fd4\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u4e0d\u6b63\u306a\u5fdc\u7b54\u3067\u3042\u308b\u305f\u3081\u3001\u3053\u306e\u64cd\u4f5c\u306e\u51e6\u7406\u306f\u7d42\u4e86\u3057\u307e\u3059
+ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %2$s \u3067\u5b9a\u7fa9\u3055\u308c\u305f\u89e3\u6790\u524d %1$s \u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u3001\u63a5\u7d9a %3$d \u306e\u64cd\u4f5c %4$d \u306e\u305f\u3081\u306b\u547c\u3073\u51fa\u3055\u308c\u3068\u304d\u306b NULL \u3092\u8fd4\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u4e0d\u6b63\u306a\u5fdc\u7b54\u3067\u3042\u308b\u305f\u3081\u3001\u3053\u306e\u64cd\u4f5c\u306e\u51e6\u7406\u306f\u7d42\u4e86\u3057\u307e\u3059
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_EXCEPTION_41=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %2$s \u3067\u5b9a\u7fa9\u3055\u308c\u305f\u64cd\u4f5c\u524d %1$s \u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u3001\u63a5\u7d9a %3$d \u306e\u64cd\u4f5c %4$d \u306e\u305f\u3081\u306b\u547c\u3073\u51fa\u3055\u308c\u305f\u3068\u304d\u306b\u4f8b\u5916\u3092\u30b9\u30ed\u30fc\u3057\u307e\u3057\u305f:  %5$s\u3002\u3053\u306e\u64cd\u4f5c\u306e\u51e6\u7406\u306f\u7d42\u4e86\u3057\u307e\u3059
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_RETURNED_NULL_42=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %2$s \u3067\u5b9a\u7fa9\u3055\u308c\u305f\u64cd\u4f5c\u524d %1$s \u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u3001\u63a5\u7d9a %3$d \u306e\u64cd\u4f5c %4$d \u306e\u305f\u3081\u306b\u547c\u3073\u51fa\u3055\u308c\u3068\u304d\u306b NULL \u3092\u8fd4\u3057\u307e\u3057\u305f\u3002\u3053\u308c\u306f\u4e0d\u6b63\u306a\u5fdc\u7b54\u3067\u3042\u308b\u305f\u3081\u3001\u3053\u306e\u64cd\u4f5c\u306e\u51e6\u7406\u306f\u7d42\u4e86\u3057\u307e\u3059
 ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION_43=\u69cb\u6210\u30a8\u30f3\u30c8\u30ea %2$s \u3067\u5b9a\u7fa9\u3055\u308c\u305f\u64cd\u4f5c\u5f8c %1$s \u30d7\u30e9\u30b0\u30a4\u30f3\u304c\u3001\u63a5\u7d9a %3$d \u306e\u64cd\u4f5c %4$d \u306e\u305f\u3081\u306b\u547c\u3073\u51fa\u3055\u308c\u305f\u3068\u304d\u306b\u4f8b\u5916\u3092\u30b9\u30ed\u30fc\u3057\u307e\u3057\u305f:  %5$s\u3002\u3053\u306e\u64cd\u4f5c\u306e\u51e6\u7406\u306f\u7d42\u4e86\u3057\u307e\u3059
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/plugin_ko.properties b/opendj-server-legacy/src/messages/org/opends/messages/plugin_ko.properties
index ed14136..753ef86 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/plugin_ko.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/plugin_ko.properties
@@ -20,6 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2009 Sun Microsystems, Inc.
+#      Portions Copyright 2015 ForgeRock AS
 
 
 
@@ -66,7 +67,7 @@
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_EXCEPTION_37=%3$s\uc5d0\uc11c \uc5f0\uacb0 %2$d\uc5d0 \ub300\ud574 \uad6c\uc131 \ud56d\ubaa9 %1$s\uc5d0 \uc815\uc758\ub41c \uc0ac\ud6c4 \uc5f0\uacb0 \ud574\uc81c \ud50c\ub7ec\uadf8\uc778\uc744 \ud638\ucd9c\ud560 \ub54c \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %4$s
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_RETURNED_NULL_38=%3$s\uc5d0\uc11c \uc5f0\uacb0 %2$d\uc5d0 \ub300\ud574 \uad6c\uc131 \ud56d\ubaa9 %1$s\uc5d0 \uc815\uc758\ub41c \uc0ac\ud6c4 \uc5f0\uacb0 \ud574\uc81c \ud50c\ub7ec\uadf8\uc778\uc744 \ud638\ucd9c\ud560 \ub54c null \uac12\uc774 \ubc18\ud658\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774 \uac12\uc740 \uc798\ubabb\ub41c \uc751\ub2f5\uc785\ub2c8\ub2e4.
 ERR_PLUGIN_PRE_PARSE_PLUGIN_EXCEPTION_39=\uc5f0\uacb0 %3$d \uc791\uc5c5 %4$d\uc5d0 \ub300\ud574 \uad6c\uc131 \ud56d\ubaa9 %2$s\uc5d0 \uc815\uc758\ub41c \uc0ac\uc804 \uad6c\ubb38 \ubd84\uc11d %1$s \ud50c\ub7ec\uadf8\uc778\uc744 \ud638\ucd9c\ud560 \ub54c \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %5$s. \uc774 \uc791\uc5c5\uc5d0 \ub300\ud55c \ucc98\ub9ac\uac00 \uc885\ub8cc\ub429\ub2c8\ub2e4.
-ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=\uc5f0\uacb0 %3$d \uc791\uc5c5 %4$s\uc5d0 \ub300\ud574 \uad6c\uc131 \ud56d\ubaa9 %2$s\uc5d0 \uc815\uc758\ub41c \uc0ac\uc804 \uad6c\ubb38 \ubd84\uc11d %1$s \ud50c\ub7ec\uadf8\uc778\uc744 \ud638\ucd9c\ud560 \ub54c null\uc774 \ubc18\ud658\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774 \uac12\uc740 \uc798\ubabb\ub41c \uc751\ub2f5\uc774\ubbc0\ub85c \uc774 \uc791\uc5c5\uc5d0 \ub300\ud55c \ucc98\ub9ac\uac00 \uc885\ub8cc\ub429\ub2c8\ub2e4.
+ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=\uc5f0\uacb0 %3$d \uc791\uc5c5 %4$d\uc5d0 \ub300\ud574 \uad6c\uc131 \ud56d\ubaa9 %2$s\uc5d0 \uc815\uc758\ub41c \uc0ac\uc804 \uad6c\ubb38 \ubd84\uc11d %1$s \ud50c\ub7ec\uadf8\uc778\uc744 \ud638\ucd9c\ud560 \ub54c null\uc774 \ubc18\ud658\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774 \uac12\uc740 \uc798\ubabb\ub41c \uc751\ub2f5\uc774\ubbc0\ub85c \uc774 \uc791\uc5c5\uc5d0 \ub300\ud55c \ucc98\ub9ac\uac00 \uc885\ub8cc\ub429\ub2c8\ub2e4.
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_EXCEPTION_41=\uc5f0\uacb0 %3$d \uc791\uc5c5 %4$d\uc5d0 \ub300\ud574 \uad6c\uc131 \ud56d\ubaa9 %2$s\uc5d0 \uc815\uc758\ub41c \uc0ac\uc804 \uc791\uc5c5 %1$s \ud50c\ub7ec\uadf8\uc778\uc744 \ud638\ucd9c\ud560 \ub54c \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %5$s. \uc774 \uc791\uc5c5\uc5d0 \ub300\ud55c \ucc98\ub9ac\uac00 \uc885\ub8cc\ub429\ub2c8\ub2e4.
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_RETURNED_NULL_42=\uc5f0\uacb0 %3$d \uc791\uc5c5 %4$d\uc5d0 \ub300\ud574 \uad6c\uc131 \ud56d\ubaa9 %2$s\uc5d0 \uc815\uc758\ub41c \uc0ac\uc804 \uc791\uc5c5 %1$s \ud50c\ub7ec\uadf8\uc778\uc744 \ud638\ucd9c\ud560 \ub54c null\uc774 \ubc18\ud658\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uc774 \uac12\uc740 \uc798\ubabb\ub41c \uc751\ub2f5\uc774\ubbc0\ub85c \uc774 \uc791\uc5c5\uc5d0 \ub300\ud55c \ucc98\ub9ac\uac00 \uc885\ub8cc\ub429\ub2c8\ub2e4.
 ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION_43=\uc5f0\uacb0 %3$d \uc791\uc5c5 %4$d\uc5d0 \ub300\ud574 \uad6c\uc131 \ud56d\ubaa9 %2$s\uc5d0 \uc815\uc758\ub41c \uc0ac\ud6c4 \uc791\uc5c5 %1$s \ud50c\ub7ec\uadf8\uc778\uc744 \ud638\ucd9c\ud560 \ub54c \uc608\uc678\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4: %5$s. \uc774 \uc791\uc5c5\uc5d0 \ub300\ud55c \ucc98\ub9ac\uac00 \uc885\ub8cc\ub429\ub2c8\ub2e4.
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/plugin_zh_CN.properties b/opendj-server-legacy/src/messages/org/opends/messages/plugin_zh_CN.properties
index 4f9e936..305afd4 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/plugin_zh_CN.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/plugin_zh_CN.properties
@@ -20,6 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2010 Sun Microsystems, Inc.
+#      Portions Copyright 2015 ForgeRock AS
 
 
 
@@ -66,7 +67,7 @@
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_EXCEPTION_37=\u9488\u5bf9 %3$s \u7684\u8fde\u63a5 %2$d \u8c03\u7528\u914d\u7f6e\u6761\u76ee %1$s \u4e2d\u5b9a\u4e49\u7684\u65ad\u5f00\u540e\u63d2\u4ef6\u65f6\uff0c\u8be5\u63d2\u4ef6\u629b\u51fa\u5f02\u5e38: %4$s
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_RETURNED_NULL_38=\u9488\u5bf9 %3$s \u7684\u8fde\u63a5 %2$d \u8c03\u7528\u914d\u7f6e\u6761\u76ee %1$s \u4e2d\u5b9a\u4e49\u7684\u65ad\u5f00\u540e\u63d2\u4ef6\u65f6\uff0c\u8be5\u63d2\u4ef6\u8fd4\u56de null\u3002\u8fd9\u662f\u975e\u6cd5\u7684\u54cd\u5e94
 ERR_PLUGIN_PRE_PARSE_PLUGIN_EXCEPTION_39=\u9488\u5bf9\u8fde\u63a5 %3$d \u64cd\u4f5c %4$d \u8c03\u7528\u914d\u7f6e\u6761\u76ee %2$s \u4e2d\u5b9a\u4e49\u7684\u89e3\u6790\u524d %1$s \u63d2\u4ef6\u65f6\uff0c\u8be5\u63d2\u4ef6\u629b\u51fa\u5f02\u5e38: %5$s\u3002\u5c06\u7ec8\u6b62\u5bf9\u6b64\u64cd\u4f5c\u7684\u5904\u7406
-ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=\u9488\u5bf9\u8fde\u63a5 %3$d \u64cd\u4f5c %4$s \u8c03\u7528\u914d\u7f6e\u6761\u76ee %2$s \u4e2d\u5b9a\u4e49\u7684\u89e3\u6790\u524d %1$s \u63d2\u4ef6\u65f6\uff0c\u8be5\u63d2\u4ef6\u8fd4\u56de null\u3002\u8fd9\u662f\u975e\u6cd5\u7684\u54cd\u5e94\uff0c\u5c06\u7ec8\u6b62\u5bf9\u6b64\u64cd\u4f5c\u7684\u5904\u7406
+ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=\u9488\u5bf9\u8fde\u63a5 %3$d \u64cd\u4f5c %4$d \u8c03\u7528\u914d\u7f6e\u6761\u76ee %2$s \u4e2d\u5b9a\u4e49\u7684\u89e3\u6790\u524d %1$s \u63d2\u4ef6\u65f6\uff0c\u8be5\u63d2\u4ef6\u8fd4\u56de null\u3002\u8fd9\u662f\u975e\u6cd5\u7684\u54cd\u5e94\uff0c\u5c06\u7ec8\u6b62\u5bf9\u6b64\u64cd\u4f5c\u7684\u5904\u7406
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_EXCEPTION_41=\u9488\u5bf9\u8fde\u63a5 %3$d \u64cd\u4f5c %4$d \u8c03\u7528\u914d\u7f6e\u6761\u76ee %2$s \u4e2d\u5b9a\u4e49\u7684\u64cd\u4f5c\u524d %1$s \u63d2\u4ef6\u65f6\uff0c\u8be5\u63d2\u4ef6\u629b\u51fa\u5f02\u5e38: %5$s\u3002\u5c06\u7ec8\u6b62\u5bf9\u6b64\u64cd\u4f5c\u7684\u5904\u7406
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_RETURNED_NULL_42=\u9488\u5bf9\u8fde\u63a5 %3$d \u64cd\u4f5c %4$s \u8c03\u7528\u914d\u7f6e\u6761\u76ee %2$s \u4e2d\u5b9a\u4e49\u7684\u64cd\u4f5c\u524d %1$s \u63d2\u4ef6\u65f6\uff0c\u8be5\u63d2\u4ef6\u8fd4\u56de null\u3002\u8fd9\u662f\u975e\u6cd5\u7684\u54cd\u5e94\uff0c\u5c06\u7ec8\u6b62\u5bf9\u6b64\u64cd\u4f5c\u7684\u5904\u7406
 ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION_43=\u9488\u5bf9\u8fde\u63a5 %3$d \u64cd\u4f5c %4$d \u8c03\u7528\u914d\u7f6e\u6761\u76ee %2$s \u4e2d\u5b9a\u4e49\u7684\u64cd\u4f5c\u540e %1$s \u63d2\u4ef6\u65f6\uff0c\u8be5\u63d2\u4ef6\u629b\u51fa\u5f02\u5e38: %5$s\u3002\u5c06\u7ec8\u6b62\u5bf9\u6b64\u64cd\u4f5c\u7684\u5904\u7406
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/plugin_zh_TW.properties b/opendj-server-legacy/src/messages/org/opends/messages/plugin_zh_TW.properties
index b3dd96f..823924e 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/plugin_zh_TW.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/plugin_zh_TW.properties
@@ -20,6 +20,7 @@
 # CDDL HEADER END
 #
 #      Copyright 2006-2009 Sun Microsystems, Inc.
+#      Portions Copyright 2015 ForgeRock AS
 
 
 
@@ -66,7 +67,7 @@
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_EXCEPTION_37=\u914d\u7f6e\u9805\u76ee %1$s \u4e2d\u6240\u5b9a\u7fa9\u7684\u5f8c\u7f6e\u4e2d\u65b7\u9023\u7dda\u5916\u639b\u7a0b\u5f0f\u5728\u88ab\u547c\u53eb\u4ee5\u5f9e %3$s \u5efa\u7acb\u9023\u7dda %2$d \u6642\u4e1f\u51fa\u7570\u5e38: %4$s
 ERR_PLUGIN_POST_DISCONNECT_PLUGIN_RETURNED_NULL_38=\u914d\u7f6e\u9805\u76ee %1$s \u4e2d\u6240\u5b9a\u7fa9\u7684\u5f8c\u7f6e\u4e2d\u65b7\u9023\u7dda\u5916\u639b\u7a0b\u5f0f\u5728\u88ab\u547c\u53eb\u4ee5\u5f9e %3$s \u5efa\u7acb\u9023\u7dda %2$d \u6642\u50b3\u56de\u7a7a\u503c\u3002\u6b64\u70ba\u975e\u6cd5\u56de\u61c9
 ERR_PLUGIN_PRE_PARSE_PLUGIN_EXCEPTION_39=\u914d\u7f6e\u9805\u76ee %2$s \u4e2d\u6240\u5b9a\u7fa9\u7684\u524d\u7f6e\u5256\u6790 %1$s \u5916\u639b\u7a0b\u5f0f\u5728\u88ab\u547c\u53eb\u4ee5\u9032\u884c\u9023\u7dda %3$d \u4f5c\u696d %4$d \u6642\u4e1f\u51fa\u7570\u5e38: %5$s\u3002\u5c07\u6703\u7d42\u6b62\u6b64\u4f5c\u696d\u7684\u8655\u7406
-ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=\u914d\u7f6e\u9805\u76ee %2$s \u4e2d\u6240\u5b9a\u7fa9\u7684\u524d\u7f6e\u5256\u6790 %1$s \u5916\u639b\u7a0b\u5f0f\u5728\u88ab\u547c\u53eb\u4ee5\u9032\u884c\u9023\u7dda %3$d \u4f5c\u696d %4$s \u6642\u50b3\u56de\u7a7a\u503c\u3002\u6b64\u70ba\u975e\u6cd5\u56de\u61c9\uff0c\u5c07\u6703\u7d42\u6b62\u6b64\u4f5c\u696d\u7684\u8655\u7406
+ERR_PLUGIN_PRE_PARSE_PLUGIN_RETURNED_NULL_40=\u914d\u7f6e\u9805\u76ee %2$s \u4e2d\u6240\u5b9a\u7fa9\u7684\u524d\u7f6e\u5256\u6790 %1$s \u5916\u639b\u7a0b\u5f0f\u5728\u88ab\u547c\u53eb\u4ee5\u9032\u884c\u9023\u7dda %3$d \u4f5c\u696d %4$d \u6642\u50b3\u56de\u7a7a\u503c\u3002\u6b64\u70ba\u975e\u6cd5\u56de\u61c9\uff0c\u5c07\u6703\u7d42\u6b62\u6b64\u4f5c\u696d\u7684\u8655\u7406
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_EXCEPTION_41=\u914d\u7f6e\u9805\u76ee %2$s \u4e2d\u6240\u5b9a\u7fa9\u7684\u524d\u7f6e\u4f5c\u696d %1$s \u5916\u639b\u7a0b\u5f0f\u5728\u88ab\u547c\u53eb\u4ee5\u9032\u884c\u9023\u7dda %3$d \u4f5c\u696d %4$d \u6642\u4e1f\u51fa\u7570\u5e38: %5$s\u3002\u5c07\u6703\u7d42\u6b62\u6b64\u4f5c\u696d\u7684\u8655\u7406
 ERR_PLUGIN_PRE_OPERATION_PLUGIN_RETURNED_NULL_42=\u914d\u7f6e\u9805\u76ee %2$s \u4e2d\u6240\u5b9a\u7fa9\u7684\u524d\u7f6e\u4f5c\u696d %1$s \u5916\u639b\u7a0b\u5f0f\u5728\u88ab\u547c\u53eb\u4ee5\u9032\u884c\u9023\u7dda %3$d \u4f5c\u696d %4$d \u6642\u50b3\u56de\u7a7a\u503c\u3002\u6b64\u70ba\u975e\u6cd5\u56de\u61c9\uff0c\u5c07\u6703\u7d42\u6b62\u6b64\u4f5c\u696d\u7684\u8655\u7406
 ERR_PLUGIN_POST_OPERATION_PLUGIN_EXCEPTION_43=\u914d\u7f6e\u9805\u76ee %2$s \u4e2d\u6240\u5b9a\u7fa9\u7684\u5f8c\u7f6e\u4f5c\u696d %1$s \u5916\u639b\u7a0b\u5f0f\u5728\u88ab\u547c\u53eb\u4ee5\u9032\u884c\u9023\u7dda %3$d \u4f5c\u696d %4$d \u6642\u4e1f\u51fa\u7570\u5e38: %5$s\u3002\u5c07\u6703\u7d42\u6b62\u6b64\u4f5c\u696d\u7684\u8655\u7406

--
Gitblit v1.10.0