diff options
| author | Rajith Muditha Attapattu <rajith@apache.org> | 2007-03-30 15:53:18 +0000 |
|---|---|---|
| committer | Rajith Muditha Attapattu <rajith@apache.org> | 2007-03-30 15:53:18 +0000 |
| commit | f50a093a9423f12b69d82996ec432b9198f90f27 (patch) | |
| tree | a6f8530babee103ac60a42bb6a39e7f1fae87e66 /java/common/src | |
| parent | 85c15e0200a785a7879f10f12aaa6f96d964553e (diff) | |
| download | qpid-python-f50a093a9423f12b69d82996ec432b9198f90f27.tar.gz | |
added state support to the new client and modified the example to illustrate it
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/client_restructure@524144 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src')
6 files changed, 18 insertions, 49 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQDataBlockDecoder.java b/java/common/src/main/java/org/apache/qpid/framing/AMQDataBlockDecoder.java index 5e566a5fe8..ec52c252b0 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/AMQDataBlockDecoder.java +++ b/java/common/src/main/java/org/apache/qpid/framing/AMQDataBlockDecoder.java @@ -24,10 +24,6 @@ import org.apache.log4j.Logger; import org.apache.mina.common.ByteBuffer; import org.apache.mina.common.IoSession; import org.apache.mina.filter.codec.ProtocolDecoderOutput; -import org.apache.qpid.protocol.AMQVersionAwareProtocolSession; - -import java.util.HashMap; -import java.util.Map; public class AMQDataBlockDecoder { @@ -68,13 +64,11 @@ public class AMQDataBlockDecoder BodyFactory bodyFactory; if (type == AMQRequestBody.TYPE) { - AMQVersionAwareProtocolSession protocolSession = (AMQVersionAwareProtocolSession) session.getAttachment(); - bodyFactory = new AMQRequestBodyFactory(protocolSession); + bodyFactory = new AMQRequestBodyFactory(); } else if (type == AMQResponseBody.TYPE) { - AMQVersionAwareProtocolSession protocolSession = (AMQVersionAwareProtocolSession) session.getAttachment(); - bodyFactory = new AMQResponseBodyFactory(protocolSession); + bodyFactory = new AMQResponseBodyFactory(); } else { diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQMethodBodyFactory.java b/java/common/src/main/java/org/apache/qpid/framing/AMQMethodBodyFactory.java index 6067e2fce5..e6395e5a28 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/AMQMethodBodyFactory.java +++ b/java/common/src/main/java/org/apache/qpid/framing/AMQMethodBodyFactory.java @@ -22,21 +22,19 @@ package org.apache.qpid.framing; import org.apache.log4j.Logger; import org.apache.mina.common.ByteBuffer; -import org.apache.qpid.protocol.AMQVersionAwareProtocolSession; -public class AMQMethodBodyFactory implements BodyFactory +public class AMQMethodBodyFactory implements BodyFactory, ProtocolVersionList { private static final Logger _log = Logger.getLogger(AMQMethodBodyFactory.class); - private final AMQVersionAwareProtocolSession _protocolSession; + VersionSpecificRegistry _registry = MainRegistry.getVersionSpecificRegistry(pv[pv.length-1][PROTOCOL_MAJOR],pv[pv.length-1][PROTOCOL_MINOR]); - public AMQMethodBodyFactory(AMQVersionAwareProtocolSession protocolSession) + public AMQMethodBodyFactory() { - _protocolSession = protocolSession; } public AMQMethodBody createBody(ByteBuffer in, long bodySize) throws AMQFrameDecodingException { - return _protocolSession.getRegistry().get((short)in.getUnsignedShort(), (short)in.getUnsignedShort(), in, bodySize); + return _registry.get((short)in.getUnsignedShort(), (short)in.getUnsignedShort(), in, bodySize); } } diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQRequestBody.java b/java/common/src/main/java/org/apache/qpid/framing/AMQRequestBody.java index 3bc16601b6..04d8c99af3 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/AMQRequestBody.java +++ b/java/common/src/main/java/org/apache/qpid/framing/AMQRequestBody.java @@ -21,7 +21,6 @@ package org.apache.qpid.framing; import org.apache.mina.common.ByteBuffer; -import org.apache.qpid.protocol.AMQVersionAwareProtocolSession; public class AMQRequestBody extends AMQBody { @@ -31,12 +30,10 @@ public class AMQRequestBody extends AMQBody protected long requestId; protected long responseMark; protected AMQMethodBody methodPayload; - protected AMQVersionAwareProtocolSession protocolSession; - + // Constructor - public AMQRequestBody(AMQVersionAwareProtocolSession protocolSession) + public AMQRequestBody() { - this.protocolSession = protocolSession; } public AMQRequestBody(long requestId, long responseMark, @@ -45,7 +42,6 @@ public class AMQRequestBody extends AMQBody this.requestId = requestId; this.responseMark = responseMark; this.methodPayload = methodPayload; - protocolSession = null; } @@ -75,17 +71,12 @@ public class AMQRequestBody extends AMQBody protected void populateFromBuffer(ByteBuffer buffer, long size) throws AMQFrameDecodingException - { - if (protocolSession == null) - { - throw new AMQFrameDecodingException("Cannot call populateFromBuffer() without using correct constructor."); - } - + { requestId = EncodingUtils.readLong(buffer); responseMark = EncodingUtils.readLong(buffer); int reserved = EncodingUtils.readInteger(buffer); // reserved, throw away - AMQMethodBodyFactory methodBodyFactory = new AMQMethodBodyFactory(protocolSession); + AMQMethodBodyFactory methodBodyFactory = new AMQMethodBodyFactory(); methodPayload = methodBodyFactory.createBody(buffer, size); } diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQRequestBodyFactory.java b/java/common/src/main/java/org/apache/qpid/framing/AMQRequestBodyFactory.java index 9d47ccd68e..a11e8587e8 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/AMQRequestBodyFactory.java +++ b/java/common/src/main/java/org/apache/qpid/framing/AMQRequestBodyFactory.java @@ -21,20 +21,16 @@ package org.apache.qpid.framing; import org.apache.mina.common.ByteBuffer; -import org.apache.qpid.protocol.AMQVersionAwareProtocolSession; public class AMQRequestBodyFactory implements BodyFactory -{ - private final AMQVersionAwareProtocolSession protocolSession; - - public AMQRequestBodyFactory(AMQVersionAwareProtocolSession protocolSession) +{ + public AMQRequestBodyFactory() { - this.protocolSession = protocolSession; } public AMQBody createBody(ByteBuffer in, long bodySize) throws AMQFrameDecodingException { - AMQRequestBody rb = new AMQRequestBody(protocolSession); + AMQRequestBody rb = new AMQRequestBody(); rb.populateFromBuffer(in, bodySize); return rb; } diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQResponseBody.java b/java/common/src/main/java/org/apache/qpid/framing/AMQResponseBody.java index 7b35aaeb86..c27a76d922 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/AMQResponseBody.java +++ b/java/common/src/main/java/org/apache/qpid/framing/AMQResponseBody.java @@ -21,7 +21,6 @@ package org.apache.qpid.framing; import org.apache.mina.common.ByteBuffer; -import org.apache.qpid.protocol.AMQVersionAwareProtocolSession; public class AMQResponseBody extends AMQBody { @@ -32,12 +31,10 @@ public class AMQResponseBody extends AMQBody protected long requestId; protected int batchOffset; protected AMQMethodBody methodPayload; - protected AMQVersionAwareProtocolSession protocolSession; // Constructor - public AMQResponseBody(AMQVersionAwareProtocolSession protocolSession) + public AMQResponseBody() { - this.protocolSession = protocolSession; } public AMQResponseBody(long responseId, long requestId, @@ -47,7 +44,6 @@ public class AMQResponseBody extends AMQBody this.requestId = requestId; this.batchOffset = batchOffset; this.methodPayload = methodPayload; - protocolSession = null; } // Field methods @@ -77,16 +73,13 @@ public class AMQResponseBody extends AMQBody protected void populateFromBuffer(ByteBuffer buffer, long size) throws AMQFrameDecodingException - { - if (protocolSession == null) - throw new AMQFrameDecodingException("Cannot call populateFromBuffer() without using correct constructor."); - + { responseId = EncodingUtils.readLong(buffer); requestId = EncodingUtils.readLong(buffer); // XXX batchOffset = EncodingUtils.readInteger(buffer); - AMQMethodBodyFactory methodBodyFactory = new AMQMethodBodyFactory(protocolSession); + AMQMethodBodyFactory methodBodyFactory = new AMQMethodBodyFactory(); methodPayload = methodBodyFactory.createBody(buffer, size); } diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQResponseBodyFactory.java b/java/common/src/main/java/org/apache/qpid/framing/AMQResponseBodyFactory.java index 4209aad11f..bf94afbe17 100644 --- a/java/common/src/main/java/org/apache/qpid/framing/AMQResponseBodyFactory.java +++ b/java/common/src/main/java/org/apache/qpid/framing/AMQResponseBodyFactory.java @@ -25,16 +25,13 @@ import org.apache.qpid.protocol.AMQVersionAwareProtocolSession; public class AMQResponseBodyFactory implements BodyFactory { - private final AMQVersionAwareProtocolSession protocolSession; - - public AMQResponseBodyFactory(AMQVersionAwareProtocolSession protocolSession) + public AMQResponseBodyFactory() { - this.protocolSession = protocolSession; } public AMQBody createBody(ByteBuffer in, long bodySize) throws AMQFrameDecodingException { - AMQResponseBody rb = new AMQResponseBody(protocolSession); + AMQResponseBody rb = new AMQResponseBody(); rb.populateFromBuffer(in, bodySize); return rb; } |
