diff options
author | Rajith Muditha Attapattu <rajith@apache.org> | 2012-06-15 17:20:29 +0000 |
---|---|---|
committer | Rajith Muditha Attapattu <rajith@apache.org> | 2012-06-15 17:20:29 +0000 |
commit | 259968ae10e95dc315f3e08506c5dae27e7099f4 (patch) | |
tree | efada79f3b7e14b0288d7bd24d80f4130bf9006b | |
parent | 885d63becb5b651b161d3e695a7bc4b3b512c424 (diff) | |
download | qpid-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
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. |