From de19fe2956d5a4b3817834191c51989664f8c47c Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Mon, 03 Sep 2007 20:36:20 +0000
Subject: [PATCH] Fix issue 1443: Admin framework: improve error logging in server

---
 opends/src/server/org/opends/server/admin/client/IllegalManagedObjectNameException.java |   64 +++++++++++++++----------------
 1 files changed, 31 insertions(+), 33 deletions(-)

diff --git a/opends/src/server/org/opends/server/admin/client/IllegalManagedObjectNameException.java b/opends/src/server/org/opends/server/admin/client/IllegalManagedObjectNameException.java
index f9d7066..8731a28 100644
--- a/opends/src/server/org/opends/server/admin/client/IllegalManagedObjectNameException.java
+++ b/opends/src/server/org/opends/server/admin/client/IllegalManagedObjectNameException.java
@@ -26,10 +26,12 @@
  */
 
 package org.opends.server.admin.client;
+
+
+
+import static org.opends.messages.AdminMessages.*;
+
 import org.opends.messages.Message;
-
-
-
 import org.opends.server.admin.IllegalPropertyValueStringException;
 import org.opends.server.admin.OperationsException;
 import org.opends.server.admin.PropertyDefinition;
@@ -53,6 +55,30 @@
    */
   private static final long serialVersionUID = 7491748228684293291L;
 
+
+
+  // Create the message
+  private static Message createMessage(String illegalName,
+      PropertyDefinition<?> namingPropertyDefinition) {
+    if (illegalName.length() == 0) {
+      return ERR_ILLEGAL_MANAGED_OBJECT_NAME_EXCEPTION_EMPTY.get();
+    } else if (illegalName.trim().length() == 0) {
+      return ERR_ILLEGAL_MANAGED_OBJECT_NAME_EXCEPTION_BLANK.get();
+    } else if (namingPropertyDefinition != null) {
+      try {
+        namingPropertyDefinition.decodeValue(illegalName);
+      } catch (IllegalPropertyValueStringException e) {
+        PropertyDefinitionUsageBuilder builder =
+          new PropertyDefinitionUsageBuilder(true);
+        return ERR_ILLEGAL_MANAGED_OBJECT_NAME_EXCEPTION_SYNTAX.get(
+            illegalName, namingPropertyDefinition.getName(), builder
+                .getUsage(namingPropertyDefinition));
+      }
+    }
+
+    return ERR_ILLEGAL_MANAGED_OBJECT_NAME_EXCEPTION_OTHER.get(illegalName);
+  }
+
   // The illegal name.
   private final String illegalName;
 
@@ -85,6 +111,8 @@
    */
   public IllegalManagedObjectNameException(String illegalName,
       PropertyDefinition<?> namingPropertyDefinition) {
+    super(createMessage(illegalName, namingPropertyDefinition));
+
     this.illegalName = illegalName;
     this.namingPropertyDefinition = namingPropertyDefinition;
   }
@@ -112,34 +140,4 @@
     return namingPropertyDefinition;
   }
 
-
-
-  /**
-   * {@inheritDoc}
-   */
-  @Override
-  public Message getMessageObject() {
-    if (illegalName.length() == 0) {
-      return Message.raw("Empty managed object names are not permitted");
-    } else if (illegalName.trim().length() == 0) {
-      return Message.raw("Blank managed object names are not permitted");
-    } else if (namingPropertyDefinition != null) {
-      try {
-        namingPropertyDefinition.decodeValue(illegalName);
-      } catch (IllegalPropertyValueStringException e) {
-        String msg = "The managed object name \"%s\" is not a valid value "
-            + "for the naming property \"%s\", which must have the following "
-            + "syntax: %s";
-        PropertyDefinitionUsageBuilder builder =
-          new PropertyDefinitionUsageBuilder(true);
-        return Message.raw(String.format(msg, illegalName,
-                namingPropertyDefinition.getName(),
-                builder.getUsage(namingPropertyDefinition)));
-      }
-    }
-
-    return Message.raw("The managed object name \"" + illegalName +
-            "\" is not permitted");
-  }
-
 }

--
Gitblit v1.10.0