You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ds...@apache.org on 2022/10/30 16:11:39 UTC
svn commit: r1904938 - in /subversion/trunk/subversion/bindings/javahl: src/org/apache/subversion/javahl/ src/org/tigris/subversion/javahl/ tests/org/apache/subversion/javahl/ tests/org/tigris/subversion/javahl/
Author: dsahlberg
Date: Sun Oct 30 16:11:38 2022
New Revision: 1904938
URL: http://svn.apache.org/viewvc?rev=1904938&view=rev
Log:
Java binding fixes.
* subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java,
subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java
(getMessage): Use StringBuilder instead of StringBuffer and avoid a
NullPointerException if message is null.
* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java,
(testGetMessage): New function to test getMessage's handling of a null message.
Patch by: Thomas Singer @ Syntevo
https://lists.apache.org/thread/6063p5fh1hqptj8zm3kn5hn9pdgsbb3d
Modified:
subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java
subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java
subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
Modified: subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java?rev=1904938&r1=1904937&r2=1904938&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeException.java Sun Oct 30 16:11:38 2022
@@ -86,7 +86,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/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java?rev=1904938&r1=1904937&r2=1904938&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java (original)
+++ subversion/trunk/subversion/bindings/javahl/src/org/tigris/subversion/javahl/NativeException.java Sun Oct 30 16:11:38 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/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java?rev=1904938&r1=1904937&r2=1904938&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java (original)
+++ subversion/trunk/subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java Sun Oct 30 16:11:38 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/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java?rev=1904938&r1=1904937&r2=1904938&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java (original)
+++ subversion/trunk/subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java Sun Oct 30 16:11:38 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.