Author: philharveyonline Date: Fri Feb 22 09:34:46 2013 New Revision: 1448962
URL: http://svn.apache.org/r1448962 Log: PROTON-214: JNIMessenger now throws ProtonUnsupportedOperation if proton-c functions return failure (non-zero) error codes. This was done so that proton_tests.messenger.MessengerTest.testSendBogus skips rather than fails when run against proton-jni. Modified: qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/messenger/jni/JNIMessenger.java Modified: qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/messenger/jni/JNIMessenger.java URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/messenger/jni/JNIMessenger.java?rev=1448962&r1=1448961&r2=1448962&view=diff ============================================================================== --- qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/messenger/jni/JNIMessenger.java (original) +++ qpid/proton/trunk/proton-c/bindings/java/src/main/java/org/apache/qpid/proton/messenger/jni/JNIMessenger.java Fri Feb 22 09:34:46 2013 @@ -24,6 +24,7 @@ import java.io.IOException; import java.nio.ByteBuffer; import java.util.concurrent.TimeoutException; import org.apache.qpid.proton.ProtonCEquivalent; +import org.apache.qpid.proton.ProtonUnsupportedOperationException; import org.apache.qpid.proton.jni.Proton; import org.apache.qpid.proton.jni.SWIGTYPE_p_pn_message_t; import org.apache.qpid.proton.jni.SWIGTYPE_p_pn_messenger_t; @@ -55,7 +56,11 @@ class JNIMessenger implements Messenger { SWIGTYPE_p_pn_message_t message_t = (message instanceof JNIMessage) ? ((JNIMessage)message).getImpl() : convertMessage(message); int err = Proton.pn_messenger_put(_impl, message_t); - //TODO - error handling + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } private SWIGTYPE_p_pn_message_t convertMessage(final Message message) @@ -81,7 +86,11 @@ class JNIMessenger implements Messenger public void send() throws TimeoutException { int err = Proton.pn_messenger_send(_impl); - //TODO - error handling + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } @Override @@ -95,37 +104,57 @@ class JNIMessenger implements Messenger public void recv(final int count) throws TimeoutException { int err = Proton.pn_messenger_recv(_impl, count); - //TODO + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } @Override public Message get() { SWIGTYPE_p_pn_message_t msg = Proton.pn_message(); - // TODO - error handling... null? int err = Proton.pn_messenger_get(_impl, msg); + if(err != 0) + { + //TODO - error handling... null? + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } return new JNIMessage(msg); } @Override public void start() throws IOException { - // TODO - error handling int err = Proton.pn_messenger_start(_impl); + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } @Override public void stop() { int err = Proton.pn_messenger_stop(_impl); - //TODO - error handling + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } @Override public void setTimeout(final long timeInMillis) { int err = Proton.pn_messenger_set_timeout(_impl, (int) timeInMillis); - //TODO - error handling + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } @Override @@ -156,7 +185,11 @@ class JNIMessenger implements Messenger public void setIncomingWindow(final int window) { int err = Proton.pn_messenger_set_incoming_window(_impl, window); - //TODO - error handling + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } @Override @@ -169,7 +202,11 @@ class JNIMessenger implements Messenger public void setOutgoingWindow(final int window) { int err = Proton.pn_messenger_set_outgoing_window(_impl, window); - //TODO + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } @Override @@ -188,21 +225,33 @@ class JNIMessenger implements Messenger public void reject(final Tracker tracker, final int flags) { int err = Proton.pn_messenger_reject(_impl, ((JNITracker) tracker).getTracker(), flags); - //TODO - error handling + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } @Override public void accept(final Tracker tracker, final int flags) { int err = Proton.pn_messenger_accept(_impl, ((JNITracker) tracker).getTracker(), flags); - //TODO - error handling + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } @Override public void settle(final Tracker tracker, final int flags) { int err = Proton.pn_messenger_settle(_impl, ((JNITracker) tracker).getTracker(), flags); - //TODO - error handling + if(err != 0) + { + //TODO - error handling + throw new ProtonUnsupportedOperationException("Messenger error handling not yet implemented"); + } } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org