summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorAidan Skinner <aidan@apache.org>2008-02-22 16:50:26 +0000
committerAidan Skinner <aidan@apache.org>2008-02-22 16:50:26 +0000
commitce3001f7df64a793e231efab13d3163d0df7be50 (patch)
tree9e73cd80e7d29536679bff6a625442dab1d40d66 /java
parent90b7512b4814a0efd6fd5567d6d2a21c5c14ac0b (diff)
downloadqpid-python-ce3001f7df64a793e231efab13d3163d0df7be50.tar.gz
QPID-771: fix up exception handling a bit more, this is so lovely.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2.1@630247 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQConnection.java2
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java2
-rw-r--r--java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java12
3 files changed, 8 insertions, 8 deletions
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
index b60a8dfaad..85542830bf 100644
--- a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
+++ b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
@@ -438,7 +438,7 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect
if (exceptions.size() > 0)
{
- JMSException e = exceptions.get(exceptions.size() - 1);
+ JMSException e = exceptions.get(0);
int code = -1;
try
{
diff --git a/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java b/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java
index 3dee0b0142..345a124a12 100644
--- a/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java
+++ b/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java
@@ -373,8 +373,8 @@ public class AMQProtocolHandler extends IoHandlerAdapter
AMQException amqe = new AMQException("Protocol handler error: " + cause, cause);
propagateExceptionToWaiters(amqe);
- _connection.exceptionReceived(cause);
}
+ _connection.exceptionReceived(cause);
}
diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java
index 7103397ad4..c97e2c4cb1 100644
--- a/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java
+++ b/java/client/src/test/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java
@@ -33,6 +33,7 @@ import org.apache.qpid.jms.Session;
import junit.framework.TestCase;
import javax.jms.Connection;
+import javax.jms.JMSException;
import javax.jms.QueueSession;
import javax.jms.TopicSession;
@@ -115,8 +116,8 @@ public class ConnectionTest extends TestCase
}
}
- //fixme AMQAuthenticationException is not propogaged
- public void PasswordFailureConnection() throws Exception
+ //See QPID-771
+ public void testPasswordFailureConnection() throws Exception
{
try
{
@@ -125,10 +126,9 @@ public class ConnectionTest extends TestCase
}
catch (AMQException amqe)
{
- if (!(amqe instanceof AMQAuthenticationException))
- {
- fail("Correct exception not thrown. Excpected 'AMQAuthenticationException' got: " + amqe);
- }
+ assertEquals("Exception was wrong type", JMSException.class, amqe.getCause().getClass());
+ Exception linked = ((JMSException) amqe.getCause()).getLinkedException();
+ assertEquals("Exception was wrong type", AMQAuthenticationException.class, linked.getClass());
}
}