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

Reply via email to