From c429078dffd5f390d4dade388eca79924b8f8640 Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Wed, 14 May 2008 11:35:24 +0000 Subject: [PATCH] passing args into builder; allow null array args in message builder --- .../binding/message/MessageBuilder.java | 13 +++++++++++-- .../binding/message/MessageContextErrors.java | 5 +++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/spring-binding/src/main/java/org/springframework/binding/message/MessageBuilder.java b/spring-binding/src/main/java/org/springframework/binding/message/MessageBuilder.java index 994695f8..d441e9b3 100644 --- a/spring-binding/src/main/java/org/springframework/binding/message/MessageBuilder.java +++ b/spring-binding/src/main/java/org/springframework/binding/message/MessageBuilder.java @@ -104,10 +104,13 @@ public class MessageBuilder { * Records that the message being built should try and resolve its text using the codes provided. Adds the codes to * the codes list. Successive calls to this method add additional codes. Codes are applied in the order they are * added. - * @param codes the message codes + * @param codes the message codes; if null, no changes will be made * @return this, for fluent API usage */ public MessageBuilder codes(String[] codes) { + if (codes == null) { + return this; + } this.codes.add(Arrays.asList(codes)); return this; } @@ -126,10 +129,13 @@ public class MessageBuilder { /** * Records that the message being built has variable arguments. Adds the args to the args list. Successive calls to * this method add additional args. Args are applied in the order they are added. - * @param args the message argument values + * @param args the message argument values, if null no changes will be made * @return this, for fluent API usage */ public MessageBuilder args(Object[] args) { + if (args == null) { + return this; + } this.args.add(Arrays.asList(args)); return this; } @@ -154,6 +160,9 @@ public class MessageBuilder { * @return this, for fluent API usage */ public MessageBuilder resolvableArgs(Object[] args) { + if (args == null) { + return this; + } for (int i = 0; i < args.length; i++) { this.args.add(new ResolvableArgument(args[i])); } diff --git a/spring-binding/src/main/java/org/springframework/binding/message/MessageContextErrors.java b/spring-binding/src/main/java/org/springframework/binding/message/MessageContextErrors.java index d6363d6b..cd14ed3d 100644 --- a/spring-binding/src/main/java/org/springframework/binding/message/MessageContextErrors.java +++ b/spring-binding/src/main/java/org/springframework/binding/message/MessageContextErrors.java @@ -39,11 +39,12 @@ public class MessageContextErrors extends AbstractErrors { } public void reject(String errorCode, Object[] errorArgs, String defaultMessage) { - messageContext.addMessage(new MessageBuilder().error().code(errorCode).defaultText(defaultMessage).build()); + messageContext.addMessage(new MessageBuilder().error().code(errorCode).args(errorArgs).defaultText( + defaultMessage).build()); } public void rejectValue(String field, String errorCode, Object[] errorArgs, String defaultMessage) { - messageContext.addMessage(new MessageBuilder().error().source(field).code(errorCode) + messageContext.addMessage(new MessageBuilder().error().source(field).code(errorCode).args(errorArgs) .defaultText(defaultMessage).build()); }