summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajith Muditha Attapattu <rajith@apache.org>2012-06-15 17:20:29 +0000
committerRajith Muditha Attapattu <rajith@apache.org>2012-06-15 17:20:29 +0000
commit259968ae10e95dc315f3e08506c5dae27e7099f4 (patch)
treeefada79f3b7e14b0288d7bd24d80f4130bf9006b
parent885d63becb5b651b161d3e695a7bc4b3b512c424 (diff)
downloadqpid-python-259968ae10e95dc315f3e08506c5dae27e7099f4.tar.gz
QPID-4027 Cleaned up the exception heirarchy and modified the interfaces
to throw the required exceptions. TODO: Add Java doc to denote type of exceptions that could be thrown. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/address-refactor2@1350701 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/client-api/src/main/java/org/apache/qpid/messaging/AddressException.java2
-rw-r--r--qpid/java/client-api/src/main/java/org/apache/qpid/messaging/Connection.java12
-rw-r--r--qpid/java/client-api/src/main/java/org/apache/qpid/messaging/ConnectionException.java1
-rw-r--r--qpid/java/client-api/src/main/java/org/apache/qpid/messaging/ReceiverException.java2
-rw-r--r--qpid/java/client-api/src/main/java/org/apache/qpid/messaging/SenderException.java2
-rw-r--r--qpid/java/client-api/src/main/java/org/apache/qpid/messaging/Session.java10
-rw-r--r--qpid/java/client-api/src/main/java/org/apache/qpid/messaging/SessionException.java1
-rw-r--r--qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java6
8 files changed, 25 insertions, 11 deletions
diff --git a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/AddressException.java b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/AddressException.java
index 98a2cfb3b4..6c145307f9 100644
--- a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/AddressException.java
+++ b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/AddressException.java
@@ -20,7 +20,7 @@ package org.apache.qpid.messaging;
/**
* Base class for all address related exceptions thrown by the Messaging API.
*/
-public class AddressException extends MessagingException
+public class AddressException extends LinkException
{
public AddressException(String addr,String message, Throwable cause)
diff --git a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/Connection.java b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/Connection.java
index 73fe49cb0f..323f6c877c 100644
--- a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/Connection.java
+++ b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/Connection.java
@@ -26,17 +26,17 @@ public interface Connection
* Creates a network connection to the peer and negotiates with the peer to establish a protocol level connection.
* When this method returns the connection is ready to be used.
*/
- public void open() throws ConnectionException;
+ public void open() throws MessagingException;
/**
* Returns true if the connection is open.
*/
- public boolean isOpen() throws ConnectionException;
+ public boolean isOpen() throws MessagingException;
/**
* Close the connection and any sessions associated with this connection.
*/
- public void close() throws ConnectionException;
+ public void close() throws MessagingException;
/**
* Creates a session with the given name.The name should be unique.
@@ -44,7 +44,7 @@ public interface Connection
* @param name Unique identifier for the session.
* @return Session
*/
- public Session createSession(String name)throws ConnectionException;
+ public Session createSession(String name)throws MessagingException;
/**
* Creates a transactional session with the given name.
@@ -53,7 +53,7 @@ public interface Connection
* @param name Unique identifier for the session.
* @return Session
*/
- public Session createTransactionalSession(String name)throws ConnectionException;
+ public Session createTransactionalSession(String name)throws MessagingException;
/**
* Returns the authenticated username for this connection.
@@ -62,5 +62,5 @@ public interface Connection
* For KERBEROS the username will be the kerberos username.
* @return The authenticated username.
*/
- public String getAuthenticatedUsername();
+ public String getAuthenticatedUsername()throws MessagingException;
}
diff --git a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/ConnectionException.java b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/ConnectionException.java
index 68aae08e7e..f2dad837d6 100644
--- a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/ConnectionException.java
+++ b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/ConnectionException.java
@@ -22,6 +22,7 @@ package org.apache.qpid.messaging;
*/
public class ConnectionException extends MessagingException
{
+ // might be useful to provide the current connection state?
public ConnectionException(String message, Throwable cause)
{
diff --git a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/ReceiverException.java b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/ReceiverException.java
index 2ded9f2367..666ef078a1 100644
--- a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/ReceiverException.java
+++ b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/ReceiverException.java
@@ -20,7 +20,7 @@ package org.apache.qpid.messaging;
/**
* Base class for all Receiver related exceptions thrown by the Messaging API.
*/
-public class ReceiverException extends MessagingException
+public class ReceiverException extends LinkException
{
public ReceiverException(String message, Throwable cause)
diff --git a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/SenderException.java b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/SenderException.java
index cf787ff8b0..3d5cd37baa 100644
--- a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/SenderException.java
+++ b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/SenderException.java
@@ -20,7 +20,7 @@ package org.apache.qpid.messaging;
/**
* Base class for all Sender related exceptions thrown by the Messaging API.
*/
-public class SenderException extends MessagingException
+public class SenderException extends LinkException
{
public SenderException(String message, Throwable cause)
diff --git a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/Session.java b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/Session.java
index 0d5abad6fd..c5e0a60bdf 100644
--- a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/Session.java
+++ b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/Session.java
@@ -25,7 +25,7 @@ public interface Session
/**
* Returns true if the session is closed.
*/
- public boolean isClosed() throws MessagingException;
+ public boolean isClosed();
/**
* Closes a session and all associated senders and receivers.
@@ -121,4 +121,12 @@ public interface Session
* @return
*/
public Connection getConnection() throws MessagingException;
+
+ public boolean hasError();
+
+ /**
+ * If the session has been rendered invalid by some exception,
+ * this method will result in that exception being thrown on calling this method.
+ */
+ public void checkError() throws MessagingException;
}
diff --git a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/SessionException.java b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/SessionException.java
index bbe0bb2c1d..f78334d9bc 100644
--- a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/SessionException.java
+++ b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/SessionException.java
@@ -22,6 +22,7 @@ package org.apache.qpid.messaging;
*/
public class SessionException extends MessagingException
{
+ // might be useful to provide the current session state?
public SessionException(String message, Throwable cause)
{
diff --git a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java
index 0dfd6e735d..d0c359a592 100644
--- a/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java
+++ b/qpid/java/client-api/src/main/java/org/apache/qpid/messaging/util/ReadOnlyMessageAdapter.java
@@ -15,11 +15,15 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.qpid.messaging;
+package org.apache.qpid.messaging.util;
import java.util.Collections;
import java.util.Map;
+import org.apache.qpid.messaging.Message;
+import org.apache.qpid.messaging.MessageNotWritableException;
+import org.apache.qpid.messaging.MessagingException;
+
/**
* Ensures the message is read only by blocking the delegates
* setter methods.