Author: svn-role Date: Mon Nov 7 04:00:07 2022 New Revision: 1905111 URL: http://svn.apache.org/viewvc?rev=1905111&view=rev Log: Merge r1904938 from trunk:
* r1904938 Java binding fixes. Justification: Don't crash if someone uses a null message Votes: +1: dsahlberg, jamessan Modified: subversion/branches/1.14.x/ (props changed) subversion/branches/1.14.x/STATUS subversion/branches/1.14.x/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java subversion/branches/1.14.x/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java Propchange: subversion/branches/1.14.x/ ------------------------------------------------------------------------------ Merged /subversion/trunk:r1904938 Modified: subversion/branches/1.14.x/STATUS URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/STATUS?rev=1905111&r1=1905110&r2=1905111&view=diff ============================================================================== --- subversion/branches/1.14.x/STATUS (original) +++ subversion/branches/1.14.x/STATUS Mon Nov 7 04:00:07 2022 @@ -64,13 +64,6 @@ Veto-blocked changes: Approved changes: ================= - * r1904938 - Java binding fixes. - Justification: - Don't crash if someone uses a null message - Votes: - +1: dsahlberg, jamessan - * r1878379, r1883719, r1883722, r1884610 Distinguish configure scripts on release mode and non release mode. Justification: Modified: subversion/branches/1.14.x/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java?rev=1905111&r1=1905110&r2=1905111&view=diff ============================================================================== --- subversion/branches/1.14.x/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java (original) +++ subversion/branches/1.14.x/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java Mon Nov 7 04:00:07 2022 @@ -85,7 +85,11 @@ class NativeException extends Subversion */ public String getMessage() { - StringBuffer msg = new StringBuffer(super.getMessage()); + StringBuilder msg = new StringBuilder(); + String message = super.getMessage(); + if (message != null) { + msg.append(message); + } // ### This might be better off in JNIUtil::handleSVNError(). String src = getSource(); if (src != null) Modified: subversion/branches/1.14.x/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java?rev=1905111&r1=1905110&r2=1905111&view=diff ============================================================================== --- subversion/branches/1.14.x/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java (original) +++ subversion/branches/1.14.x/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java Mon Nov 7 04:00:07 2022 @@ -88,7 +88,11 @@ class NativeException extends Subversion */ public String getMessage() { - StringBuffer msg = new StringBuffer(super.getMessage()); + StringBuilder msg = new StringBuilder(); + String message = super.getMessage(); + if (message != null) { + msg.append(message); + } // ### This might be better off in JNIUtil::handleSVNError(). String src = getSource(); if (src != null) Modified: subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1905111&r1=1905110&r2=1905111&view=diff ============================================================================== --- subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original) +++ subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Mon Nov 7 04:00:07 2022 @@ -27,6 +27,7 @@ import static org.junit.Assert.*; import org.apache.subversion.javahl.callback.*; import org.apache.subversion.javahl.remote.*; import org.apache.subversion.javahl.types.*; +import org.apache.subversion.javahl.NativeException; import java.io.File; import java.io.FileOutputStream; @@ -4747,6 +4748,17 @@ public class BasicTests extends SVNTests } /** + * Test getMessage in NativeException. + * @throws Throwable + */ + public void testGetMessage() throws Throwable + { + /* NativeException with a null message previously threw a NullPointerException */ + assertEquals("", new NativeException(null, null, null, 0).getMessage()); + assertEquals("messagesvn: source: (apr_err=0)", new NativeException("message", "source", null, 0).getMessage()); + } + + /** * @return <code>file</code> converted into a -- possibly * <code>canonical</code>-ized -- Subversion-internal path * representation. Modified: subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java URL: http://svn.apache.org/viewvc/subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java?rev=1905111&r1=1905110&r2=1905111&view=diff ============================================================================== --- subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java (original) +++ subversion/branches/1.14.x/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java Mon Nov 7 04:00:07 2022 @@ -22,6 +22,8 @@ */ package org.tigris.subversion.javahl; +import org.tigris.subversion.javahl.NativeException; + import java.io.File; import java.io.FileOutputStream; import java.io.FileNotFoundException; @@ -3321,6 +3323,17 @@ public class BasicTests extends SVNTests } /** + * Test getMessage in NativeException. + * @throws Throwable + */ + public void testGetMessage() throws Throwable + { + /* NativeException with a null message previously threw a NullPointerException */ + assertEquals("", new NativeException(null, null, 0).getMessage()); + assertEquals("messagesvn: source: (apr_err=0)", new NativeException("message", "source", 0).getMessage()); + } + + /** * @return <code>file</code> converted into a -- possibly * <code>canonical</code>-ized -- Subversion-internal path * representation.