You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2012/11/05 20:04:06 UTC
svn commit: r1405923 - in
/subversion/trunk/subversion/bindings/javahl/native: CreateJ.cpp
InputStream.cpp JNIUtil.cpp JNIUtil.h OutputStream.cpp SVNClient.cpp
Author: julianfoad
Date: Mon Nov 5 19:04:06 2012
New Revision: 1405923
URL: http://svn.apache.org/viewvc?rev=1405923&view=rev
Log:
In the JavaHL code, simplify usage of makeJByteArray() by accepting 'void *'
so callers don't need to do so much type-casting, and by adding a version
that accepts a 'svn_string_t' directly.
* subversion/bindings/javahl/native/JNIUtil.h,
subversion/bindings/javahl/native/JNIUtil.cpp
(makeJByteArray): Take 'const void *' instead of 'const signed
char *'. Add an overloaded version that takes 'svn_string_t *'.
* subversion/bindings/javahl/native/CreateJ.cpp
(Checksum, PropertyMap): Simplify calls.
* subversion/bindings/javahl/native/InputStream.cpp
(read): Same.
* subversion/bindings/javahl/native/OutputStream.cpp
(write): Same.
* subversion/bindings/javahl/native/SVNClient.cpp
(propertyGet, revProperty): Same.
Modified:
subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
subversion/trunk/subversion/bindings/javahl/native/InputStream.cpp
subversion/trunk/subversion/bindings/javahl/native/JNIUtil.cpp
subversion/trunk/subversion/bindings/javahl/native/JNIUtil.h
subversion/trunk/subversion/bindings/javahl/native/OutputStream.cpp
subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp
Modified: subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp?rev=1405923&r1=1405922&r2=1405923&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/CreateJ.cpp Mon Nov 5 19:04:06 2012
@@ -207,9 +207,8 @@ CreateJ::Checksum(const svn_checksum_t *
}
jbyteArray jdigest
- = JNIUtil::makeJByteArray(
- reinterpret_cast<const signed char *>(checksum->digest),
- static_cast<int>(svn_checksum_size(checksum)));
+ = JNIUtil::makeJByteArray(checksum->digest,
+ static_cast<int>(svn_checksum_size(checksum)));
if (JNIUtil::isExceptionThrown())
POP_AND_RETURN_NULL;
@@ -1036,9 +1035,7 @@ jobject CreateJ::PropertyMap(apr_hash_t
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
- jbyteArray jpropVal = JNIUtil::makeJByteArray(
- reinterpret_cast<const signed char *>(val->data),
- static_cast<int>(val->len));
+ jbyteArray jpropVal = JNIUtil::makeJByteArray(val);
if (JNIUtil::isJavaExceptionThrown())
POP_AND_RETURN_NULL;
Modified: subversion/trunk/subversion/bindings/javahl/native/InputStream.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/InputStream.cpp?rev=1405923&r1=1405922&r2=1405923&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/InputStream.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/InputStream.cpp Mon Nov 5 19:04:06 2012
@@ -89,9 +89,7 @@ svn_error_t *InputStream::read(void *bat
}
// Allocate a Java byte array to read the data.
- jbyteArray data = JNIUtil::makeJByteArray
- (reinterpret_cast<const signed char*>(buffer),
- static_cast<int>(*len));
+ jbyteArray data = JNIUtil::makeJByteArray(buffer, static_cast<int>(*len));
if (JNIUtil::isJavaExceptionThrown())
return SVN_NO_ERROR;
Modified: subversion/trunk/subversion/bindings/javahl/native/JNIUtil.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/JNIUtil.cpp?rev=1405923&r1=1405922&r2=1405923&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/JNIUtil.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/JNIUtil.cpp Mon Nov 5 19:04:06 2012
@@ -795,7 +795,7 @@ jobject JNIUtil::createDate(apr_time_t t
* @param data the character array
* @param length the number of characters in the array
*/
-jbyteArray JNIUtil::makeJByteArray(const signed char *data, int length)
+jbyteArray JNIUtil::makeJByteArray(const void *data, int length)
{
if (data == NULL)
{
@@ -827,6 +827,15 @@ jbyteArray JNIUtil::makeJByteArray(const
}
/**
+ * Create a Java byte array from an svn_string_t.
+ * @param str the string
+ */
+jbyteArray JNIUtil::makeJByteArray(const svn_string_t *str)
+{
+ return JNIUtil::makeJByteArray(str->data, static_cast<int>(str->len));
+}
+
+/**
* Build the error message from the svn error into buffer. This
* method calls itselft recursively for all the chained errors
*
Modified: subversion/trunk/subversion/bindings/javahl/native/JNIUtil.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/JNIUtil.h?rev=1405923&r1=1405922&r2=1405923&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/JNIUtil.h (original)
+++ subversion/trunk/subversion/bindings/javahl/native/JNIUtil.h Mon Nov 5 19:04:06 2012
@@ -41,6 +41,8 @@ struct svn_error_t;
#define JAVA_PACKAGE "org/apache/subversion/javahl"
+struct svn_string_t;
+
/**
* Class to hold a number of JNI related utility methods. No Objects
* of this class are ever created.
@@ -62,7 +64,8 @@ class JNIUtil
int aprErr = -1);
static void throwNullPointerException(const char *message);
- static jbyteArray makeJByteArray(const signed char *data, int length);
+ static jbyteArray makeJByteArray(const void *data, int length);
+ static jbyteArray makeJByteArray(const svn_string_t *str);
static jobject createDate(apr_time_t time);
static void logMessage(const char *message);
static int getLogLevel();
Modified: subversion/trunk/subversion/bindings/javahl/native/OutputStream.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/OutputStream.cpp?rev=1405923&r1=1405922&r2=1405923&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/OutputStream.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/OutputStream.cpp Mon Nov 5 19:04:06 2012
@@ -95,9 +95,7 @@ svn_error_t *OutputStream::write(void *b
}
// convert the data to a Java byte array
- jbyteArray data = JNIUtil::makeJByteArray
- (reinterpret_cast<const signed char*>(buffer),
- static_cast<int>(*len));
+ jbyteArray data = JNIUtil::makeJByteArray(buffer, static_cast<int>(*len));
if (JNIUtil::isJavaExceptionThrown())
return SVN_NO_ERROR;
Modified: subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp?rev=1405923&r1=1405922&r2=1405923&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp (original)
+++ subversion/trunk/subversion/bindings/javahl/native/SVNClient.cpp Mon Nov 5 19:04:06 2012
@@ -855,9 +855,7 @@ jbyteArray SVNClient::propertyGet(const
if (propval == NULL)
return NULL;
- return JNIUtil::makeJByteArray
- (reinterpret_cast<const signed char *>(propval->data),
- static_cast<int>(propval->len));
+ return JNIUtil::makeJByteArray(propval);
}
void SVNClient::properties(const char *path, Revision &revision,
@@ -1164,9 +1162,7 @@ jbyteArray SVNClient::revProperty(const
if (propval == NULL)
return NULL;
- return JNIUtil::makeJByteArray
- (reinterpret_cast<const signed char *>(propval->data),
- static_cast<int>(propval->len));
+ return JNIUtil::makeJByteArray(propval);
}
void SVNClient::relocate(const char *from, const char *to, const char *path,
bool ignoreExternals)