From d37f3ad0906b4ff7742e2853204da4ef333eb1f9 Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Thu, 26 Nov 2009 16:14:19 +0000 Subject: Fixes for 0-9-1 support git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@884619 13f79535-47bb-0310-9956-ffa450edef68 --- .../java/org/apache/qpid/AMQConnectionException.java | 2 +- .../org/apache/qpid/framing/ProtocolInitiation.java | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) (limited to 'qpid/java/common/src') diff --git a/qpid/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java b/qpid/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java index afd415b1eb..8ef6facef1 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java @@ -60,7 +60,7 @@ public class AMQConnectionException extends AMQException public AMQFrame getCloseFrame(int channel) { MethodRegistry reg = MethodRegistry.getMethodRegistry(new ProtocolVersion(major,minor)); - return new AMQFrame(channel, + return new AMQFrame(0, reg.createConnectionCloseBody(getErrorCode().getCode(), new AMQShortString(getMessage()), _classId, diff --git a/qpid/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java b/qpid/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java index d503ed7ea3..ac21fe4243 100644 --- a/qpid/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java +++ b/qpid/java/common/src/main/java/org/apache/qpid/framing/ProtocolInitiation.java @@ -54,7 +54,8 @@ public class ProtocolInitiation extends AMQDataBlock implements EncodableAMQData public ProtocolInitiation(ProtocolVersion pv) { - this(AMQP_HEADER, CURRENT_PROTOCOL_CLASS, + this(AMQP_HEADER, + pv.equals(ProtocolVersion.v0_91) ? 0 : CURRENT_PROTOCOL_CLASS, pv.equals(ProtocolVersion.v0_91) ? 0 : TCP_PROTOCOL_INSTANCE, pv.equals(ProtocolVersion.v0_91) ? 9 : pv.getMajorVersion(), pv.equals(ProtocolVersion.v0_91) ? 1 : pv.getMinorVersion()); @@ -159,11 +160,6 @@ public class ProtocolInitiation extends AMQDataBlock implements EncodableAMQData } } } - if (_protocolClass != CURRENT_PROTOCOL_CLASS) - { - throw new AMQProtocolClassException("Protocol class " + CURRENT_PROTOCOL_CLASS + " was expected; received " + - _protocolClass, null); - } ProtocolVersion pv; @@ -171,7 +167,16 @@ public class ProtocolInitiation extends AMQDataBlock implements EncodableAMQData if(_protocolInstance == 0 && _protocolMajor == 9 && _protocolMinor == 1) { pv = ProtocolVersion.v0_91; - + if (_protocolClass != 0) + { + throw new AMQProtocolClassException("Protocol class " + 0 + " was expected; received " + + _protocolClass, null); + } + } + else if (_protocolClass != CURRENT_PROTOCOL_CLASS) + { + throw new AMQProtocolClassException("Protocol class " + CURRENT_PROTOCOL_CLASS + " was expected; received " + + _protocolClass, null); } else if (_protocolInstance != TCP_PROTOCOL_INSTANCE) { -- cgit v1.2.1