From 25767e41837b50d8a577be06e4272c4ae947e837 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Tue, 04 Sep 2007 18:26:12 +0000
Subject: [PATCH] Improve display of OperationRejectedExceptions in dsconfig.

---
 opends/src/server/org/opends/server/admin/client/OperationRejectedException.java |   55 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 40 insertions(+), 15 deletions(-)

diff --git a/opends/src/server/org/opends/server/admin/client/OperationRejectedException.java b/opends/src/server/org/opends/server/admin/client/OperationRejectedException.java
index 8f2d81c..fd5ed40 100644
--- a/opends/src/server/org/opends/server/admin/client/OperationRejectedException.java
+++ b/opends/src/server/org/opends/server/admin/client/OperationRejectedException.java
@@ -63,8 +63,8 @@
 
 
 
-  // Merge the messages into a single message.
-  private static Message getSingleMessage(Collection<Message> messages) {
+  // Gets the default message.
+  private static Message getDefaultMessage(Collection<Message> messages) {
     Validator.ensureNotNull(messages);
     Validator.ensureTrue(!messages.isEmpty());
 
@@ -72,18 +72,30 @@
       return ERR_OPERATION_REJECTED_EXCEPTION_SINGLE.get(messages.iterator()
           .next());
     } else {
+      return ERR_OPERATION_REJECTED_EXCEPTION_PLURAL
+          .get(getSingleMessage(messages));
+    }
+  }
+
+
+
+  // Merge the messages into a single message.
+  private static Message getSingleMessage(Collection<Message> messages) {
+    if (messages.size() == 1) {
+      return messages.iterator().next();
+    } else {
       MessageBuilder builder = new MessageBuilder();
 
       boolean isFirst = true;
       for (Message m : messages) {
         if (!isFirst) {
-          builder.append("; ");
+          builder.append(";  ");
         }
         builder.append(m);
         isFirst = false;
       }
 
-      return ERR_OPERATION_REJECTED_EXCEPTION_PLURAL.get(builder.toMessage());
+      return builder.toMessage();
     }
   }
 
@@ -93,6 +105,16 @@
 
 
   /**
+   * Creates a new operation rejected exception with a default
+   * message.
+   */
+  public OperationRejectedException() {
+    this(ERR_OPERATION_REJECTED_DEFAULT.get());
+  }
+
+
+
+  /**
    * Creates a new operation rejected exception with the provided
    * messages.
    *
@@ -102,7 +124,7 @@
    *          non-empty).
    */
   public OperationRejectedException(Collection<Message> messages) {
-    super(getSingleMessage(messages));
+    super(getDefaultMessage(messages));
 
     this.messages = new ArrayList<Message>(messages);
   }
@@ -124,16 +146,6 @@
 
 
   /**
-   * Creates a new operation rejected exception with a default
-   * message.
-   */
-  public OperationRejectedException() {
-    this(ERR_OPERATION_REJECTED_DEFAULT.get());
-  }
-
-
-
-  /**
    * Gets an unmodifiable collection view of the messages describing
    * the constraint violations that occurred.
    *
@@ -144,4 +156,17 @@
     return Collections.unmodifiableCollection(messages);
   }
 
+
+
+  /**
+   * Creates a single message listing all the messages combined into a
+   * single list separated by semi-colons.
+   *
+   * @return Returns a single message listing all the messages
+   *         combined into a single list separated by semi-colons.
+   */
+  public Message getMessagesAsSingleMessage() {
+    return getSingleMessage(messages);
+  }
+
 }

--
Gitblit v1.10.0