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/MissingMandatoryPropertiesException.java | 56 +++++++++++++++++++++++++++++++++-----------------------
1 files changed, 33 insertions(+), 23 deletions(-)
diff --git a/opends/src/server/org/opends/server/admin/client/MissingMandatoryPropertiesException.java b/opends/src/server/org/opends/server/admin/client/MissingMandatoryPropertiesException.java
index 3ad6c90..288630e 100644
--- a/opends/src/server/org/opends/server/admin/client/MissingMandatoryPropertiesException.java
+++ b/opends/src/server/org/opends/server/admin/client/MissingMandatoryPropertiesException.java
@@ -26,14 +26,17 @@
*/
package org.opends.server.admin.client;
-import org.opends.messages.Message;
+import static org.opends.messages.AdminMessages.*;
+
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
+import org.opends.messages.Message;
+import org.opends.messages.MessageBuilder;
import org.opends.server.admin.OperationsException;
import org.opends.server.admin.PropertyIsMandatoryException;
import org.opends.server.util.Validator;
@@ -52,6 +55,34 @@
*/
private static final long serialVersionUID = 6342522125252055588L;
+
+
+ // Create the message.
+ private static Message createMessage(
+ Collection<PropertyIsMandatoryException> causes) {
+ Validator.ensureNotNull(causes);
+ Validator.ensureTrue(!causes.isEmpty());
+
+ if (causes.size() == 1) {
+ return ERR_MISSING_MANDATORY_PROPERTIES_EXCEPTION_SINGLE.get(causes
+ .iterator().next().getPropertyDefinition().getName());
+ } else {
+ MessageBuilder builder = new MessageBuilder();
+
+ boolean isFirst = true;
+ for (PropertyIsMandatoryException cause : causes) {
+ if (!isFirst) {
+ builder.append(", ");
+ }
+ builder.append(cause.getPropertyDefinition().getName());
+ isFirst = false;
+ }
+
+ return ERR_MISSING_MANDATORY_PROPERTIES_EXCEPTION_PLURAL.get(builder
+ .toMessage());
+ }
+ }
+
// The causes of this exception.
private final Collection<PropertyIsMandatoryException> causes;
@@ -67,8 +98,7 @@
*/
public MissingMandatoryPropertiesException(
Collection<PropertyIsMandatoryException> causes) {
- Validator.ensureNotNull(causes);
- Validator.ensureTrue(!causes.isEmpty());
+ super(createMessage(causes));
this.causes = new ArrayList<PropertyIsMandatoryException>(causes);
}
@@ -98,24 +128,4 @@
return Collections.unmodifiableCollection(causes);
}
-
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Message getMessageObject() {
- StringBuilder builder = new StringBuilder();
- builder.append("The following properties are mandatory: ");
- boolean isFirst = true;
- for (PropertyIsMandatoryException e : causes) {
- if (!isFirst) {
- builder.append(", ");
- }
- builder.append(e.getPropertyDefinition().getName());
- isFirst = false;
- }
- return Message.raw(builder.toString());
- }
-
}
--
Gitblit v1.10.0