I think we need better comments than: // 30 bytes
Think of what someone checking out the code would think and then do to modify the code. At the very minimum a URL to the Jira issue is required. Gary ---------- Forwarded message ---------- From: <rpo...@apache.org> Date: Thu, Aug 20, 2015 at 9:13 AM Subject: logging-log4j2 git commit: LOG4J2-1096 bugfix and additional unit test for case where one or more arguments is null To: comm...@logging.apache.org Repository: logging-log4j2 Updated Branches: refs/heads/master 8124d9b0d -> 31b7e7be5 LOG4J2-1096 bugfix and additional unit test for case where one or more arguments is null Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/31b7e7be Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/31b7e7be Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/31b7e7be Branch: refs/heads/master Commit: 31b7e7be51b2509680fe6e01c1ede99426ee81a0 Parents: 8124d9b Author: rpopma <rpo...@apache.org> Authored: Fri Aug 21 01:13:37 2015 +0900 Committer: rpopma <rpo...@apache.org> Committed: Fri Aug 21 01:13:37 2015 +0900 ---------------------------------------------------------------------- .../logging/log4j/message/ParameterizedMessage.java | 10 +++++----- .../logging/log4j/message/ParameterizedMessageTest.java | 8 ++++++++ 2 files changed, 13 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/31b7e7be/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java index 1a9175b..e5891c4 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java @@ -323,11 +323,11 @@ public class ParameterizedMessage implements Message { /** * Returns the sum of the lengths of all Strings in the specified array. */ - // 27 bytes + // 30 bytes private static int sumStringLengths(final String[] arguments) { int result = 0; for (int i = 0; i < arguments.length; i++) { - result += arguments[i].length(); + result += String.valueOf(arguments[i]).length(); } return result; } @@ -441,11 +441,11 @@ public class ParameterizedMessage implements Message { * Appends the argument at the specified argument index to the specified result char array at the specified position * and returns the resulting position. */ - // 27 bytes + // 30 bytes private static int writeArgAt0(final String[] arguments, final int currentArgument, final char[] result, final int pos) { - final String arg = arguments[currentArgument]; - final int argLen = arg.length(); + final String arg = String.valueOf(arguments[currentArgument]); + int argLen = arg.length(); arg.getChars(0, argLen, result, pos); return pos + argLen; } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/31b7e7be/log4j-api/src/test/java/org/apache/logging/log4j/message/ParameterizedMessageTest.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/message/ParameterizedMessageTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/message/ParameterizedMessageTest.java index 5ca48df..d4ba0de 100644 --- a/log4j-api/src/test/java/org/apache/logging/log4j/message/ParameterizedMessageTest.java +++ b/log4j-api/src/test/java/org/apache/logging/log4j/message/ParameterizedMessageTest.java @@ -46,6 +46,14 @@ public class ParameterizedMessageTest { } @Test + public void testFormatNullArgs() { + final String testMsg = "Test message {} {} {} {} {} {}"; + final String[] args = { "a", null, "c", null, null, null }; + final String result = ParameterizedMessage.formatStringArgs(testMsg, args); + assertEquals("Test message a null c null null null", result); + } + + @Test public void testFormatStringArgsIgnoresSuperfluousArgs() { final String testMsg = "Test message {}{} {}"; final String[] args = { "a", "b", "c", "unnecessary", "superfluous" }; -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org Java Persistence with Hibernate, Second Edition <http://www.manning.com/bauer3/> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> Spring Batch in Action <http://www.manning.com/templier/> Blog: http://garygregory.wordpress.com Home: http://garygregory.com/ Tweet! http://twitter.com/GaryGregory