You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2013/09/13 14:52:54 UTC
svn commit: r1522905 [2/3] - in /qpid/jms/trunk: ./
src/main/java/org/apache/qpid/jms/engine/
src/main/java/org/apache/qpid/jms/impl/ src/test/java/org/apache/qpid/jms/
src/test/java/org/apache/qpid/jms/impl/
src/test/java/org/apache/qpid/jms/test/test...
Added: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/DescriptorMatcher.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/DescriptorMatcher.java?rev=1522905&view=auto
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/DescriptorMatcher.java (added)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/DescriptorMatcher.java Fri Sep 13 12:52:52 2013
@@ -0,0 +1,53 @@
+/*
+ * 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.jms.test.testpeer;
+
+import org.apache.qpid.proton.amqp.DescribedType;
+import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
+import org.hamcrest.Description;
+import org.hamcrest.TypeSafeMatcher;
+
+public class DescriptorMatcher extends TypeSafeMatcher<DescribedType>
+{
+ private final UnsignedLong _expectedDescriptorCode;
+ private final Symbol _expectedDescriptorSymbol;
+
+ public DescriptorMatcher(UnsignedLong expectedDescriptorCode, Symbol expectedDescriptorSymbol)
+ {
+ _expectedDescriptorCode = expectedDescriptorCode;
+ _expectedDescriptorSymbol = expectedDescriptorSymbol;
+ }
+
+ @Override
+ public void describeTo(Description description)
+ {
+ description.appendText("A described type with descriptor that is either symbol ")
+ .appendValue(_expectedDescriptorSymbol)
+ .appendText(" or code ")
+ .appendValue(_expectedDescriptorCode);
+ }
+
+ @Override
+ protected boolean matchesSafely(DescribedType dt)
+ {
+ return _expectedDescriptorCode.equals(dt.getDescriptor()) || _expectedDescriptorSymbol.equals(dt.getDescriptor());
+ }
+
+}
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameMatchingHandler.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameMatchingHandler.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameMatchingHandler.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameMatchingHandler.java Fri Sep 13 12:52:52 2013
@@ -30,7 +30,7 @@ import org.apache.qpid.proton.amqp.Unsig
abstract class FrameMatchingHandler implements FrameHandler
{
- private static Logger LOGGER = Logger.getLogger(FrameMatchingHandler.class.getName());
+ private static final Logger _logger = Logger.getLogger(FrameMatchingHandler.class.getName());
public static int ANY_CHANNEL = -1;
@@ -43,7 +43,7 @@ abstract class FrameMatchingHandler impl
private int _actualChannel;
private Runnable _onSuccessAction;
- private boolean _isComplete;
+ private volatile boolean _isComplete;
protected FrameMatchingHandler(FrameType frameType,
int channel,
@@ -57,6 +57,14 @@ abstract class FrameMatchingHandler impl
_onSuccessAction = onSuccessAction;
}
+ protected abstract Map<Enum<?>,Object> getReceivedFields();
+
+ /**
+ * Handle the supplied frame and its payload, e.g. by checking that it matches what we expect
+ * @throws RuntimeException or a subclass thereof if the frame does not match what we expect
+ */
+ protected abstract void verifyFrame(List<Object> described, Binary payload);
+
@SuppressWarnings("unchecked")
@Override
public void frame(int type, int ch, DescribedType dt, Binary payload, TestAmqpPeer peer)
@@ -67,7 +75,8 @@ abstract class FrameMatchingHandler impl
&& (dt.getDescribed() instanceof List))
{
_actualChannel = ch;
- frame((List<Object>)dt.getDescribed(),payload);
+ verifyFrame((List<Object>)dt.getDescribed(),payload);
+ succeeded();
}
else
{
@@ -80,7 +89,7 @@ abstract class FrameMatchingHandler impl
}
}
- protected void succeeded()
+ private void succeeded()
{
if(_onSuccessAction != null)
{
@@ -88,7 +97,7 @@ abstract class FrameMatchingHandler impl
}
else
{
- LOGGER.log(Level.INFO, "No onSuccess action, doing nothing.");
+ _logger.log(Level.INFO, "No onSuccess action, doing nothing.");
}
_isComplete = true;
@@ -122,7 +131,11 @@ abstract class FrameMatchingHandler impl
return _isComplete;
}
- protected abstract void frame(List<Object> described, Binary payload);
-
- protected abstract Map<Integer,Object> getReceivedFields();
+ @Override
+ public String toString()
+ {
+ return "FrameMatchingHandler [_symbolicDescriptor=" + _symbolicDescriptor
+ + ", _expectedChannel=" + (_expectedChannel == ANY_CHANNEL ? "<any>":String.valueOf(_expectedChannel))
+ + "]";
+ }
}
\ No newline at end of file
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameSender.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameSender.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameSender.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameSender.java Fri Sep 13 12:52:52 2013
@@ -18,14 +18,10 @@
*/
package org.apache.qpid.jms.test.testpeer;
-import java.util.logging.Logger;
-
import org.apache.qpid.proton.amqp.Binary;
class FrameSender implements AmqpPeerRunnable
{
- private static final Logger _logger = Logger.getLogger(FrameSender.class.getName());
-
private final TestAmqpPeer _testAmqpPeer;
private final FrameType _type;
private final int _channel;
@@ -47,7 +43,6 @@ class FrameSender implements AmqpPeerRun
{
if(_valueProvider != null)
{
- _logger.info("About to dynamically set values before sending frame");
_valueProvider.setValues();
}
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameWithNoPayloadMatchingHandler.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameWithNoPayloadMatchingHandler.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameWithNoPayloadMatchingHandler.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameWithNoPayloadMatchingHandler.java Fri Sep 13 12:52:52 2013
@@ -32,7 +32,7 @@ public class FrameWithNoPayloadMatchingH
int channel,
UnsignedLong numericDescriptor,
Symbol symbolicDescriptor,
- Map<Integer, Matcher<?>> matchers,
+ Map<Enum<?>, Matcher<?>> matchers,
Runnable onSuccess)
{
super(frameType, channel, numericDescriptor, symbolicDescriptor, matchers, onSuccess);
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameWithPayloadMatchingHandler.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameWithPayloadMatchingHandler.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameWithPayloadMatchingHandler.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/FrameWithPayloadMatchingHandler.java Fri Sep 13 12:52:52 2013
@@ -36,7 +36,7 @@ public class FrameWithPayloadMatchingHan
int channel,
UnsignedLong numericDescriptor,
Symbol symbolicDescriptor,
- Map<Integer, Matcher<?>> matchers,
+ Map<Enum<?>, Matcher<?>> matchers,
Runnable onSuccess)
{
super(frameType, channel, numericDescriptor, symbolicDescriptor, matchers, onSuccess);
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/HeaderHandlerImpl.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/HeaderHandlerImpl.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/HeaderHandlerImpl.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/HeaderHandlerImpl.java Fri Sep 13 12:52:52 2013
@@ -21,8 +21,14 @@ package org.apache.qpid.jms.test.testpee
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
+import java.util.logging.Logger;
+
+import org.apache.qpid.proton.amqp.Binary;
+
class HeaderHandlerImpl implements HeaderHandler
{
+ private static final Logger _logger = Logger.getLogger(HeaderHandlerImpl.class.getName());
+
private final byte[] _expectedHeader;
private final byte[] _response;
private final Runnable _onSuccess;
@@ -49,6 +55,8 @@ class HeaderHandlerImpl implements Heade
@Override
public void header(byte[] header, TestAmqpPeer peer)
{
+ _logger.fine("About to check received header " + new Binary(header));
+
assertThat("Header should match", header, equalTo(_expectedHeader));
peer.sendHeader(_response);
if(_onSuccess !=null)
@@ -57,4 +65,10 @@ class HeaderHandlerImpl implements Heade
}
_isComplete = true;
}
+
+ @Override
+ public String toString()
+ {
+ return "HeaderHandlerImpl [_expectedHeader=" + new Binary(_expectedHeader) + "]";
+ }
}
\ No newline at end of file
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/ListDescribedType.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/ListDescribedType.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/ListDescribedType.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/ListDescribedType.java Fri Sep 13 12:52:52 2013
@@ -41,4 +41,10 @@ public abstract class ListDescribedType
{
return _fields;
}
+
+ @Override
+ public String toString()
+ {
+ return "ListDescribedType [descriptor=" + getDescriptor() + " fields=" + Arrays.toString(_fields) + "]";
+ }
}
\ No newline at end of file
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeer.java Fri Sep 13 12:52:52 2013
@@ -18,14 +18,17 @@
*/
package org.apache.qpid.jms.test.testpeer;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.nullValue;
import java.io.IOException;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import java.util.logging.Logger;
import org.apache.qpid.jms.test.testpeer.describedtypes.Accepted;
import org.apache.qpid.jms.test.testpeer.describedtypes.AttachFrame;
@@ -36,25 +39,33 @@ import org.apache.qpid.jms.test.testpeer
import org.apache.qpid.jms.test.testpeer.describedtypes.OpenFrame;
import org.apache.qpid.jms.test.testpeer.describedtypes.SaslMechanismsFrame;
import org.apache.qpid.jms.test.testpeer.describedtypes.SaslOutcomeFrame;
+import org.apache.qpid.jms.test.testpeer.describedtypes.TransferFrame;
import org.apache.qpid.jms.test.testpeer.matchers.AttachMatcher;
import org.apache.qpid.jms.test.testpeer.matchers.BeginMatcher;
import org.apache.qpid.jms.test.testpeer.matchers.CloseMatcher;
+import org.apache.qpid.jms.test.testpeer.matchers.DispositionMatcher;
+import org.apache.qpid.jms.test.testpeer.matchers.FlowMatcher;
import org.apache.qpid.jms.test.testpeer.matchers.OpenMatcher;
import org.apache.qpid.jms.test.testpeer.matchers.SaslInitMatcher;
import org.apache.qpid.jms.test.testpeer.matchers.TransferMatcher;
+import org.apache.qpid.proton.Proton;
import org.apache.qpid.proton.amqp.Binary;
import org.apache.qpid.proton.amqp.DescribedType;
import org.apache.qpid.proton.amqp.Symbol;
import org.apache.qpid.proton.amqp.UnsignedByte;
import org.apache.qpid.proton.amqp.UnsignedInteger;
import org.apache.qpid.proton.amqp.UnsignedShort;
+import org.apache.qpid.proton.codec.Data;
import org.apache.qpid.proton.engine.impl.AmqpHeader;
import org.hamcrest.Matcher;
import org.hamcrest.Matchers;
+import org.junit.Assert;
-
+// TODO should expectXXXYYYZZZ methods just be expect(matcher)?
public class TestAmqpPeer implements AutoCloseable
{
+ private static final Logger _logger = Logger.getLogger(TestAmqpPeer.class.getName());
+
/** Roles are represented as booleans - see AMQP spec 2.8.1*/
private static final boolean SENDER_ROLE = false;
@@ -67,7 +78,19 @@ public class TestAmqpPeer implements Aut
private final TestAmqpPeerRunner _driverRunnable;
private final Thread _driverThread;
- private final List<Handler> _handlers = Collections.synchronizedList(new ArrayList<Handler>());
+
+ /**
+ * Guarded by {@link #_handlersLock}
+ */
+ private final List<Handler> _handlers = new ArrayList<Handler>();
+ private final Object _handlersLock = new Object();
+
+ /**
+ * Guarded by {@link #_handlersLock}
+ */
+ private CountDownLatch _handlersCompletedLatch;
+
+ private int _nextLinkHandle = 100;
public TestAmqpPeer(int port) throws IOException
{
@@ -76,8 +99,13 @@ public class TestAmqpPeer implements Aut
_driverThread.start();
}
+ /**
+ * Shuts down the test peer, throwing any Exception
+ * that occurred on the peer, or validating that no
+ * unused matchers remain.
+ */
@Override
- public void close() throws IOException
+ public void close() throws Exception
{
_driverRunnable.stop();
@@ -89,6 +117,20 @@ public class TestAmqpPeer implements Aut
{
Thread.currentThread().interrupt();
}
+ finally
+ {
+ if(getException() == null)
+ {
+ synchronized(_handlersLock)
+ {
+ assertThat(_handlers, Matchers.empty());
+ }
+ }
+ else
+ {
+ throw getException();
+ }
+ }
}
public Exception getException()
@@ -104,7 +146,7 @@ public class TestAmqpPeer implements Aut
((HeaderHandler)handler).header(header,this);
if(handler.isComplete())
{
- _handlers.remove(0);
+ removeFirstHandler();
}
}
else
@@ -121,7 +163,7 @@ public class TestAmqpPeer implements Aut
((FrameHandler)handler).frame(type, channel, describedType, payload, this);
if(handler.isComplete())
{
- _handlers.remove(0);
+ removeFirstHandler();
}
}
else
@@ -130,22 +172,64 @@ public class TestAmqpPeer implements Aut
}
}
+ private void removeFirstHandler()
+ {
+ synchronized(_handlersLock)
+ {
+ Handler h = _handlers.remove(0);
+ if(_handlersCompletedLatch != null)
+ {
+ _handlersCompletedLatch.countDown();
+ }
+ _logger.finest("Removed completed handler: " + h);
+ }
+ }
+
+ private void addHandler(Handler handler)
+ {
+ synchronized(_handlersLock)
+ {
+ _handlers.add(handler);
+ _logger.fine("Added handler " + handler);
+ }
+ }
+
private Handler getFirstHandler()
{
- if(_handlers.isEmpty())
+ synchronized(_handlersLock)
{
- throw new IllegalStateException("No handlers");
+ if(_handlers.isEmpty())
+ {
+ throw new IllegalStateException("No handlers");
+ }
+ return _handlers.get(0);
}
- return _handlers.get(0);
+ }
+
+ public void waitForAllHandlersToComplete() throws InterruptedException
+ {
+ final int timeoutSeconds = 5;
+
+ synchronized(_handlersLock)
+ {
+ _handlersCompletedLatch = new CountDownLatch(_handlers.size());
+ }
+
+ boolean countedDownOk = _handlersCompletedLatch.await(timeoutSeconds, TimeUnit.SECONDS);
+
+ Assert.assertTrue(
+ "All handlers should have completed within the " + timeoutSeconds + "s timeout", countedDownOk);
}
void sendHeader(byte[] header)
{
+ _logger.fine("About to send header "+ new Binary(header));
_driverRunnable.sendBytes(header);
}
public void sendFrame(FrameType type, int channel, DescribedType describedType, Binary payload)
{
+ _logger.fine("About to send "+ describedType);
byte[] output = AmqpDataFramer.encodeFrame(type, channel, describedType, payload);
_driverRunnable.sendBytes(output);
}
@@ -153,7 +237,7 @@ public class TestAmqpPeer implements Aut
public void expectPlainConnect(String username, String password, boolean authorize)
{
SaslMechanismsFrame saslMechanismsFrame = new SaslMechanismsFrame().setSaslServerMechanisms(Symbol.valueOf("PLAIN"));
- _handlers.add(new HeaderHandlerImpl(AmqpHeader.SASL_HEADER, AmqpHeader.SASL_HEADER,
+ addHandler(new HeaderHandlerImpl(AmqpHeader.SASL_HEADER, AmqpHeader.SASL_HEADER,
new FrameSender(
this, FrameType.SASL, 0,
saslMechanismsFrame, null)));
@@ -164,7 +248,7 @@ public class TestAmqpPeer implements Aut
System.arraycopy(usernameBytes, 0, data, 1, usernameBytes.length);
System.arraycopy(passwordBytes, 0, data, 2 + usernameBytes.length, passwordBytes.length);
- _handlers.add(new SaslInitMatcher()
+ addHandler(new SaslInitMatcher()
.withMechanism(equalTo(Symbol.valueOf("PLAIN")))
.withInitialResponse(equalTo(new Binary(data)))
.onSuccess(new AmqpPeerRunnable()
@@ -180,9 +264,9 @@ public class TestAmqpPeer implements Aut
}
}));
- _handlers.add(new HeaderHandlerImpl(AmqpHeader.HEADER, AmqpHeader.HEADER));
+ addHandler(new HeaderHandlerImpl(AmqpHeader.HEADER, AmqpHeader.HEADER));
- _handlers.add(new OpenMatcher()
+ addHandler(new OpenMatcher()
.withContainerId(notNullValue(String.class))
.onSuccess(new FrameSender(
this, FrameType.AMQP, 0,
@@ -192,7 +276,7 @@ public class TestAmqpPeer implements Aut
public void expectClose()
{
- _handlers.add(new CloseMatcher()
+ addHandler(new CloseMatcher()
.withError(Matchers.nullValue())
.onSuccess(new FrameSender(this, FrameType.AMQP, 0,
new CloseFrame(),
@@ -209,9 +293,9 @@ public class TestAmqpPeer implements Aut
// the response will have its remote channel dynamically set based on incoming value
final BeginFrame beginResponse = new BeginFrame()
- .setNextOutgoingId(UnsignedInteger.valueOf(0))
- .setIncomingWindow(UnsignedInteger.valueOf(0))
- .setOutgoingWindow(UnsignedInteger.valueOf(0));
+ .setNextOutgoingId(UnsignedInteger.ZERO)
+ .setIncomingWindow(UnsignedInteger.ZERO)
+ .setOutgoingWindow(UnsignedInteger.ZERO);
beginMatcher.onSuccess(
new FrameSender(this, FrameType.AMQP, 0, beginResponse, null)
@@ -225,29 +309,24 @@ public class TestAmqpPeer implements Aut
}
}));
- _handlers.add(beginMatcher);
+ addHandler(beginMatcher);
}
public void expectSenderAttach()
{
- expectAttach(SENDER_ROLE);
- }
-
- private void expectAttach(boolean role)
- {
final AttachMatcher attachMatcher = new AttachMatcher()
.withName(notNullValue())
.withHandle(notNullValue())
- .withRole(equalTo(role))
+ .withRole(equalTo(SENDER_ROLE))
.withSndSettleMode(equalTo(ATTACH_SND_SETTLE_MODE_UNSETTLED))
.withRcvSettleMode(equalTo(ATTACH_RCV_SETTLE_MODE_FIRST))
.withSource(notNullValue())
.withTarget(notNullValue());
- UnsignedInteger linkHandle = UnsignedInteger.valueOf(101);
+ UnsignedInteger linkHandle = UnsignedInteger.valueOf(_nextLinkHandle++);
final AttachFrame attachResponse = new AttachFrame()
.setHandle(linkHandle)
- .setRole(!role)
+ .setRole(RECEIVER_ROLE)
.setSndSettleMode(ATTACH_SND_SETTLE_MODE_UNSETTLED)
.setRcvSettleMode(ATTACH_RCV_SETTLE_MODE_FIRST);
@@ -263,9 +342,9 @@ public class TestAmqpPeer implements Aut
}
});
- final FlowFrame flowFrame = new FlowFrame().setNextIncomingId(UnsignedInteger.valueOf(0))
+ final FlowFrame flowFrame = new FlowFrame().setNextIncomingId(UnsignedInteger.ZERO)
.setIncomingWindow(UnsignedInteger.valueOf(2048))
- .setNextOutgoingId(UnsignedInteger.valueOf(0))
+ .setNextOutgoingId(UnsignedInteger.ZERO)
.setOutgoingWindow(UnsignedInteger.valueOf(2048))
.setLinkCredit(UnsignedInteger.valueOf(100))
.setHandle(linkHandle);
@@ -286,7 +365,86 @@ public class TestAmqpPeer implements Aut
attachMatcher.onSuccess(composite);
- _handlers.add(attachMatcher);
+ addHandler(attachMatcher);
+ }
+
+ public void expectReceiverAttach()
+ {
+ final AttachMatcher attachMatcher = new AttachMatcher()
+ .withName(notNullValue())
+ .withHandle(notNullValue())
+ .withRole(equalTo(RECEIVER_ROLE))
+ .withSndSettleMode(equalTo(ATTACH_SND_SETTLE_MODE_UNSETTLED))
+ .withRcvSettleMode(equalTo(ATTACH_RCV_SETTLE_MODE_FIRST))
+ .withSource(notNullValue())
+ .withTarget(notNullValue());
+
+ UnsignedInteger linkHandle = UnsignedInteger.valueOf(_nextLinkHandle++);
+ final AttachFrame attachResponse = new AttachFrame()
+ .setHandle(linkHandle)
+ .setRole(SENDER_ROLE)
+ .setSndSettleMode(ATTACH_SND_SETTLE_MODE_UNSETTLED)
+ .setRcvSettleMode(ATTACH_RCV_SETTLE_MODE_FIRST)
+ .setInitialDeliveryCount(UnsignedInteger.ZERO);
+
+ FrameSender attachResponseSender = new FrameSender(this, FrameType.AMQP, 0, attachResponse, null)
+ .setValueProvider(new ValueProvider()
+ {
+ @Override
+ public void setValues()
+ {
+ attachResponse.setName(attachMatcher.getReceivedName());
+ attachResponse.setSource(attachMatcher.getReceivedSource());
+ attachResponse.setTarget(attachMatcher.getReceivedTarget());
+ }
+ });
+
+ attachMatcher.onSuccess(attachResponseSender);
+
+ addHandler(attachMatcher);
+ }
+
+ public void expectLinkFlowRespondWithTransfer()
+ {
+ final FlowMatcher flowMatcher = new FlowMatcher()
+ .withLinkCredit(Matchers.greaterThan(UnsignedInteger.ZERO));
+
+ final TransferFrame transferResponse = new TransferFrame()
+ .setHandle(UnsignedInteger.valueOf(_nextLinkHandle - 1)) // TODO: this needs to be the value used in the attach response
+ .setDeliveryId(UnsignedInteger.ZERO) // TODO: we shouldn't assume this is the first transfer on the session
+ .setDeliveryTag(new Binary("theDeliveryTag".getBytes()))
+ .setMessageFormat(UnsignedInteger.ZERO)
+ .setSettled(false);
+
+ Data payloadData = Proton.data(1024);
+
+ // TODO: create an actual AmqpValue described type?
+ payloadData.putDescribedType(new DescribedType()
+ {
+ @Override
+ public Object getDescriptor()
+ {
+ return Symbol.valueOf("amqp:amqp-value:*");
+ }
+
+ @Override
+ public Object getDescribed()
+ {
+ return "Hello World";
+ }
+ });
+ Binary payload = payloadData.encode();
+
+ FrameSender transferResponseSender = new FrameSender(
+ this,
+ FrameType.AMQP,
+ 0, // TODO use correct channel number (and check for dodgy hard-coded zeros elsewhere)
+ transferResponse,
+ payload);
+
+ flowMatcher.onSuccess(transferResponseSender);
+
+ addHandler(flowMatcher);
}
public void expectTransfer(Matcher<Binary> expectedPayloadMatcher)
@@ -310,6 +468,13 @@ public class TestAmqpPeer implements Aut
});
transferMatcher.onSuccess(dispositionFrameSender);
- _handlers.add(transferMatcher);
+ addHandler(transferMatcher);
+ }
+
+ public void expectDispositionThatIsAcceptedAndSettled()
+ {
+ addHandler(new DispositionMatcher()
+ .withSettled(equalTo(true))
+ .withState(new DescriptorMatcher(Accepted.DESCRIPTOR_CODE, Accepted.DESCRIPTOR_SYMBOL)));
}
}
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeerRunner.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeerRunner.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeerRunner.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestAmqpPeerRunner.java Fri Sep 13 12:52:52 2013
@@ -38,6 +38,7 @@ class TestAmqpPeerRunner implements Runn
private Socket _clientSocket;
private OutputStream _networkOutputStream;
+ private final Object _inputHandlingLock = new Object();
private final TestFrameParser _testFrameParser;
private volatile Exception _exception;
@@ -67,11 +68,15 @@ class TestAmqpPeerRunner implements Runn
_logger.finest("Attempting read");
while((bytesRead = networkInputStream.read(networkInputBytes)) != -1)
{
- ByteBuffer networkInputByteBuffer = ByteBuffer.wrap(networkInputBytes, 0, bytesRead);
+ //prevent stop() from killing the socket while the frame parser might be using it handling input
+ synchronized(_inputHandlingLock)
+ {
+ ByteBuffer networkInputByteBuffer = ByteBuffer.wrap(networkInputBytes, 0, bytesRead);
- _logger.info("Read: " + new Binary(networkInputBytes, 0, bytesRead));
+ _logger.finer("Read: " + new Binary(networkInputBytes, 0, bytesRead));
- _testFrameParser.input(networkInputByteBuffer);
+ _testFrameParser.input(networkInputByteBuffer);
+ }
_logger.finest("Attempting read");
}
@@ -82,12 +87,11 @@ class TestAmqpPeerRunner implements Runn
if(!_serverSocket.isClosed())
{
_logger.log(Level.SEVERE, "Problem in peer", e);
- e.printStackTrace(); // TODO make this a logger call
_exception = e;
}
else
{
- _logger.log(Level.FINE, "Caught exception, ignoring as socket is closed: " + e);
+ _logger.fine("Caught exception, ignoring as socket is closed: " + e);
}
}
finally
@@ -105,15 +109,19 @@ class TestAmqpPeerRunner implements Runn
public void stop() throws IOException
{
- try
- {
- _serverSocket.close();
- }
- finally
+ //wait for the frame parser to handle any input it already had
+ synchronized(_inputHandlingLock)
{
- if(_clientSocket != null)
+ try
+ {
+ _serverSocket.close();
+ }
+ finally
{
- _clientSocket.close();
+ if(_clientSocket != null)
+ {
+ _clientSocket.close();
+ }
}
}
}
@@ -125,8 +133,7 @@ class TestAmqpPeerRunner implements Runn
public void sendBytes(byte[] bytes)
{
- //TODO remove
- _logger.info("Sending: " + new Binary(bytes));
+ _logger.finer("Sending: " + new Binary(bytes));
try
{
_networkOutputStream.write(bytes);
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestFrameParser.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestFrameParser.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestFrameParser.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/TestFrameParser.java Fri Sep 13 12:52:52 2013
@@ -21,7 +21,6 @@ package org.apache.qpid.jms.test.testpee
import static org.apache.qpid.proton.engine.TransportResultFactory.error;
import java.nio.ByteBuffer;
-import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.qpid.proton.ProtonFactoryLoader;
@@ -35,8 +34,7 @@ import org.apache.qpid.proton.engine.Tra
class TestFrameParser
{
- // PHTODO replace logger
- private static final Logger TRACE_LOGGER = Logger.getLogger("proton.trace");
+ private static final Logger _logger = Logger.getLogger(TestFrameParser.class.getName());
private enum State
{
@@ -320,7 +318,7 @@ class TestFrameParser
}
DescribedType describedType = data.getDescribedType();
- TRACE_LOGGER.info("Received described type: " + describedType);
+ _logger.finer("Received described type: " + describedType);
Binary payload;
@@ -339,10 +337,7 @@ class TestFrameParser
}
else
{
- if(TRACE_LOGGER.isLoggable(Level.FINEST))
- {
- TRACE_LOGGER.finest("Ignored empty frame");
- }
+ _logger.finest("Ignored empty frame");
}
_size = 0;
currentInput = nextFramesInput;
@@ -369,7 +364,7 @@ class TestFrameParser
if(_state == State.ERROR)
{
- // PHTODO throw non-proton exception
+ // TODO throw non-proton exception
if(frameParsingError != null)
{
frameParsingError.checkIsOk();
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Accepted.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Accepted.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Accepted.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Accepted.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class Accepted extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:accepted:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:accepted:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000024L);
+
public Accepted(Object... fields)
@@ -44,7 +47,7 @@ public class Accepted extends ListDescri
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
}
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/AttachFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/AttachFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/AttachFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/AttachFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class AttachFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:attach:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:attach:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000012L);
+
private static final int FIELD_NAME = 0;
private static final int FIELD_HANDLE = 1;
@@ -58,7 +61,7 @@ public class AttachFrame extends ListDes
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public AttachFrame setName(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/BeginFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/BeginFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/BeginFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/BeginFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class BeginFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:begin:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:begin:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000011L);
+
private static final int FIELD_REMOTE_CHANNEL = 0;
private static final int FIELD_NEXT_OUTGOING_ID = 1;
@@ -52,7 +55,7 @@ public class BeginFrame extends ListDesc
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public BeginFrame setRemoteChannel(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/CloseFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/CloseFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/CloseFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/CloseFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class CloseFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:close:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:close:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000018L);
+
private static final int FIELD_ERROR = 0;
@@ -45,7 +48,7 @@ public class CloseFrame extends ListDesc
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public CloseFrame setError(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/DetachFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/DetachFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/DetachFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/DetachFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class DetachFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:detach:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:detach:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000016L);
+
private static final int FIELD_HANDLE = 0;
private static final int FIELD_CLOSED = 1;
@@ -47,7 +50,7 @@ public class DetachFrame extends ListDes
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public DetachFrame setHandle(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/DispositionFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/DispositionFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/DispositionFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/DispositionFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class DispositionFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:disposition:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:disposition:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000015L);
+
private static final int FIELD_ROLE = 0;
private static final int FIELD_FIRST = 1;
@@ -50,7 +53,7 @@ public class DispositionFrame extends Li
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public DispositionFrame setRole(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/EndFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/EndFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/EndFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/EndFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class EndFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:end:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:end:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000017L);
+
private static final int FIELD_ERROR = 0;
@@ -45,7 +48,7 @@ public class EndFrame extends ListDescri
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public EndFrame setError(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/FlowFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/FlowFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/FlowFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/FlowFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class FlowFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:flow:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:flow:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000013L);
+
private static final int FIELD_NEXT_INCOMING_ID = 0;
private static final int FIELD_INCOMING_WINDOW = 1;
@@ -55,7 +58,7 @@ public class FlowFrame extends ListDescr
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public FlowFrame setNextIncomingId(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Modified.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Modified.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Modified.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Modified.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class Modified extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:modified:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:modified:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000027L);
+
private static final int FIELD_DELIVERY_FAILED = 0;
private static final int FIELD_UNDELIVERABLE_HERE = 1;
@@ -47,7 +50,7 @@ public class Modified extends ListDescri
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public Modified setDeliveryFailed(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/OpenFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/OpenFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/OpenFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/OpenFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class OpenFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:open:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:open:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000010L);
+
private static final int FIELD_CONTAINER_ID = 0;
private static final int FIELD_HOSTNAME = 1;
@@ -54,7 +57,7 @@ public class OpenFrame extends ListDescr
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public OpenFrame setContainerId(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Rejected.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Rejected.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Rejected.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Rejected.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class Rejected extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:rejected:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:rejected:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000025L);
+
private static final int FIELD_ERROR = 0;
@@ -45,7 +48,7 @@ public class Rejected extends ListDescri
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public Rejected setError(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Released.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Released.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Released.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Released.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class Released extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:released:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:released:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000026L);
+
public Released(Object... fields)
@@ -44,7 +47,7 @@ public class Released extends ListDescri
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
}
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslChallengeFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslChallengeFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslChallengeFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslChallengeFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class SaslChallengeFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:sasl-challenge:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:sasl-challenge:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000042L);
+
private static final int FIELD_CHALLENGE = 0;
@@ -45,7 +48,7 @@ public class SaslChallengeFrame extends
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public SaslChallengeFrame setChallenge(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslInitFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslInitFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslInitFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslInitFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class SaslInitFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:sasl-init:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:sasl-init:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000041L);
+
private static final int FIELD_MECHANISM = 0;
private static final int FIELD_INITIAL_RESPONSE = 1;
@@ -47,7 +50,7 @@ public class SaslInitFrame extends ListD
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public SaslInitFrame setMechanism(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslMechanismsFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslMechanismsFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslMechanismsFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslMechanismsFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class SaslMechanismsFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:sasl-mechanisms:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:sasl-mechanisms:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000040L);
+
private static final int FIELD_SASL_SERVER_MECHANISMS = 0;
@@ -45,7 +48,7 @@ public class SaslMechanismsFrame extends
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public SaslMechanismsFrame setSaslServerMechanisms(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslOutcomeFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslOutcomeFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslOutcomeFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslOutcomeFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class SaslOutcomeFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:sasl-outcome:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:sasl-outcome:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000044L);
+
private static final int FIELD_CODE = 0;
private static final int FIELD_ADDITIONAL_DATA = 1;
@@ -46,7 +49,7 @@ public class SaslOutcomeFrame extends Li
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public SaslOutcomeFrame setCode(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslResponseFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslResponseFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslResponseFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/SaslResponseFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class SaslResponseFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:sasl-response:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:sasl-response:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000043L);
+
private static final int FIELD_RESPONSE = 0;
@@ -45,7 +48,7 @@ public class SaslResponseFrame extends L
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public SaslResponseFrame setResponse(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Source.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Source.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Source.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Source.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class Source extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:source:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:source:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000028L);
+
private static final int FIELD_ADDRESS = 0;
private static final int FIELD_DURABLE = 1;
@@ -55,7 +58,7 @@ public class Source extends ListDescribe
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public Source setAddress(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Target.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Target.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Target.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/Target.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class Target extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:target:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:target:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000029L);
+
private static final int FIELD_ADDRESS = 0;
private static final int FIELD_DURABLE = 1;
@@ -51,7 +54,7 @@ public class Target extends ListDescribe
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public Target setAddress(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/TransferFrame.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/TransferFrame.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/TransferFrame.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/TransferFrame.java Fri Sep 13 12:52:52 2013
@@ -22,13 +22,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class TransferFrame extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("amqp:transfer:list");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("amqp:transfer:list");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(0x0000000000000014L);
+
private static final int FIELD_HANDLE = 0;
private static final int FIELD_DELIVERY_ID = 1;
@@ -55,7 +58,7 @@ public class TransferFrame extends ListD
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
public TransferFrame setHandle(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/generate-frames.xsl
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/generate-frames.xsl?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/generate-frames.xsl (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/describedtypes/generate-frames.xsl Fri Sep 13 12:52:52 2013
@@ -63,13 +63,16 @@ package org.apache.qpid.jms.test.testpee
import org.apache.qpid.jms.test.testpeer.ListDescribedType;
import org.apache.qpid.proton.amqp.Symbol;
+import org.apache.qpid.proton.amqp.UnsignedLong;
/**
* Generated by generate-frames.xsl, which resides in this package.
*/
public class <xsl:value-of select="$classname"/> extends ListDescribedType
{
- private static final Symbol DESCRIPTOR = Symbol.valueOf("<xsl:value-of select="descendant::node()[name()='descriptor']/@name"/>");
+ public static final Symbol DESCRIPTOR_SYMBOL = Symbol.valueOf("<xsl:value-of select="descendant::node()[name()='descriptor']/@name"/>");
+ public static final UnsignedLong DESCRIPTOR_CODE = UnsignedLong.valueOf(<xsl:value-of select="concat(substring(descendant::node()[name()='descriptor']/@code,1,10),substring(descendant::node()[name()='descriptor']/@code,14))"/>L);
+
<xsl:for-each select="descendant::node()[name()='field']">
private static final int FIELD_<xsl:call-template name="toUpperDashToUnderscore"><xsl:with-param name="input" select="@name"/></xsl:call-template> = <xsl:value-of select="count(preceding-sibling::node()[name()='field'])"/>;</xsl:for-each>
@@ -86,7 +89,7 @@ public class <xsl:value-of select="$clas
@Override
public Symbol getDescriptor()
{
- return DESCRIPTOR;
+ return DESCRIPTOR_SYMBOL;
}
<xsl:for-each select="descendant::node()[name()='field']">
public <xsl:value-of select="$classname"/> set<xsl:call-template name="dashToCamel"><xsl:with-param name="input" select="@name"/></xsl:call-template>(Object o)
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/AttachMatcher.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/AttachMatcher.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/AttachMatcher.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/AttachMatcher.java Fri Sep 13 12:52:52 2013
@@ -32,21 +32,24 @@ import org.hamcrest.Matcher;
*/
public class AttachMatcher extends FrameWithNoPayloadMatchingHandler
{
-
- private static final int FIELD_NAME = 0;
- private static final int FIELD_HANDLE = 1;
- private static final int FIELD_ROLE = 2;
- private static final int FIELD_SND_SETTLE_MODE = 3;
- private static final int FIELD_RCV_SETTLE_MODE = 4;
- private static final int FIELD_SOURCE = 5;
- private static final int FIELD_TARGET = 6;
- private static final int FIELD_UNSETTLED = 7;
- private static final int FIELD_INCOMPLETE_UNSETTLED = 8;
- private static final int FIELD_INITIAL_DELIVERY_COUNT = 9;
- private static final int FIELD_MAX_MESSAGE_SIZE = 10;
- private static final int FIELD_OFFERED_CAPABILITIES = 11;
- private static final int FIELD_DESIRED_CAPABILITIES = 12;
- private static final int FIELD_PROPERTIES = 13;
+ /** Note that the ordinals of the Field enums match the order specified in the spec */
+ public enum Field
+ {
+ NAME,
+ HANDLE,
+ ROLE,
+ SND_SETTLE_MODE,
+ RCV_SETTLE_MODE,
+ SOURCE,
+ TARGET,
+ UNSETTLED,
+ INCOMPLETE_UNSETTLED,
+ INITIAL_DELIVERY_COUNT,
+ MAX_MESSAGE_SIZE,
+ OFFERED_CAPABILITIES,
+ DESIRED_CAPABILITIES,
+ PROPERTIES,
+ }
public AttachMatcher()
{
@@ -54,7 +57,7 @@ public class AttachMatcher extends Frame
ANY_CHANNEL,
UnsignedLong.valueOf(0x0000000000000012L),
Symbol.valueOf("amqp:attach:list"),
- new HashMap<Integer, Matcher<?>>(),
+ new HashMap<Enum<?>, Matcher<?>>(),
null);
}
@@ -67,157 +70,162 @@ public class AttachMatcher extends Frame
public AttachMatcher withName(Matcher<?> m)
{
- getMatchers().put(FIELD_NAME, m);
+ getMatchers().put(Field.NAME, m);
return this;
}
public AttachMatcher withHandle(Matcher<?> m)
{
- getMatchers().put(FIELD_HANDLE, m);
+ getMatchers().put(Field.HANDLE, m);
return this;
}
public AttachMatcher withRole(Matcher<?> m)
{
- getMatchers().put(FIELD_ROLE, m);
+ getMatchers().put(Field.ROLE, m);
return this;
}
public AttachMatcher withSndSettleMode(Matcher<?> m)
{
- getMatchers().put(FIELD_SND_SETTLE_MODE, m);
+ getMatchers().put(Field.SND_SETTLE_MODE, m);
return this;
}
public AttachMatcher withRcvSettleMode(Matcher<?> m)
{
- getMatchers().put(FIELD_RCV_SETTLE_MODE, m);
+ getMatchers().put(Field.RCV_SETTLE_MODE, m);
return this;
}
public AttachMatcher withSource(Matcher<?> m)
{
- getMatchers().put(FIELD_SOURCE, m);
+ getMatchers().put(Field.SOURCE, m);
return this;
}
public AttachMatcher withTarget(Matcher<?> m)
{
- getMatchers().put(FIELD_TARGET, m);
+ getMatchers().put(Field.TARGET, m);
return this;
}
public AttachMatcher withUnsettled(Matcher<?> m)
{
- getMatchers().put(FIELD_UNSETTLED, m);
+ getMatchers().put(Field.UNSETTLED, m);
return this;
}
public AttachMatcher withIncompleteUnsettled(Matcher<?> m)
{
- getMatchers().put(FIELD_INCOMPLETE_UNSETTLED, m);
+ getMatchers().put(Field.INCOMPLETE_UNSETTLED, m);
return this;
}
public AttachMatcher withInitialDeliveryCount(Matcher<?> m)
{
- getMatchers().put(FIELD_INITIAL_DELIVERY_COUNT, m);
+ getMatchers().put(Field.INITIAL_DELIVERY_COUNT, m);
return this;
}
public AttachMatcher withMaxMessageSize(Matcher<?> m)
{
- getMatchers().put(FIELD_MAX_MESSAGE_SIZE, m);
+ getMatchers().put(Field.MAX_MESSAGE_SIZE, m);
return this;
}
public AttachMatcher withOfferedCapabilities(Matcher<?> m)
{
- getMatchers().put(FIELD_OFFERED_CAPABILITIES, m);
+ getMatchers().put(Field.OFFERED_CAPABILITIES, m);
return this;
}
public AttachMatcher withDesiredCapabilities(Matcher<?> m)
{
- getMatchers().put(FIELD_DESIRED_CAPABILITIES, m);
+ getMatchers().put(Field.DESIRED_CAPABILITIES, m);
return this;
}
public AttachMatcher withProperties(Matcher<?> m)
{
- getMatchers().put(FIELD_PROPERTIES, m);
+ getMatchers().put(Field.PROPERTIES, m);
return this;
}
public Object getReceivedName()
{
- return getReceivedFields().get(FIELD_NAME);
+ return getReceivedFields().get(Field.NAME);
}
public Object getReceivedHandle()
{
- return getReceivedFields().get(FIELD_HANDLE);
+ return getReceivedFields().get(Field.HANDLE);
}
public Object getReceivedRole()
{
- return getReceivedFields().get(FIELD_ROLE);
+ return getReceivedFields().get(Field.ROLE);
}
public Object getReceivedSndSettleMode()
{
- return getReceivedFields().get(FIELD_SND_SETTLE_MODE);
+ return getReceivedFields().get(Field.SND_SETTLE_MODE);
}
public Object getReceivedRcvSettleMode()
{
- return getReceivedFields().get(FIELD_RCV_SETTLE_MODE);
+ return getReceivedFields().get(Field.RCV_SETTLE_MODE);
}
public Object getReceivedSource()
{
- return getReceivedFields().get(FIELD_SOURCE);
+ return getReceivedFields().get(Field.SOURCE);
}
public Object getReceivedTarget()
{
- return getReceivedFields().get(FIELD_TARGET);
+ return getReceivedFields().get(Field.TARGET);
}
public Object getReceivedUnsettled()
{
- return getReceivedFields().get(FIELD_UNSETTLED);
+ return getReceivedFields().get(Field.UNSETTLED);
}
public Object getReceivedIncompleteUnsettled()
{
- return getReceivedFields().get(FIELD_INCOMPLETE_UNSETTLED);
+ return getReceivedFields().get(Field.INCOMPLETE_UNSETTLED);
}
public Object getReceivedInitialDeliveryCount()
{
- return getReceivedFields().get(FIELD_INITIAL_DELIVERY_COUNT);
+ return getReceivedFields().get(Field.INITIAL_DELIVERY_COUNT);
}
public Object getReceivedMaxMessageSize()
{
- return getReceivedFields().get(FIELD_MAX_MESSAGE_SIZE);
+ return getReceivedFields().get(Field.MAX_MESSAGE_SIZE);
}
public Object getReceivedOfferedCapabilities()
{
- return getReceivedFields().get(FIELD_OFFERED_CAPABILITIES);
+ return getReceivedFields().get(Field.OFFERED_CAPABILITIES);
}
public Object getReceivedDesiredCapabilities()
{
- return getReceivedFields().get(FIELD_DESIRED_CAPABILITIES);
+ return getReceivedFields().get(Field.DESIRED_CAPABILITIES);
}
public Object getReceivedProperties()
{
- return getReceivedFields().get(FIELD_PROPERTIES);
+ return getReceivedFields().get(Field.PROPERTIES);
}
+ @Override
+ protected Enum<?> getField(int fieldIndex)
+ {
+ return Field.values()[fieldIndex];
+ }
}
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/BeginMatcher.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/BeginMatcher.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/BeginMatcher.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/BeginMatcher.java Fri Sep 13 12:52:52 2013
@@ -32,15 +32,18 @@ import org.hamcrest.Matcher;
*/
public class BeginMatcher extends FrameWithNoPayloadMatchingHandler
{
-
- private static final int FIELD_REMOTE_CHANNEL = 0;
- private static final int FIELD_NEXT_OUTGOING_ID = 1;
- private static final int FIELD_INCOMING_WINDOW = 2;
- private static final int FIELD_OUTGOING_WINDOW = 3;
- private static final int FIELD_HANDLE_MAX = 4;
- private static final int FIELD_OFFERED_CAPABILITIES = 5;
- private static final int FIELD_DESIRED_CAPABILITIES = 6;
- private static final int FIELD_PROPERTIES = 7;
+ /** Note that the ordinals of the Field enums match the order specified in the spec */
+ public enum Field
+ {
+ REMOTE_CHANNEL,
+ NEXT_OUTGOING_ID,
+ INCOMING_WINDOW,
+ OUTGOING_WINDOW,
+ HANDLE_MAX,
+ OFFERED_CAPABILITIES,
+ DESIRED_CAPABILITIES,
+ PROPERTIES,
+ }
public BeginMatcher()
{
@@ -48,7 +51,7 @@ public class BeginMatcher extends FrameW
ANY_CHANNEL,
UnsignedLong.valueOf(0x0000000000000011L),
Symbol.valueOf("amqp:begin:list"),
- new HashMap<Integer, Matcher<?>>(),
+ new HashMap<Enum<?>, Matcher<?>>(),
null);
}
@@ -61,91 +64,96 @@ public class BeginMatcher extends FrameW
public BeginMatcher withRemoteChannel(Matcher<?> m)
{
- getMatchers().put(FIELD_REMOTE_CHANNEL, m);
+ getMatchers().put(Field.REMOTE_CHANNEL, m);
return this;
}
public BeginMatcher withNextOutgoingId(Matcher<?> m)
{
- getMatchers().put(FIELD_NEXT_OUTGOING_ID, m);
+ getMatchers().put(Field.NEXT_OUTGOING_ID, m);
return this;
}
public BeginMatcher withIncomingWindow(Matcher<?> m)
{
- getMatchers().put(FIELD_INCOMING_WINDOW, m);
+ getMatchers().put(Field.INCOMING_WINDOW, m);
return this;
}
public BeginMatcher withOutgoingWindow(Matcher<?> m)
{
- getMatchers().put(FIELD_OUTGOING_WINDOW, m);
+ getMatchers().put(Field.OUTGOING_WINDOW, m);
return this;
}
public BeginMatcher withHandleMax(Matcher<?> m)
{
- getMatchers().put(FIELD_HANDLE_MAX, m);
+ getMatchers().put(Field.HANDLE_MAX, m);
return this;
}
public BeginMatcher withOfferedCapabilities(Matcher<?> m)
{
- getMatchers().put(FIELD_OFFERED_CAPABILITIES, m);
+ getMatchers().put(Field.OFFERED_CAPABILITIES, m);
return this;
}
public BeginMatcher withDesiredCapabilities(Matcher<?> m)
{
- getMatchers().put(FIELD_DESIRED_CAPABILITIES, m);
+ getMatchers().put(Field.DESIRED_CAPABILITIES, m);
return this;
}
public BeginMatcher withProperties(Matcher<?> m)
{
- getMatchers().put(FIELD_PROPERTIES, m);
+ getMatchers().put(Field.PROPERTIES, m);
return this;
}
public Object getReceivedRemoteChannel()
{
- return getReceivedFields().get(FIELD_REMOTE_CHANNEL);
+ return getReceivedFields().get(Field.REMOTE_CHANNEL);
}
public Object getReceivedNextOutgoingId()
{
- return getReceivedFields().get(FIELD_NEXT_OUTGOING_ID);
+ return getReceivedFields().get(Field.NEXT_OUTGOING_ID);
}
public Object getReceivedIncomingWindow()
{
- return getReceivedFields().get(FIELD_INCOMING_WINDOW);
+ return getReceivedFields().get(Field.INCOMING_WINDOW);
}
public Object getReceivedOutgoingWindow()
{
- return getReceivedFields().get(FIELD_OUTGOING_WINDOW);
+ return getReceivedFields().get(Field.OUTGOING_WINDOW);
}
public Object getReceivedHandleMax()
{
- return getReceivedFields().get(FIELD_HANDLE_MAX);
+ return getReceivedFields().get(Field.HANDLE_MAX);
}
public Object getReceivedOfferedCapabilities()
{
- return getReceivedFields().get(FIELD_OFFERED_CAPABILITIES);
+ return getReceivedFields().get(Field.OFFERED_CAPABILITIES);
}
public Object getReceivedDesiredCapabilities()
{
- return getReceivedFields().get(FIELD_DESIRED_CAPABILITIES);
+ return getReceivedFields().get(Field.DESIRED_CAPABILITIES);
}
public Object getReceivedProperties()
{
- return getReceivedFields().get(FIELD_PROPERTIES);
+ return getReceivedFields().get(Field.PROPERTIES);
}
+ @Override
+ protected Enum<?> getField(int fieldIndex)
+ {
+ return Field.values()[fieldIndex];
+ }
}
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/CloseMatcher.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/CloseMatcher.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/CloseMatcher.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/CloseMatcher.java Fri Sep 13 12:52:52 2013
@@ -32,8 +32,11 @@ import org.hamcrest.Matcher;
*/
public class CloseMatcher extends FrameWithNoPayloadMatchingHandler
{
-
- private static final int FIELD_ERROR = 0;
+ /** Note that the ordinals of the Field enums match the order specified in the spec */
+ public enum Field
+ {
+ ERROR,
+ }
public CloseMatcher()
{
@@ -41,7 +44,7 @@ public class CloseMatcher extends FrameW
ANY_CHANNEL,
UnsignedLong.valueOf(0x0000000000000018L),
Symbol.valueOf("amqp:close:list"),
- new HashMap<Integer, Matcher<?>>(),
+ new HashMap<Enum<?>, Matcher<?>>(),
null);
}
@@ -54,14 +57,19 @@ public class CloseMatcher extends FrameW
public CloseMatcher withError(Matcher<?> m)
{
- getMatchers().put(FIELD_ERROR, m);
+ getMatchers().put(Field.ERROR, m);
return this;
}
public Object getReceivedError()
{
- return getReceivedFields().get(FIELD_ERROR);
+ return getReceivedFields().get(Field.ERROR);
}
+ @Override
+ protected Enum<?> getField(int fieldIndex)
+ {
+ return Field.values()[fieldIndex];
+ }
}
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/DetachMatcher.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/DetachMatcher.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/DetachMatcher.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/DetachMatcher.java Fri Sep 13 12:52:52 2013
@@ -32,10 +32,13 @@ import org.hamcrest.Matcher;
*/
public class DetachMatcher extends FrameWithNoPayloadMatchingHandler
{
-
- private static final int FIELD_HANDLE = 0;
- private static final int FIELD_CLOSED = 1;
- private static final int FIELD_ERROR = 2;
+ /** Note that the ordinals of the Field enums match the order specified in the spec */
+ public enum Field
+ {
+ HANDLE,
+ CLOSED,
+ ERROR,
+ }
public DetachMatcher()
{
@@ -43,7 +46,7 @@ public class DetachMatcher extends Frame
ANY_CHANNEL,
UnsignedLong.valueOf(0x0000000000000016L),
Symbol.valueOf("amqp:detach:list"),
- new HashMap<Integer, Matcher<?>>(),
+ new HashMap<Enum<?>, Matcher<?>>(),
null);
}
@@ -56,36 +59,41 @@ public class DetachMatcher extends Frame
public DetachMatcher withHandle(Matcher<?> m)
{
- getMatchers().put(FIELD_HANDLE, m);
+ getMatchers().put(Field.HANDLE, m);
return this;
}
public DetachMatcher withClosed(Matcher<?> m)
{
- getMatchers().put(FIELD_CLOSED, m);
+ getMatchers().put(Field.CLOSED, m);
return this;
}
public DetachMatcher withError(Matcher<?> m)
{
- getMatchers().put(FIELD_ERROR, m);
+ getMatchers().put(Field.ERROR, m);
return this;
}
public Object getReceivedHandle()
{
- return getReceivedFields().get(FIELD_HANDLE);
+ return getReceivedFields().get(Field.HANDLE);
}
public Object getReceivedClosed()
{
- return getReceivedFields().get(FIELD_CLOSED);
+ return getReceivedFields().get(Field.CLOSED);
}
public Object getReceivedError()
{
- return getReceivedFields().get(FIELD_ERROR);
+ return getReceivedFields().get(Field.ERROR);
}
+ @Override
+ protected Enum<?> getField(int fieldIndex)
+ {
+ return Field.values()[fieldIndex];
+ }
}
Modified: qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/DispositionMatcher.java
URL: http://svn.apache.org/viewvc/qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/DispositionMatcher.java?rev=1522905&r1=1522904&r2=1522905&view=diff
==============================================================================
--- qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/DispositionMatcher.java (original)
+++ qpid/jms/trunk/src/test/java/org/apache/qpid/jms/test/testpeer/matchers/DispositionMatcher.java Fri Sep 13 12:52:52 2013
@@ -32,13 +32,16 @@ import org.hamcrest.Matcher;
*/
public class DispositionMatcher extends FrameWithNoPayloadMatchingHandler
{
-
- private static final int FIELD_ROLE = 0;
- private static final int FIELD_FIRST = 1;
- private static final int FIELD_LAST = 2;
- private static final int FIELD_SETTLED = 3;
- private static final int FIELD_STATE = 4;
- private static final int FIELD_BATCHABLE = 5;
+ /** Note that the ordinals of the Field enums match the order specified in the spec */
+ public enum Field
+ {
+ ROLE,
+ FIRST,
+ LAST,
+ SETTLED,
+ STATE,
+ BATCHABLE,
+ }
public DispositionMatcher()
{
@@ -46,7 +49,7 @@ public class DispositionMatcher extends
ANY_CHANNEL,
UnsignedLong.valueOf(0x0000000000000015L),
Symbol.valueOf("amqp:disposition:list"),
- new HashMap<Integer, Matcher<?>>(),
+ new HashMap<Enum<?>, Matcher<?>>(),
null);
}
@@ -59,69 +62,74 @@ public class DispositionMatcher extends
public DispositionMatcher withRole(Matcher<?> m)
{
- getMatchers().put(FIELD_ROLE, m);
+ getMatchers().put(Field.ROLE, m);
return this;
}
public DispositionMatcher withFirst(Matcher<?> m)
{
- getMatchers().put(FIELD_FIRST, m);
+ getMatchers().put(Field.FIRST, m);
return this;
}
public DispositionMatcher withLast(Matcher<?> m)
{
- getMatchers().put(FIELD_LAST, m);
+ getMatchers().put(Field.LAST, m);
return this;
}
public DispositionMatcher withSettled(Matcher<?> m)
{
- getMatchers().put(FIELD_SETTLED, m);
+ getMatchers().put(Field.SETTLED, m);
return this;
}
public DispositionMatcher withState(Matcher<?> m)
{
- getMatchers().put(FIELD_STATE, m);
+ getMatchers().put(Field.STATE, m);
return this;
}
public DispositionMatcher withBatchable(Matcher<?> m)
{
- getMatchers().put(FIELD_BATCHABLE, m);
+ getMatchers().put(Field.BATCHABLE, m);
return this;
}
public Object getReceivedRole()
{
- return getReceivedFields().get(FIELD_ROLE);
+ return getReceivedFields().get(Field.ROLE);
}
public Object getReceivedFirst()
{
- return getReceivedFields().get(FIELD_FIRST);
+ return getReceivedFields().get(Field.FIRST);
}
public Object getReceivedLast()
{
- return getReceivedFields().get(FIELD_LAST);
+ return getReceivedFields().get(Field.LAST);
}
public Object getReceivedSettled()
{
- return getReceivedFields().get(FIELD_SETTLED);
+ return getReceivedFields().get(Field.SETTLED);
}
public Object getReceivedState()
{
- return getReceivedFields().get(FIELD_STATE);
+ return getReceivedFields().get(Field.STATE);
}
public Object getReceivedBatchable()
{
- return getReceivedFields().get(FIELD_BATCHABLE);
+ return getReceivedFields().get(Field.BATCHABLE);
}
+ @Override
+ protected Enum<?> getField(int fieldIndex)
+ {
+ return Field.values()[fieldIndex];
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org