You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2013/02/05 12:35:31 UTC
svn commit: r1442549 - in /qpid/proton/trunk/proton-c/bindings/java: java.i
src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java
Author: rgodfrey
Date: Tue Feb 5 11:35:31 2013
New Revision: 1442549
URL: http://svn.apache.org/viewvc?rev=1442549&view=rev
Log:
PROTON-192 : [JNI Binding] use correct method for converting pn_bytes into byte[]
Modified:
qpid/proton/trunk/proton-c/bindings/java/java.i
qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java
Modified: qpid/proton/trunk/proton-c/bindings/java/java.i
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/bindings/java/java.i?rev=1442549&r1=1442548&r2=1442549&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/bindings/java/java.i (original)
+++ qpid/proton/trunk/proton-c/bindings/java/java.i Tue Feb 5 11:35:31 2013
@@ -385,36 +385,6 @@ ssize_t pn_sasl_recv(pn_sasl_t *sasl, ch
ssize_t pn_sasl_send(pn_sasl_t *sasl, char *DATA, size_t SIZE);
%ignore pn_sasl_send;
-%typemap(jni) char *start "jbyteArray"
-%typemap(jtype) char *start "byte[]"
-%typemap(jstype) char *start "byte[]"
-%typemap(javaout) char *start {
- return $jnicall;
-}
-
-%typemap(out) char *start {
- // TODO - RG
- $result = JCALL1(NewByteArray, jenv, arg1->size);
- JCALL4(SetByteArrayRegion, jenv, $result, 0, arg1->size, $1);
-}
-
-%typemap(in) char *start {
- jbyte* barr = (*jenv)->GetByteArrayElements(jenv, $input, NULL);
- jsize length = (*jenv)->GetArrayLength(jenv, $input);
- char *buf = malloc(length);
- jint i = 0;
- for(i=0;i<length;i++)
- {
- buf[i] = barr[i];
- }
- (*jenv)->ReleaseByteArrayElements(jenv, $input, barr, 0);
- $1 = buf;
-}
-%typemap(freearg) char *start {
-
-}
-
-
%rename(pn_delivery) wrap_pn_delivery;
%inline %{
pn_delivery_t *wrap_pn_delivery(pn_link_t *link, char *STRING, size_t LENGTH) {
Modified: qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java?rev=1442549&r1=1442548&r2=1442549&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java (original)
+++ qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/codec/jni/JNIData.java Tue Feb 5 11:35:31 2013
@@ -675,7 +675,8 @@ public class JNIData implements Data
public Binary getBinary()
{
pn_bytes_t b = Proton.pn_data_get_binary(_impl);
- return new Binary(b.getStart());
+
+ return b == null ? null : new Binary(Proton.pn_bytes_to_array(b));
}
@Override
@@ -683,7 +684,7 @@ public class JNIData implements Data
public String getString()
{
pn_bytes_t b = Proton.pn_data_get_string(_impl);
- return new String(b.getStart(), UTF8_CHARSET);
+ return b == null ? null : new String(Proton.pn_bytes_to_array(b), UTF8_CHARSET);
}
@Override
@@ -691,7 +692,7 @@ public class JNIData implements Data
public Symbol getSymbol()
{
pn_bytes_t b = Proton.pn_data_get_symbol(_impl);
- return Symbol.valueOf(new String(b.getStart(), UTF8_CHARSET));
+ return b == null ? null : Symbol.valueOf(new String(Proton.pn_bytes_to_array(b), ASCII_CHARSET));
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org