You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2018/07/11 08:14:53 UTC

cayenne git commit: CAY-2436 NPE in CayenneRuntimeException constructor

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 <st...@gmail.com>
Authored: Wed Jul 11 11:14:45 2018 +0300
Committer: Nikita Timofeev <st...@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());
+    }
+
 }