Repository: cayenne Updated Branches: refs/heads/STABLE-3.1 af1e4eef5 -> 8746a52ff
CAY-2436 NPE in CayenneRuntimeException constructor Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/8746a52f Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/8746a52f Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/8746a52f Branch: refs/heads/STABLE-3.1 Commit: 8746a52ffd4c1a9f91646dd79df51c4af86b90ef Parents: af1e4ee Author: Nikita Timofeev <stari...@gmail.com> Authored: Wed Jul 11 11:14:45 2018 +0300 Committer: Nikita Timofeev <stari...@gmail.com> Committed: Wed Jul 11 11:14:45 2018 +0300 ---------------------------------------------------------------------- docs/doc/src/main/resources/RELEASE-NOTES.txt | 1 + .../org/apache/cayenne/CayenneRuntimeException.java | 4 ++-- .../apache/cayenne/CayenneRuntimeExceptionTest.java | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/8746a52f/docs/doc/src/main/resources/RELEASE-NOTES.txt ---------------------------------------------------------------------- diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt index 8b79d67..b7a05e9 100644 --- a/docs/doc/src/main/resources/RELEASE-NOTES.txt +++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt @@ -15,6 +15,7 @@ Date: not yet released Bug Fixes Since 3.1.2: CAY-2389 DbEntity qualifier with DbPath expression translates into wrong SQL +CAY-2436 NPE in CayenneRuntimeException constructor ---------------------------------- Release: 3.1.2 http://git-wip-us.apache.org/repos/asf/cayenne/blob/8746a52f/framework/cayenne-di-unpublished/src/main/java/org/apache/cayenne/CayenneRuntimeException.java ---------------------------------------------------------------------- diff --git a/framework/cayenne-di-unpublished/src/main/java/org/apache/cayenne/CayenneRuntimeException.java b/framework/cayenne-di-unpublished/src/main/java/org/apache/cayenne/CayenneRuntimeException.java index 29fc6c0..7134021 100644 --- a/framework/cayenne-di-unpublished/src/main/java/org/apache/cayenne/CayenneRuntimeException.java +++ b/framework/cayenne-di-unpublished/src/main/java/org/apache/cayenne/CayenneRuntimeException.java @@ -37,7 +37,7 @@ public class CayenneRuntimeException extends RuntimeException { * conventions. */ public CayenneRuntimeException(String messageFormat, Object... messageArgs) { - super(String.format(messageFormat, messageArgs)); + super(messageFormat == null ? null : String.format(messageFormat, messageArgs)); } /** @@ -55,7 +55,7 @@ public class CayenneRuntimeException extends RuntimeException { */ public CayenneRuntimeException(String messageFormat, Throwable cause, Object... messageArgs) { - super(String.format(messageFormat, messageArgs), cause); + super(messageFormat == null ? null : String.format(messageFormat, messageArgs), cause); } /** http://git-wip-us.apache.org/repos/asf/cayenne/blob/8746a52f/framework/cayenne-di-unpublished/src/test/java/org/apache/cayenne/CayenneRuntimeExceptionTest.java ---------------------------------------------------------------------- diff --git a/framework/cayenne-di-unpublished/src/test/java/org/apache/cayenne/CayenneRuntimeExceptionTest.java b/framework/cayenne-di-unpublished/src/test/java/org/apache/cayenne/CayenneRuntimeExceptionTest.java index 8ff262f..6485a34 100644 --- a/framework/cayenne-di-unpublished/src/test/java/org/apache/cayenne/CayenneRuntimeExceptionTest.java +++ b/framework/cayenne-di-unpublished/src/test/java/org/apache/cayenne/CayenneRuntimeExceptionTest.java @@ -92,4 +92,18 @@ public class CayenneRuntimeExceptionTest extends TestCase { assertEquals("xaxbx", ex.getUnlabeledMessage()); } + public void testConstructorNullMessage() { + Throwable cause = new Throwable(); + + CayenneRuntimeException ex = new CayenneRuntimeException(null, cause); + assertSame(cause, ex.getCause()); + assertEquals(CayenneException.getExceptionLabel() + "(no message)", ex.getMessage()); + assertNull(ex.getUnlabeledMessage()); + + CayenneRuntimeException ex2 = new CayenneRuntimeException((String) null); + assertNull(ex2.getCause()); + assertEquals(CayenneException.getExceptionLabel() + "(no message)", ex2.getMessage()); + assertNull(ex2.getUnlabeledMessage()); + } + }