From b790b74377a634afc22d57cb4696f4f74ba90442 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 01 Jun 2011 15:16:31 +0000
Subject: [PATCH] Fix OPENDJ-142: Message.raw() with treats first arg as format string even when there are no format arguments
---
opendj-sdk/opends/src/messages/src/org/opends/messages/Message.java | 35 +++++++++++++++++------------------
1 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/opendj-sdk/opends/src/messages/src/org/opends/messages/Message.java b/opendj-sdk/opends/src/messages/src/org/opends/messages/Message.java
index 20dfa73..72d93ef 100644
--- a/opendj-sdk/opends/src/messages/src/org/opends/messages/Message.java
+++ b/opendj-sdk/opends/src/messages/src/org/opends/messages/Message.java
@@ -23,6 +23,7 @@
*
*
* Copyright 2008-2010 Sun Microsystems, Inc.
+ * Portions copyright 2011 ForgeRock AS
*/
package org.opends.messages;
@@ -83,11 +84,7 @@
* null if <code>formatString</code> is null
*/
static public Message raw(CharSequence formatString, Object... args) {
- Message message = null;
- if (formatString != null) {
- message = new MessageDescriptor.Raw(formatString).get(args);
- }
- return message;
+ return raw(Category.USER_DEFINED, Severity.INFORMATION, formatString, args);
}
/**
@@ -116,11 +113,18 @@
CharSequence formatString, Object... args) {
Message message = null;
if (formatString != null) {
- MessageDescriptor.Raw md =
- new MessageDescriptor.Raw(formatString,
- category,
- severity);
- message = md.get(args);
+ if (args == null || args.length == 0)
+ {
+ MessageDescriptor.Raw md = new MessageDescriptor.Raw(
+ "%s", category, severity);
+ message = md.get(formatString);
+ }
+ else
+ {
+ MessageDescriptor.Raw md = new MessageDescriptor.Raw(
+ formatString, category, severity);
+ message = md.get(args);
+ }
}
return message;
}
@@ -135,17 +139,12 @@
* will cause this message to render without argument substitution.
*
* @param object from which the message will be created
- * @param arguments for message
+ * @param args for message
* @return a message object that will render the same in all locales;
* null if <code>object</code> is null
*/
- static public Message fromObject(Object object, Object... arguments) {
- Message message = null;
- if (object != null) {
- CharSequence cs = object.toString();
- message = raw(cs, arguments);
- }
- return message;
+ static public Message fromObject(Object object, Object... args) {
+ return (object != null) ? raw(object.toString(), args) : null;
}
/**
--
Gitblit v1.10.0