diff options
Diffstat (limited to 'java/common')
11 files changed, 106 insertions, 41 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/AMQChannelClosedException.java b/java/common/src/main/java/org/apache/qpid/AMQChannelClosedException.java index cd8b40c6da..272933ca04 100644 --- a/java/common/src/main/java/org/apache/qpid/AMQChannelClosedException.java +++ b/java/common/src/main/java/org/apache/qpid/AMQChannelClosedException.java @@ -20,12 +20,14 @@ */ package org.apache.qpid; +import org.apache.qpid.protocol.AMQConstant; + /** * AMQ channel closed exception. */ public class AMQChannelClosedException extends AMQException { - public AMQChannelClosedException(int errorCode, String msg) + public AMQChannelClosedException(AMQConstant errorCode, String msg) { super(errorCode, msg); } diff --git a/java/common/src/main/java/org/apache/qpid/AMQChannelException.java b/java/common/src/main/java/org/apache/qpid/AMQChannelException.java index d1750ebbb5..d8c9b287bd 100644 --- a/java/common/src/main/java/org/apache/qpid/AMQChannelException.java +++ b/java/common/src/main/java/org/apache/qpid/AMQChannelException.java @@ -23,6 +23,7 @@ package org.apache.qpid; import org.apache.qpid.framing.AMQFrame; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.framing.ChannelCloseBody; +import org.apache.qpid.protocol.AMQConstant; public class AMQChannelException extends AMQException { @@ -32,7 +33,7 @@ public class AMQChannelException extends AMQException private final byte major; private final byte minor; - public AMQChannelException(int errorCode, String msg, int classId, int methodId, byte major, byte minor, Throwable t) + public AMQChannelException(AMQConstant errorCode, String msg, int classId, int methodId, byte major, byte minor, Throwable t) { super(errorCode, msg, t); _classId = classId; @@ -41,7 +42,7 @@ public class AMQChannelException extends AMQException this.minor = minor; } - public AMQChannelException(int errorCode, String msg, int classId, int methodId, byte major, byte minor) + public AMQChannelException(AMQConstant errorCode, String msg, int classId, int methodId, byte major, byte minor) { super(errorCode, msg); _classId = classId; @@ -52,6 +53,6 @@ public class AMQChannelException extends AMQException public AMQFrame getCloseFrame(int channel) { - return ChannelCloseBody.createAMQFrame(channel, major, minor, _classId, _methodId, getErrorCode(), new AMQShortString(getMessage())); + return ChannelCloseBody.createAMQFrame(channel, major, minor, _classId, _methodId, getErrorCode().getCode(), new AMQShortString(getMessage())); } } diff --git a/java/common/src/main/java/org/apache/qpid/AMQConnectionClosedException.java b/java/common/src/main/java/org/apache/qpid/AMQConnectionClosedException.java index 6ec18bad20..e0ed16a9f0 100644 --- a/java/common/src/main/java/org/apache/qpid/AMQConnectionClosedException.java +++ b/java/common/src/main/java/org/apache/qpid/AMQConnectionClosedException.java @@ -20,12 +20,14 @@ */ package org.apache.qpid; +import org.apache.qpid.protocol.AMQConstant; + /** * AMQ channel closed exception. */ public class AMQConnectionClosedException extends AMQException { - public AMQConnectionClosedException(int errorCode, String msg) + public AMQConnectionClosedException(AMQConstant errorCode, String msg) { super(errorCode, msg); } diff --git a/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java b/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java index c6a874bcf3..c4f80191a3 100644 --- a/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java +++ b/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java @@ -24,6 +24,7 @@ package org.apache.qpid; import org.apache.qpid.framing.AMQFrame; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.framing.ConnectionCloseBody; +import org.apache.qpid.protocol.AMQConstant; public class AMQConnectionException extends AMQException { @@ -34,7 +35,7 @@ public class AMQConnectionException extends AMQException private final byte minor; boolean _closeConnetion; - public AMQConnectionException(int errorCode, String msg, int classId, int methodId, byte major, byte minor, Throwable t) + public AMQConnectionException(AMQConstant errorCode, String msg, int classId, int methodId, byte major, byte minor, Throwable t) { super(errorCode, msg, t); _classId = classId; @@ -43,7 +44,7 @@ public class AMQConnectionException extends AMQException this.minor = minor; } - public AMQConnectionException(int errorCode, String msg, int classId, int methodId, byte major, byte minor) + public AMQConnectionException(AMQConstant errorCode, String msg, int classId, int methodId, byte major, byte minor) { super(errorCode, msg); _classId = classId; @@ -56,7 +57,7 @@ public class AMQConnectionException extends AMQException public AMQFrame getCloseFrame(int channel) { - return ConnectionCloseBody.createAMQFrame(channel, major, minor, _classId, _methodId, getErrorCode(), new AMQShortString(getMessage())); + return ConnectionCloseBody.createAMQFrame(channel, major, minor, _classId, _methodId, getErrorCode().getCode(), new AMQShortString(getMessage())); } diff --git a/java/common/src/main/java/org/apache/qpid/AMQException.java b/java/common/src/main/java/org/apache/qpid/AMQException.java index 93c31e4fa8..5c11ec18ca 100644 --- a/java/common/src/main/java/org/apache/qpid/AMQException.java +++ b/java/common/src/main/java/org/apache/qpid/AMQException.java @@ -21,31 +21,36 @@ package org.apache.qpid; import org.apache.log4j.Logger; +import org.apache.qpid.protocol.AMQConstant; /** * Generic AMQ exception. */ public class AMQException extends Exception { - private int _errorCode; + private AMQConstant _errorCode; public AMQException(String message) { super(message); + //fixme This method needs removed and all AMQExceptions need a valid error code + _errorCode = AMQConstant.getConstant(-1); } public AMQException(String msg, Throwable t) { super(msg, t); + //fixme This method needs removed and all AMQExceptions need a valid error code + _errorCode = AMQConstant.getConstant(-1); } - public AMQException(int errorCode, String msg, Throwable t) + public AMQException(AMQConstant errorCode, String msg, Throwable t) { super(msg + " [error code " + errorCode + ']', t); _errorCode = errorCode; } - public AMQException(int errorCode, String msg) + public AMQException(AMQConstant errorCode, String msg) { super(msg + " [error code " + errorCode + ']'); _errorCode = errorCode; @@ -63,13 +68,13 @@ public class AMQException extends Exception logger.error(getMessage(), this); } - public AMQException(Logger logger, int errorCode, String msg) + public AMQException(Logger logger, AMQConstant errorCode, String msg) { this(errorCode, msg); logger.error(getMessage(), this); } - public int getErrorCode() + public AMQConstant getErrorCode() { return _errorCode; } diff --git a/java/common/src/main/java/org/apache/qpid/AMQInvalidRoutingKeyException.java b/java/common/src/main/java/org/apache/qpid/AMQInvalidRoutingKeyException.java new file mode 100644 index 0000000000..3293e2523d --- /dev/null +++ b/java/common/src/main/java/org/apache/qpid/AMQInvalidRoutingKeyException.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + * + */ +package org.apache.qpid; + +import org.apache.qpid.protocol.AMQConstant; + +public class AMQInvalidRoutingKeyException extends AMQException +{ + public AMQInvalidRoutingKeyException(String message) + { + super(AMQConstant.INVALID_ROUTING_KEY,message); + } +} diff --git a/java/common/src/main/java/org/apache/qpid/AMQInvalidSelectorException.java b/java/common/src/main/java/org/apache/qpid/AMQInvalidSelectorException.java index dcd039b789..9d003514ad 100644 --- a/java/common/src/main/java/org/apache/qpid/AMQInvalidSelectorException.java +++ b/java/common/src/main/java/org/apache/qpid/AMQInvalidSelectorException.java @@ -26,6 +26,6 @@ public class AMQInvalidSelectorException extends AMQException { public AMQInvalidSelectorException(String message) { - super(AMQConstant.INVALID_SELECTOR.getCode(),message); + super(AMQConstant.INVALID_SELECTOR,message); } } diff --git a/java/common/src/main/java/org/apache/qpid/AMQUndeliveredException.java b/java/common/src/main/java/org/apache/qpid/AMQUndeliveredException.java index 4944ccc371..ad5aff7bb6 100644 --- a/java/common/src/main/java/org/apache/qpid/AMQUndeliveredException.java +++ b/java/common/src/main/java/org/apache/qpid/AMQUndeliveredException.java @@ -20,6 +20,8 @@ */ package org.apache.qpid; +import org.apache.qpid.protocol.AMQConstant; + /** * Generic AMQ exception. */ @@ -27,7 +29,7 @@ public class AMQUndeliveredException extends AMQException { private Object _bounced; - public AMQUndeliveredException(int errorCode, String msg, Object bounced) + public AMQUndeliveredException(AMQConstant errorCode, String msg, Object bounced) { super(errorCode, msg); diff --git a/java/common/src/main/java/org/apache/qpid/configuration/PropertyException.java b/java/common/src/main/java/org/apache/qpid/configuration/PropertyException.java index 67af0b0b74..958f59191f 100644 --- a/java/common/src/main/java/org/apache/qpid/configuration/PropertyException.java +++ b/java/common/src/main/java/org/apache/qpid/configuration/PropertyException.java @@ -22,6 +22,7 @@ package org.apache.qpid.configuration; import org.apache.log4j.Logger; import org.apache.qpid.AMQException; +import org.apache.qpid.protocol.AMQConstant; /** * Indicates an error parsing a property expansion. @@ -38,12 +39,12 @@ public class PropertyException extends AMQException super(msg, t); } - public PropertyException(int errorCode, String msg, Throwable t) + public PropertyException(AMQConstant errorCode, String msg, Throwable t) { super(errorCode, msg, t); } - public PropertyException(int errorCode, String msg) + public PropertyException(AMQConstant errorCode, String msg) { super(errorCode, msg); } @@ -58,7 +59,7 @@ public class PropertyException extends AMQException super(logger, msg); } - public PropertyException(Logger logger, int errorCode, String msg) + public PropertyException(Logger logger, AMQConstant errorCode, String msg) { super(logger, errorCode, msg); } diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQMethodBody.java b/java/common/src/main/java/org/apache/qpid/framing/AMQMethodBody.java index 3fa5b150ab..111d9a8f20 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/AMQMethodBody.java +++ b/java/common/src/main/java/org/apache/qpid/framing/AMQMethodBody.java @@ -23,19 +23,26 @@ package org.apache.qpid.framing; import org.apache.mina.common.ByteBuffer; import org.apache.qpid.AMQChannelException; import org.apache.qpid.AMQConnectionException; +import org.apache.qpid.protocol.AMQConstant; public abstract class AMQMethodBody extends AMQBody { - public static final byte TYPE = 1; - - /** - * AMQP version - */ + public static final byte TYPE = 1; + + /** AMQP version */ protected byte major; protected byte minor; - public byte getMajor() { return major; } - public byte getMinor() { return minor; } - + + public byte getMajor() + { + return major; + } + + public byte getMinor() + { + return minor; + } + public AMQMethodBody(byte major, byte minor) { this.major = major; @@ -45,14 +52,10 @@ public abstract class AMQMethodBody extends AMQBody /** unsigned short */ protected abstract int getBodySize(); - /** - * @return unsigned short - */ + /** @return unsigned short */ protected abstract int getClazz(); - /** - * @return unsigned short - */ + /** @return unsigned short */ protected abstract int getMethod(); protected abstract void writeMethodPayload(ByteBuffer buffer); @@ -90,27 +93,38 @@ public abstract class AMQMethodBody extends AMQBody } /** - * Creates an AMQChannelException for the corresponding body type (a channel exception - * should include the class and method ids of the body it resulted from). + * Creates an AMQChannelException for the corresponding body type (a channel exception should include the class and + * method ids of the body it resulted from). + */ + + /** + * Convenience Method to create a channel not found exception + * + * @param channelId The channel id that is not found + * + * @return new AMQChannelException */ - public AMQChannelException getChannelException(int code, String message) + public AMQChannelException getChannelNotFoundException(int channelId) + { + return getChannelException(AMQConstant.NOT_FOUND, "Channel not found for id:" + channelId); + } + + public AMQChannelException getChannelException(AMQConstant code, String message) { return new AMQChannelException(code, message, getClazz(), getMethod(), major, minor); } - public AMQChannelException getChannelException(int code, String message, Throwable cause) + public AMQChannelException getChannelException(AMQConstant code, String message, Throwable cause) { return new AMQChannelException(code, message, getClazz(), getMethod(), major, minor, cause); } - public AMQConnectionException getConnectionException(int code, String message) + public AMQConnectionException getConnectionException(AMQConstant code, String message) { return new AMQConnectionException(code, message, getClazz(), getMethod(), major, minor); } - - - public AMQConnectionException getConnectionException(int code, String message, Throwable cause) + public AMQConnectionException getConnectionException(AMQConstant code, String message, Throwable cause) { return new AMQConnectionException(code, message, getClazz(), getMethod(), major, minor, cause); } diff --git a/java/common/src/main/java/org/apache/qpid/protocol/AMQConstant.java b/java/common/src/main/java/org/apache/qpid/protocol/AMQConstant.java index a4d90e9ee3..05365de137 100644 --- a/java/common/src/main/java/org/apache/qpid/protocol/AMQConstant.java +++ b/java/common/src/main/java/org/apache/qpid/protocol/AMQConstant.java @@ -69,7 +69,7 @@ public final class AMQConstant public static final AMQConstant MESSAGE_TOO_LARGE = new AMQConstant(311, "message too large", true); public static final AMQConstant NO_ROUTE = new AMQConstant(312, "no route", true); - + public static final AMQConstant NO_CONSUMERS = new AMQConstant(313, "no consumers", true); public static final AMQConstant CONTEXT_IN_USE = new AMQConstant(320, "context in use", true); @@ -78,12 +78,18 @@ public final class AMQConstant public static final AMQConstant INVALID_SELECTOR = new AMQConstant(322, "selector invalid", true); + public static final AMQConstant INVALID_ROUTING_KEY = new AMQConstant(323, "routing key invalid", true); + public static final AMQConstant INVALID_PATH = new AMQConstant(402, "invalid path", true); public static final AMQConstant ACCESS_REFUSED = new AMQConstant(403, "access refused", true); public static final AMQConstant NOT_FOUND = new AMQConstant(404, "not found", true); + public static final AMQConstant ALREADY_EXISTS = new AMQConstant(405, "Already exists", true); + + public static final AMQConstant IN_USE = new AMQConstant(406, "In use", true); + public static final AMQConstant FRAME_ERROR = new AMQConstant(501, "frame error", true); public static final AMQConstant SYNTAX_ERROR = new AMQConstant(502, "syntax error", true); |
