From 80c58327faaa4873369f6bb949e62792c2f708e0 Mon Sep 17 00:00:00 2001
From: kenneth_suter <kenneth_suter@localhost>
Date: Wed, 15 Aug 2007 21:34:53 +0000
Subject: [PATCH] This commit is a step toward getting OpenDS internationalized. There are still issues to be resolved before we can declare that we are internationalized but this commit covers the bulk of changes needed at this time.

---
 opends/src/server/org/opends/server/backends/jeb/EntryContainer.java |  351 +++++++++++++++++++++++++++-------------------------------
 1 files changed, 163 insertions(+), 188 deletions(-)

diff --git a/opends/src/server/org/opends/server/backends/jeb/EntryContainer.java b/opends/src/server/org/opends/server/backends/jeb/EntryContainer.java
index f66a598..c6fe728 100644
--- a/opends/src/server/org/opends/server/backends/jeb/EntryContainer.java
+++ b/opends/src/server/org/opends/server/backends/jeb/EntryContainer.java
@@ -25,6 +25,7 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.backends.jeb;
+import org.opends.messages.Message;
 
 import com.sleepycat.je.*;
 
@@ -54,8 +55,9 @@
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
-import static org.opends.server.messages.MessageHandler.getMessage;
-import static org.opends.server.messages.JebMessages.*;
+import static org.opends.messages.JebMessages.*;
+
+import org.opends.messages.MessageBuilder;
 import static org.opends.server.loggers.debug.DebugLogger.*;
 import org.opends.server.loggers.debug.DebugTracer;
 import static org.opends.server.util.ServerConstants.*;
@@ -214,8 +216,9 @@
     /**
      * {@inheritDoc}
      */
-    public boolean isConfigurationAddAcceptable(JEIndexCfg cfg,
-                                               List<String> unacceptableReasons)
+    public boolean isConfigurationAddAcceptable(
+            JEIndexCfg cfg,
+            List<Message> unacceptableReasons)
     {
       // TODO: validate more before returning true?
       return true;
@@ -228,7 +231,7 @@
     {
       ConfigChangeResult ccr;
       boolean adminActionRequired = false;
-      ArrayList<String> messages = new ArrayList<String>();
+      List<Message> messages = new ArrayList<Message>();
 
       try
       {
@@ -239,7 +242,7 @@
       }
       catch(Exception e)
       {
-        messages.add(StaticUtils.stackTraceToSingleLineString(e));
+        messages.add(Message.raw(StaticUtils.stackTraceToSingleLineString(e)));
         ccr = new ConfigChangeResult(DirectoryServer.getServerErrorResultCode(),
                                      adminActionRequired,
                                      messages);
@@ -247,8 +250,8 @@
       }
 
       adminActionRequired = true;
-      int msgID = MSGID_JEB_INDEX_ADD_REQUIRES_REBUILD;
-      messages.add(getMessage(msgID, cfg.getIndexAttribute().getNameOrOID()));
+      messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
+              cfg.getIndexAttribute().getNameOrOID()));
       return new ConfigChangeResult(ResultCode.SUCCESS, adminActionRequired,
                                     messages);
     }
@@ -257,7 +260,7 @@
      * {@inheritDoc}
      */
     public synchronized boolean isConfigurationDeleteAcceptable(
-        JEIndexCfg cfg, List<String> unacceptableReasons)
+        JEIndexCfg cfg, List<Message> unacceptableReasons)
     {
       // TODO: validate more before returning true?
       return true;
@@ -270,7 +273,7 @@
     {
       ConfigChangeResult ccr;
       boolean adminActionRequired = false;
-      ArrayList<String> messages = new ArrayList<String>();
+      ArrayList<Message> messages = new ArrayList<Message>();
 
       exclusiveLock.lock();
       try
@@ -281,7 +284,7 @@
       }
       catch(DatabaseException de)
       {
-        messages.add(StaticUtils.stackTraceToSingleLineString(de));
+        messages.add(Message.raw(StaticUtils.stackTraceToSingleLineString(de)));
         ccr = new ConfigChangeResult(DirectoryServer.getServerErrorResultCode(),
                                      adminActionRequired,
                                      messages);
@@ -309,7 +312,7 @@
      * {@inheritDoc}
      */
     public boolean isConfigurationAddAcceptable(
-        VLVJEIndexCfg cfg, List<String> unacceptableReasons)
+        VLVJEIndexCfg cfg, List<Message> unacceptableReasons)
     {
       // TODO: validate more before returning true?
       return true;
@@ -322,7 +325,7 @@
     {
       ConfigChangeResult ccr;
       boolean adminActionRequired = false;
-      ArrayList<String> messages = new ArrayList<String>();
+      ArrayList<Message> messages = new ArrayList<Message>();
 
       try
       {
@@ -332,7 +335,7 @@
       }
       catch(Exception e)
       {
-        messages.add(StaticUtils.stackTraceToSingleLineString(e));
+        messages.add(Message.raw(StaticUtils.stackTraceToSingleLineString(e)));
         ccr = new ConfigChangeResult(DirectoryServer.getServerErrorResultCode(),
                                      adminActionRequired,
                                      messages);
@@ -340,8 +343,9 @@
       }
 
       adminActionRequired = true;
-      int msgID = MSGID_JEB_INDEX_ADD_REQUIRES_REBUILD;
-      messages.add(getMessage(msgID, cfg.getVLVIndexName()));
+
+      messages.add(NOTE_JEB_INDEX_ADD_REQUIRES_REBUILD.get(
+              cfg.getVLVIndexName()));
       return new ConfigChangeResult(ResultCode.SUCCESS, adminActionRequired,
                                     messages);
     }
@@ -349,8 +353,9 @@
     /**
      * {@inheritDoc}
      */
-    public boolean isConfigurationDeleteAcceptable(VLVJEIndexCfg cfg,
-                                               List<String> unacceptableReasons)
+    public boolean isConfigurationDeleteAcceptable(
+            VLVJEIndexCfg cfg,
+            List<Message> unacceptableReasons)
     {
       // TODO: validate more before returning true?
       return true;
@@ -363,7 +368,7 @@
     {
       ConfigChangeResult ccr;
       boolean adminActionRequired = false;
-      ArrayList<String> messages = new ArrayList<String>();
+      List<Message> messages = new ArrayList<Message>();
 
       exclusiveLock.lock();
       try
@@ -376,7 +381,7 @@
       }
       catch(DatabaseException de)
       {
-        messages.add(StaticUtils.stackTraceToSingleLineString(de));
+        messages.add(Message.raw(StaticUtils.stackTraceToSingleLineString(de)));
         ccr = new ConfigChangeResult(DirectoryServer.getServerErrorResultCode(),
                                      adminActionRequired,
                                      messages);
@@ -740,15 +745,15 @@
                 TRACER.debugCaught(DebugLogLevel.ERROR, e);
               }
               throw new DirectoryException(ResultCode.PROTOCOL_ERROR,
-                                           e.getMessage(), e.getMessageID(), e);
+                                           e.getMessageObject(), e);
             }
 
             if (vlvRequest != null)
             {
-              int    msgID   = MSGID_JEB_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV;
-              String message = getMessage(msgID);
+              Message message =
+                  ERR_JEB_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV.get();
               throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
-                                           message, msgID);
+                                           message);
             }
           }
         }
@@ -768,7 +773,7 @@
                 TRACER.debugCaught(DebugLogLevel.ERROR, e);
               }
               throw new DirectoryException(ResultCode.PROTOCOL_ERROR,
-                                           e.getMessage(), e.getMessageID(), e);
+                                           e.getMessageObject(), e);
             }
           }
         }
@@ -788,15 +793,15 @@
                 TRACER.debugCaught(DebugLogLevel.ERROR, e);
               }
               throw new DirectoryException(ResultCode.PROTOCOL_ERROR,
-                                           e.getMessage(), e.getMessageID(), e);
+                                           e.getMessageObject(), e);
             }
 
             if (pageRequest != null)
             {
-              int    msgID   = MSGID_JEB_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV;
-              String message = getMessage(msgID);
+              Message message =
+                  ERR_JEB_SEARCH_CANNOT_MIX_PAGEDRESULTS_AND_VLV.get();
               throw new DirectoryException(ResultCode.CONSTRAINT_VIOLATION,
-                                           message, msgID);
+                                           message);
             }
           }
         }
@@ -840,11 +845,10 @@
         dn2uri.targetEntryReferrals(searchOperation.getBaseDN(),
                                     searchOperation.getScope());
 
-        int messageID = MSGID_JEB_SEARCH_NO_SUCH_OBJECT;
-        String message = getMessage(messageID, baseDN.toString());
+        Message message = ERR_JEB_SEARCH_NO_SUCH_OBJECT.get(baseDN.toString());
         DN matchedDN = getMatchedDN(baseDN);
         throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-            message, messageID, matchedDN, null);
+            message, matchedDN, null);
       }
 
       if (!isManageDsaITOperation(searchOperation))
@@ -928,11 +932,11 @@
         EntryID baseID = dn2id.get(null, baseDN);
         if (baseID == null)
         {
-          int messageID = MSGID_JEB_SEARCH_NO_SUCH_OBJECT;
-          String message = getMessage(messageID, baseDN.toString());
+          Message message =
+                  ERR_JEB_SEARCH_NO_SUCH_OBJECT.get(baseDN.toString());
           DN matchedDN = getMatchedDN(baseDN);
           throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-              message, messageID, matchedDN, null);
+              message, matchedDN, null);
         }
         DatabaseEntry baseIDData = baseID.getDatabaseEntry();
 
@@ -1038,10 +1042,10 @@
       if(! clientConnection.hasPrivilege(Privilege.UNINDEXED_SEARCH,
                                          searchOperation))
       {
-        int msgID = MSGID_JEB_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES;
-        String message = getMessage(msgID);
+        Message message =
+            ERR_JEB_SEARCH_UNINDEXED_INSUFFICIENT_PRIVILEGES.get();
         throw new DirectoryException(ResultCode.INSUFFICIENT_ACCESS_RIGHTS,
-                                     message, msgID);
+                                     message);
       }
 
       if (sortRequest != null)
@@ -1054,11 +1058,9 @@
 
         if (sortRequest.isCritical())
         {
-          int msgID = MSGID_JEB_SEARCH_CANNOT_SORT_UNINDEXED;
-          String message = getMessage(msgID);
+          Message message = ERR_JEB_SEARCH_CANNOT_SORT_UNINDEXED.get();
           throw new DirectoryException(
-                         ResultCode.UNAVAILABLE_CRITICAL_EXTENSION, message,
-                         msgID);
+                         ResultCode.UNAVAILABLE_CRITICAL_EXTENSION, message);
         }
       }
 
@@ -1119,11 +1121,10 @@
         dn2uri.targetEntryReferrals(searchOperation.getBaseDN(),
                                     searchOperation.getScope());
 
-        int messageID = MSGID_JEB_SEARCH_NO_SUCH_OBJECT;
-        String message = getMessage(messageID, baseDN.toString());
+        Message message = ERR_JEB_SEARCH_NO_SUCH_OBJECT.get(baseDN.toString());
         DN matchedDN = getMatchedDN(baseDN);
         throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-            message, messageID, matchedDN, null);
+            message, matchedDN, null);
       }
 
       if (!manageDsaIT)
@@ -1194,11 +1195,10 @@
         {
           TRACER.debugCaught(DebugLogLevel.ERROR, e);
         }
-        int msgID = MSGID_JEB_INVALID_PAGED_RESULTS_COOKIE;
         String str = StaticUtils.bytesToHex(pageRequest.getCookie().value());
-        String msg = getMessage(msgID, str);
+        Message msg = ERR_JEB_INVALID_PAGED_RESULTS_COOKIE.get(str);
         throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,
-                                     msg, msgID, e);
+                                     msg, e);
       }
     }
     else
@@ -1233,8 +1233,7 @@
             //Lookthrough limit exceeded
             searchOperation.setResultCode(ResultCode.ADMIN_LIMIT_EXCEEDED);
             searchOperation.appendErrorMessage(
-              getMessage(MSGID_JEB_LOOKTHROUGH_LIMIT_EXCEEDED,
-              lookthroughLimit));
+              INFO_JEB_LOOKTHROUGH_LIMIT_EXCEEDED.get(lookthroughLimit));
             return;
           }
           int cmp = dn2id.getComparator().compare(key.getData(), end);
@@ -1404,11 +1403,10 @@
         {
           TRACER.debugCaught(DebugLogLevel.ERROR, e);
         }
-        int msgID = MSGID_JEB_INVALID_PAGED_RESULTS_COOKIE;
         String str = StaticUtils.bytesToHex(pageRequest.getCookie().value());
-        String msg = getMessage(msgID, str);
+        Message msg = ERR_JEB_INVALID_PAGED_RESULTS_COOKIE.get(str);
         throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,
-                                     msg, msgID, e);
+                                     msg, e);
       }
     }
     else
@@ -1428,7 +1426,7 @@
       //Lookthrough limit exceeded
       searchOperation.setResultCode(ResultCode.ADMIN_LIMIT_EXCEEDED);
       searchOperation.appendErrorMessage(
-          getMessage(MSGID_JEB_LOOKTHROUGH_LIMIT_EXCEEDED, lookthroughLimit));
+          INFO_JEB_LOOKTHROUGH_LIMIT_EXCEEDED.get(lookthroughLimit));
       continueSearch = false;
     }
 
@@ -1580,11 +1578,10 @@
 
       if (!entryExists(baseDN))
       {
-        int messageID = MSGID_JEB_SEARCH_NO_SUCH_OBJECT;
-        String message = getMessage(messageID, baseDN.toString());
+        Message message = ERR_JEB_SEARCH_NO_SUCH_OBJECT.get(baseDN.toString());
         DN matchedDN = getMatchedDN(baseDN);
         throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-            message, messageID, matchedDN, null);
+            message, matchedDN, null);
       }
     }
 
@@ -1685,9 +1682,8 @@
       {
         EntryContainer.transactionAbort(txn);
 
-        int messageID = MSGID_JEB_UNCHECKED_EXCEPTION;
-        String message = getMessage(messageID);
-        throw new JebException(messageID, message, e);
+        Message message = ERR_JEB_UNCHECKED_EXCEPTION.get();
+        throw new JebException(message, e);
       }
     }
 
@@ -1790,10 +1786,10 @@
       // Check whether the entry already exists.
       if (dn2id.get(txn, entry.getDN()) != null)
       {
-        int msgID = MSGID_JEB_ADD_ENTRY_ALREADY_EXISTS;
-        String message = getMessage(msgID, entry.getDN().toString());
+        Message message =
+            ERR_JEB_ADD_ENTRY_ALREADY_EXISTS.get(entry.getDN().toString());
         throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS,
-                                     message, msgID);
+                                     message);
       }
 
       // Check that the parent entry exists.
@@ -1807,11 +1803,11 @@
         parentID = dn2id.get(txn, parentDN);
         if (parentID == null)
         {
-          int msgID = MSGID_JEB_ADD_NO_SUCH_OBJECT;
-          String message = getMessage(msgID, entry.getDN().toString());
+          Message message = ERR_JEB_ADD_NO_SUCH_OBJECT.get(
+                  entry.getDN().toString());
           DN matchedDN = getMatchedDN(baseDN);
           throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-              message, msgID, matchedDN, null);
+              message, matchedDN, null);
         }
       }
 
@@ -1825,30 +1821,30 @@
       if (!dn2id.insert(txn, entry.getDN(), entryID))
       {
         // Do not ever expect to come through here.
-        int msgID = MSGID_JEB_ADD_ENTRY_ALREADY_EXISTS;
-        String message = getMessage(msgID, entry.getDN().toString());
+        Message message =
+            ERR_JEB_ADD_ENTRY_ALREADY_EXISTS.get(entry.getDN().toString());
         throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS,
-                                     message, msgID);
+                                     message);
       }
 
       // Update the referral database for referral entries.
       if (!dn2uri.addEntry(txn, entry))
       {
         // Do not ever expect to come through here.
-        int msgID = MSGID_JEB_ADD_ENTRY_ALREADY_EXISTS;
-        String message = getMessage(msgID, entry.getDN().toString());
+        Message message =
+            ERR_JEB_ADD_ENTRY_ALREADY_EXISTS.get(entry.getDN().toString());
         throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS,
-                                     message, msgID);
+                                     message);
       }
 
       // Insert into id2entry.
       if (!id2entry.insert(txn, entryID, entry))
       {
         // Do not ever expect to come through here.
-        int msgID = MSGID_JEB_ADD_ENTRY_ALREADY_EXISTS;
-        String message = getMessage(msgID, entry.getDN().toString());
+        Message message =
+            ERR_JEB_ADD_ENTRY_ALREADY_EXISTS.get(entry.getDN().toString());
         throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS,
-                                     message, msgID);
+                                     message);
       }
 
       // Insert into the indexes, in index configuration order.
@@ -1874,9 +1870,9 @@
           EntryID nodeID = dn2id.get(txn, dn);
           if (nodeID == null)
           {
-            int msgID = MSGID_JEB_MISSING_DN2ID_RECORD;
-            String msg = getMessage(msgID, dn.toNormalizedString());
-            throw new JebException(msgID, msg);
+            Message msg =
+                ERR_JEB_MISSING_DN2ID_RECORD.get(dn.toNormalizedString());
+            throw new JebException(msg);
           }
 
           // Insert into id2subtree for this node.
@@ -1929,13 +1925,11 @@
 
       if (operation.adminSizeLimitExceeded())
       {
-        String message = getMessage(
-                MSGID_JEB_SUBTREE_DELETE_SIZE_LIMIT_EXCEEDED,
-                                  operation.getDeletedEntryCount());
+        Message message = NOTE_JEB_SUBTREE_DELETE_SIZE_LIMIT_EXCEEDED.get(
+                operation.getDeletedEntryCount());
         throw new DirectoryException(
           ResultCode.ADMIN_LIMIT_EXCEEDED,
-          message,
-          MSGID_JEB_SUBTREE_DELETE_SIZE_LIMIT_EXCEEDED);
+          message);
       }
       if(operation.batchSizeExceeded())
       {
@@ -1943,9 +1937,9 @@
         continue;
       }
       isComplete = true;
-      String message = getMessage(MSGID_JEB_DELETED_ENTRY_COUNT,
-                                operation.getDeletedEntryCount());
-      StringBuilder errorMessage = new StringBuilder();
+      Message message =
+          NOTE_JEB_DELETED_ENTRY_COUNT.get(operation.getDeletedEntryCount());
+      MessageBuilder errorMessage = new MessageBuilder();
       errorMessage.append(message);
       deleteOperation.setErrorMessage(errorMessage);
     }
@@ -1978,20 +1972,18 @@
     Entry entry = id2entry.get(txn, leafID);
     if (entry == null)
     {
-      int msgID = MSGID_JEB_MISSING_ID2ENTRY_RECORD;
-      String msg = getMessage(msgID, leafID.toString());
-      throw new JebException(msgID, msg);
+      Message msg = ERR_JEB_MISSING_ID2ENTRY_RECORD.get(leafID.toString());
+      throw new JebException(msg);
     }
 
     // Remove from dn2id.
     if (!dn2id.remove(txn, leafDN))
     {
       // Do not expect to ever come through here.
-      int msgID = MSGID_JEB_DELETE_NO_SUCH_OBJECT;
-      String message = getMessage(msgID, leafDN.toString());
+      Message message = ERR_JEB_DELETE_NO_SUCH_OBJECT.get(leafDN.toString());
       DN matchedDN = getMatchedDN(baseDN);
       throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-          message, msgID, matchedDN, null);
+          message, matchedDN, null);
     }
 
     // Update the referral database.
@@ -2000,9 +1992,8 @@
     // Remove from id2entry.
     if (!id2entry.remove(txn, leafID))
     {
-      int msgID = MSGID_JEB_MISSING_ID2ENTRY_RECORD;
-      String msg = getMessage(msgID, leafID.toString());
-      throw new JebException(msgID, msg);
+      Message msg = ERR_JEB_MISSING_ID2ENTRY_RECORD.get(leafID.toString());
+      throw new JebException(msg);
     }
 
     // Remove from the indexes, in index config order.
@@ -2018,10 +2009,10 @@
     }
     else if (children.size() != 0)
     {
-      int msgID = MSGID_JEB_DELETE_NOT_ALLOWED_ON_NONLEAF;
-      String message = getMessage(msgID, leafDN.toString());
+      Message message =
+          ERR_JEB_DELETE_NOT_ALLOWED_ON_NONLEAF.get(leafDN.toString());
       throw new DirectoryException(ResultCode.NOT_ALLOWED_ON_NONLEAF,
-                                   message, msgID);
+                                   message);
     }
 
     // Make sure this entry either has no subordinates in id2subtree,
@@ -2033,10 +2024,10 @@
     }
     else if (subordinates.size() != 0)
     {
-      int msgID = MSGID_JEB_DELETE_NOT_ALLOWED_ON_NONLEAF;
-      String message = getMessage(msgID, leafDN.toString());
+      Message message =
+          ERR_JEB_DELETE_NOT_ALLOWED_ON_NONLEAF.get(leafDN.toString());
       throw new DirectoryException(ResultCode.NOT_ALLOWED_ON_NONLEAF,
-                                   message, msgID);
+                                   message);
     }
 
     // Iterate up through the superior entries.
@@ -2048,9 +2039,8 @@
       EntryID nodeID = dn2id.get(txn, dn);
       if (nodeID == null)
       {
-        int msgID = MSGID_JEB_MISSING_DN2ID_RECORD;
-        String msg = getMessage(msgID, dn.toNormalizedString());
-        throw new JebException(msgID, msg);
+        Message msg = ERR_JEB_MISSING_DN2ID_RECORD.get(dn.toNormalizedString());
+        throw new JebException(msg);
       }
       DatabaseEntry nodeIDData = nodeID.getDatabaseEntry();
 
@@ -2093,20 +2083,18 @@
     EntryID leafID = dn2id.get(txn, leafDN);
     if (leafID == null)
     {
-      int msgID = MSGID_JEB_DELETE_NO_SUCH_OBJECT;
-      String message = getMessage(msgID, leafDN.toString());
+      Message message = ERR_JEB_DELETE_NO_SUCH_OBJECT.get(leafDN.toString());
       DN matchedDN = getMatchedDN(baseDN);
       throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-          message, msgID, matchedDN, null);
+          message, matchedDN, null);
     }
 
     // Check that the entry exists in id2entry and read its contents.
     Entry entry = id2entry.get(txn, leafID);
     if (entry == null)
     {
-      int msgID = MSGID_JEB_MISSING_ID2ENTRY_RECORD;
-      String msg = getMessage(msgID, leafID.toString());
-      throw new JebException(msgID, msg);
+      Message msg = ERR_JEB_MISSING_ID2ENTRY_RECORD.get(leafID.toString());
+      throw new JebException(msg);
     }
 
     if (!manageDsaIT)
@@ -2118,11 +2106,10 @@
     if (!dn2id.remove(txn, leafDN))
     {
       // Do not expect to ever come through here.
-      int msgID = MSGID_JEB_DELETE_NO_SUCH_OBJECT;
-      String message = getMessage(msgID, leafDN.toString());
+      Message message = ERR_JEB_DELETE_NO_SUCH_OBJECT.get(leafDN.toString());
       DN matchedDN = getMatchedDN(baseDN);
       throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-          message, msgID, matchedDN, null);
+          message, matchedDN, null);
     }
 
     // Update the referral database.
@@ -2131,9 +2118,8 @@
     // Remove from id2entry.
     if (!id2entry.remove(txn, leafID))
     {
-      int msgID = MSGID_JEB_MISSING_ID2ENTRY_RECORD;
-      String msg = getMessage(msgID, leafID.toString());
-      throw new JebException(msgID, msg);
+      Message msg = ERR_JEB_MISSING_ID2ENTRY_RECORD.get(leafID.toString());
+      throw new JebException(msg);
     }
 
     // Remove from the indexes, in index config order.
@@ -2148,9 +2134,8 @@
       EntryID nodeID = dn2id.get(txn, dn);
       if (nodeID == null)
       {
-        int msgID = MSGID_JEB_MISSING_DN2ID_RECORD;
-        String msg = getMessage(msgID, dn.toNormalizedString());
-        throw new JebException(msgID, msg);
+        Message msg = ERR_JEB_MISSING_DN2ID_RECORD.get(dn.toNormalizedString());
+        throw new JebException(msg);
       }
       DatabaseEntry nodeIDData = nodeID.getDatabaseEntry();
 
@@ -2360,10 +2345,10 @@
           {
             // The subtree delete control was not specified and
             // the target entry is not a leaf.
-            int msgID = MSGID_JEB_DELETE_NOT_ALLOWED_ON_NONLEAF;
-            String message = getMessage(msgID, entryDN.toString());
+            Message message =
+                ERR_JEB_DELETE_NOT_ALLOWED_ON_NONLEAF.get(entryDN.toString());
             throw new DirectoryException(ResultCode.NOT_ALLOWED_ON_NONLEAF,
-                                         message, msgID);
+                                         message);
           }
 
           // Enforce any subtree delete size limit.
@@ -2642,9 +2627,8 @@
       if (entry == null)
       {
         // The entryID does not exist.
-        int msgID = MSGID_JEB_MISSING_ID2ENTRY_RECORD;
-        String msg = getMessage(msgID, entryID.toString());
-        throw new JebException(msgID, msg);
+        Message msg = ERR_JEB_MISSING_ID2ENTRY_RECORD.get(entryID.toString());
+        throw new JebException(msg);
       }
 
     }
@@ -2828,11 +2812,11 @@
       if (entryID == null)
       {
         // The entry does not exist.
-        int msgID = MSGID_JEB_MODIFY_NO_SUCH_OBJECT;
-        String message = getMessage(msgID, entry.getDN().toString());
+        Message message =
+                ERR_JEB_MODIFY_NO_SUCH_OBJECT.get(entry.getDN().toString());
         DN matchedDN = getMatchedDN(baseDN);
         throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-            message, msgID, matchedDN, null);
+            message, matchedDN, null);
       }
 
       // Read id2entry for the original entry.
@@ -2840,9 +2824,8 @@
       if (originalEntry == null)
       {
         // The entry does not exist.
-        int msgID = MSGID_JEB_MISSING_ID2ENTRY_RECORD;
-        String msg = getMessage(msgID, entryID.toString());
-        throw new JebException(msgID, msg);
+        Message msg = ERR_JEB_MISSING_ID2ENTRY_RECORD.get(entryID.toString());
+        throw new JebException(msg);
       }
 
       if (!isManageDsaITOperation(modifyOperation))
@@ -3011,10 +2994,10 @@
       // Check whether the renamed entry already exists.
       if (dn2id.get(txn, newApexEntry.getDN()) != null)
       {
-        int msgID = MSGID_JEB_MODIFYDN_ALREADY_EXISTS;
-        String message = getMessage(msgID, newApexEntry.getDN().toString());
+        Message message = ERR_JEB_MODIFYDN_ALREADY_EXISTS.get(
+            newApexEntry.getDN().toString());
         throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS,
-                                     message, msgID);
+                                     message);
       }
 
       EntryID oldApexID = dn2id.get(txn, oldApexDN);
@@ -3023,19 +3006,18 @@
         // Check for referral entries above the target entry.
         dn2uri.targetEntryReferrals(oldApexDN, null);
 
-        int messageID = MSGID_JEB_MODIFYDN_NO_SUCH_OBJECT;
-        String message = getMessage(messageID, oldApexDN.toString());
+        Message message =
+                ERR_JEB_MODIFYDN_NO_SUCH_OBJECT.get(oldApexDN.toString());
         DN matchedDN = getMatchedDN(baseDN);
         throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-            message, messageID, matchedDN, null);
+            message, matchedDN, null);
       }
 
       Entry oldApexEntry = id2entry.get(txn, oldApexID);
       if (oldApexEntry == null)
       {
-        int msgID = MSGID_JEB_MISSING_ID2ENTRY_RECORD;
-        String msg = getMessage(msgID, oldApexID.toString());
-        throw new JebException(msgID, msg);
+        Message msg = ERR_JEB_MISSING_ID2ENTRY_RECORD.get(oldApexID.toString());
+        throw new JebException(msg);
       }
 
       if (!isManageDsaITOperation(modifyDNOperation))
@@ -3057,11 +3039,12 @@
         EntryID newSuperiorID = dn2id.get(txn, newSuperiorDN);
         if (newSuperiorID == null)
         {
-          int msgID = MSGID_JEB_NEW_SUPERIOR_NO_SUCH_OBJECT;
-          String msg = getMessage(msgID, newSuperiorDN.toString());
+          Message msg =
+                  ERR_JEB_NEW_SUPERIOR_NO_SUCH_OBJECT.get(
+                          newSuperiorDN.toString());
           DN matchedDN = getMatchedDN(baseDN);
           throw new DirectoryException(ResultCode.NO_SUCH_OBJECT,
-              msg, msgID, matchedDN, null);
+              msg, matchedDN, null);
         }
 
         if (newSuperiorID.compareTo(oldApexID) > 0)
@@ -3212,10 +3195,9 @@
       // Insert the new DN in dn2id.
       if (!dn2id.insert(txn, newDN, newID))
       {
-        int msgID = MSGID_JEB_MODIFYDN_ALREADY_EXISTS;
-        String message = getMessage(msgID, newDN.toString());
+        Message message = ERR_JEB_MODIFYDN_ALREADY_EXISTS.get(newDN.toString());
         throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS,
-                                     message, msgID);
+                                     message);
       }
 
       // Update any referral records.
@@ -3317,10 +3299,9 @@
       // Insert the new DN in dn2id.
       if (!dn2id.insert(txn, newDN, entryID))
       {
-        int msgID = MSGID_JEB_MODIFYDN_ALREADY_EXISTS;
-        String message = getMessage(msgID, newDN.toString());
+        Message message = ERR_JEB_MODIFYDN_ALREADY_EXISTS.get(newDN.toString());
         throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS,
-                                     message, msgID);
+                                     message);
       }
 
       // Update any referral records.
@@ -3380,10 +3361,9 @@
       // Put the new DN in dn2id.
       if (!dn2id.insert(txn, newDN, newID))
       {
-        int msgID = MSGID_JEB_MODIFYDN_ALREADY_EXISTS;
-        String message = getMessage(msgID, newDN.toString());
+        Message message = ERR_JEB_MODIFYDN_ALREADY_EXISTS.get(newDN.toString());
         throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS,
-                                     message, msgID);
+                                     message);
       }
 
       // Delete any existing referral records for the old DN.
@@ -3429,29 +3409,27 @@
         if (pluginResult.connectionTerminated() ||
             pluginResult.abortModifyDNOperation())
         {
-          int    msgID   = MSGID_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN;
-          String message = getMessage(msgID, oldDN.toString(),
-                                      newDN.toString());
+          Message message = ERR_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN.get(
+                  oldDN.toString(), newDN.toString());
           throw new DirectoryException(
-                         DirectoryServer.getServerErrorResultCode(), message,
-                         msgID);
+                  DirectoryServer.getServerErrorResultCode(), message);
         }
 
         if (! modifications.isEmpty())
         {
           indexModifications(txn, oldEntry, newEntry, newID, modifications);
 
-          StringBuilder invalidReason = new StringBuilder();
+          MessageBuilder invalidReason = new MessageBuilder();
           if (! newEntry.conformsToSchema(null, false, false, false,
                                           invalidReason))
           {
-            int msgID = MSGID_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR;
-            String message = getMessage(msgID, oldDN.toString(),
-                                        newDN.toString(),
-                                        invalidReason.toString());
+            Message message =
+                    ERR_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR.get(
+                            oldDN.toString(),
+                            newDN.toString(),
+                            invalidReason.toString());
             throw new DirectoryException(
-                           DirectoryServer.getServerErrorResultCode(), message,
-                           msgID);
+                           DirectoryServer.getServerErrorResultCode(), message);
           }
         }
       }
@@ -3529,10 +3507,9 @@
       // Insert the new DN in dn2id.
       if (!dn2id.insert(txn, newDN, entryID))
       {
-        int msgID = MSGID_JEB_MODIFYDN_ALREADY_EXISTS;
-        String message = getMessage(msgID, newDN.toString());
+        Message message = ERR_JEB_MODIFYDN_ALREADY_EXISTS.get(newDN.toString());
         throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS,
-                                     message, msgID);
+                                     message);
       }
 
       // Delete any existing referral records for the old DN.
@@ -3563,29 +3540,26 @@
         if (pluginResult.connectionTerminated() ||
             pluginResult.abortModifyDNOperation())
         {
-          int    msgID   = MSGID_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN;
-          String message = getMessage(msgID, oldDN.toString(),
-                                      newDN.toString());
+          Message message = ERR_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_PLUGIN.get(
+                  oldDN.toString(), newDN.toString());
           throw new DirectoryException(
-                  DirectoryServer.getServerErrorResultCode(),
-                                       message, msgID);
+                  DirectoryServer.getServerErrorResultCode(), message);
         }
 
         if (! modifications.isEmpty())
         {
           indexModifications(txn, oldEntry, newEntry, entryID, modifications);
 
-          StringBuilder invalidReason = new StringBuilder();
+          MessageBuilder invalidReason = new MessageBuilder();
           if (! newEntry.conformsToSchema(null, false, false, false,
                                           invalidReason))
           {
-            int msgID = MSGID_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR;
-            String message = getMessage(msgID, oldDN.toString(),
-                                        newDN.toString(),
-                                        invalidReason.toString());
+            Message message =
+                    ERR_JEB_MODIFYDN_ABORTED_BY_SUBORDINATE_SCHEMA_ERROR.get(
+                            oldDN.toString(), newDN.toString(),
+                            invalidReason.toString());
             throw new DirectoryException(
-                           DirectoryServer.getServerErrorResultCode(), message,
-                           msgID);
+                           DirectoryServer.getServerErrorResultCode(), message);
           }
         }
       }
@@ -4172,9 +4146,8 @@
         {
           transactionAbort(txn);
 
-          int messageID = MSGID_JEB_UNCHECKED_EXCEPTION;
-          String message = getMessage(messageID);
-          throw new JebException(messageID, message, e);
+          Message message = ERR_JEB_UNCHECKED_EXCEPTION.get();
+          throw new JebException(message, e);
         }
       }
       else
@@ -4231,7 +4204,7 @@
    * {@inheritDoc}
    */
   public synchronized boolean isConfigurationChangeAcceptable(
-      JEBackendCfg cfg, List<String> unacceptableReasons)
+      JEBackendCfg cfg, List<Message> unacceptableReasons)
   {
     // This is always true because only all config attributes used
     // by the entry container should be validated by the admin framework.
@@ -4245,23 +4218,25 @@
       JEBackendCfg cfg)
   {
     boolean adminActionRequired = false;
-    ArrayList<String> messages = new ArrayList<String>();
+    ArrayList<Message> messages = new ArrayList<Message>();
 
     if(config.getBackendIndexEntryLimit() != cfg.getBackendIndexEntryLimit())
     {
       if(id2children.setIndexEntryLimit(cfg.getBackendIndexEntryLimit()))
       {
         adminActionRequired = true;
-        int msgID = MSGID_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD;
-        String message = getMessage(msgID, id2children.getName());
+        Message message =
+                NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(
+                        id2children.getName());
         messages.add(message);
       }
 
       if(id2subtree.setIndexEntryLimit(cfg.getBackendIndexEntryLimit()))
       {
         adminActionRequired = true;
-        int msgID = MSGID_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD;
-        String message = getMessage(msgID, id2subtree.getName());
+        Message message =
+                NOTE_JEB_CONFIG_INDEX_ENTRY_LIMIT_REQUIRES_REBUILD.get(
+                        id2subtree.getName());
         messages.add(message);
       }
     }

--
Gitblit v1.10.0