Package org.apache.qpid.server.message

Examples of org.apache.qpid.server.message.AMQMessageHeader


    }

    private ServerMessage generateTestMessage(final long id, final String keyValue)
    {
        final ServerMessage message = mock(ServerMessage.class);
        AMQMessageHeader hdr = mock(AMQMessageHeader.class);
        when(message.getMessageHeader()).thenReturn(hdr);
        when(hdr.getHeader(eq("KEY"))).thenReturn(keyValue);
        when(hdr.containsHeader(eq("KEY"))).thenReturn(true);
        when(hdr.getHeaderNames()).thenReturn(Collections.singleton("KEY"));
        MessageReference ref = mock(MessageReference.class);
        when(ref.getMessage()).thenReturn(message);
        when(message.newReference()).thenReturn(ref);
        when(message.newReference(any(TransactionLogResource.class))).thenReturn(ref);
        when(message.getMessageNumber()).thenReturn(id);
View Full Code Here


    }

    public QueueEntryImpl getQueueEntryImpl(int msgId)
    {
        final ServerMessage message = mock(ServerMessage.class);
        AMQMessageHeader hdr = mock(AMQMessageHeader.class);
        when(message.getMessageHeader()).thenReturn(hdr);
        when(hdr.getHeader(eq("KEY"))).thenReturn(keys[msgId-1]);
        when(hdr.containsHeader(eq("KEY"))).thenReturn(true);
        when(hdr.getHeaderNames()).thenReturn(Collections.singleton("KEY"));

        final MessageReference reference = mock(MessageReference.class);
        when(reference.getMessage()).thenReturn(message);
        when(message.newReference()).thenReturn(reference);
        when(message.newReference(any(TransactionLogResource.class))).thenReturn(reference);
View Full Code Here

        }
    }

    private boolean validateMessage(final ServerMessage message)
    {
        AMQMessageHeader header = message.getMessageHeader();
        return containsStringHeader(header, TYPE_ATTRIBUTE) && containsStringHeader(header, OPERATION_HEADER)
               && (containsStringHeader(header, NAME_ATTRIBUTE) || containsStringHeader(header, IDENTITY_ATTRIBUTE));
    }
View Full Code Here

                                                 final int size)
    {
        DeliveryProperties deliveryProps = new DeliveryProperties();
        MessageProperties messageProps = new MessageProperties();

        final AMQMessageHeader origHeader = serverMsg.getMessageHeader();


        deliveryProps.setExpiration(serverMsg.getExpiration());
        deliveryProps.setPriority(MessageDeliveryPriority.get(origHeader.getPriority()));
        deliveryProps.setRoutingKey(serverMsg.getInitialRoutingAddress());
        deliveryProps.setTimestamp(origHeader.getTimestamp());

        messageProps.setContentEncoding(origHeader.getEncoding());
        messageProps.setContentLength(size);
        messageProps.setContentType(bodyMimeType);
        if(origHeader.getCorrelationId() != null)
        {
            messageProps.setCorrelationId(origHeader.getCorrelationId().getBytes());
        }
        final String origReplyTo = origHeader.getReplyTo();
        if(origReplyTo != null && !origReplyTo.equals(""))
        {
            ReplyTo replyTo;
            if(origReplyTo.startsWith("/"))
            {
View Full Code Here

        Map<String, Object> bindArgs = Collections.<String, Object>singletonMap(JMS_SELECTOR.toString(), "arg > 5");
        createBinding(UUID.randomUUID(), bindingKey, queue, _exchange, bindArgs);

        ServerMessage matchMsg1 = mock(ServerMessage.class);
        AMQMessageHeader msgHeader1 = createMessageHeader(Collections.<String, Object>singletonMap("arg", 6));
        when(matchMsg1.getMessageHeader()).thenReturn(msgHeader1);
        routeMessage(matchMsg1, bindingKey, 1);
        Assert.assertEquals("First message should be routed to queue", 1, queue.getQueueDepthMessages());

        ServerMessage nonmatchMsg2 = mock(ServerMessage.class);
        AMQMessageHeader msgHeader2 = createMessageHeader(Collections.<String, Object>singletonMap("arg", 5));
        when(nonmatchMsg2.getMessageHeader()).thenReturn(msgHeader2);
        routeMessage(nonmatchMsg2, bindingKey, 2);
        Assert.assertEquals("Second message should not be routed to queue", 1, queue.getQueueDepthMessages());

        ServerMessage nonmatchMsg3 = mock(ServerMessage.class);
        AMQMessageHeader msgHeader3 = createMessageHeader(Collections.<String, Object>emptyMap());
        when(nonmatchMsg3.getMessageHeader()).thenReturn(msgHeader3);
        routeMessage(nonmatchMsg3, bindingKey, 3);
        Assert.assertEquals("Third message should not be routed to queue", 1, queue.getQueueDepthMessages());

        ServerMessage matchMsg4 = mock(ServerMessage.class);
        AMQMessageHeader msgHeader4 = createMessageHeader(Collections.<String, Object>singletonMap("arg", 7));
        when(matchMsg4.getMessageHeader()).thenReturn(msgHeader4);
        routeMessage(matchMsg4, bindingKey, 4);
        Assert.assertEquals("First message should be routed to queue", 2, queue.getQueueDepthMessages());

    }
View Full Code Here

        final String bindingKey = "a";

        Map<String, Object> originalArgs = Collections.<String, Object>singletonMap(JMS_SELECTOR.toString(), "arg > 5");
        createBinding(UUID.randomUUID(), bindingKey, queue, _exchange, originalArgs);

        AMQMessageHeader mgsHeader1 = createMessageHeader(Collections.<String, Object>singletonMap("arg", 6));
        ServerMessage msg1 = mock(ServerMessage.class);
        when(msg1.getMessageHeader()).thenReturn(mgsHeader1);

        routeMessage(msg1, bindingKey, 1);
        Assert.assertEquals(1, queue.getQueueDepthMessages());

        // Update the binding
        Map<String, Object> newArgs = Collections.<String, Object>singletonMap(JMS_SELECTOR.toString(), "arg > 6");
        _exchange.replaceBinding(bindingKey, queue, newArgs);

        // Message that would have matched the original selector but not the new
        AMQMessageHeader mgsHeader2 = createMessageHeader(Collections.<String, Object>singletonMap("arg", 6));
        ServerMessage msg2 = mock(ServerMessage.class);
        when(msg2.getMessageHeader()).thenReturn(mgsHeader2);

        routeMessage(msg2, bindingKey, 2);
        Assert.assertEquals(1, queue.getQueueDepthMessages());

        // Message that matches only the second
        AMQMessageHeader mgsHeader3 = createMessageHeader(Collections.<String, Object>singletonMap("arg", 7));
        ServerMessage msg3 = mock(ServerMessage.class);
        when(msg3.getMessageHeader()).thenReturn(mgsHeader3);

        routeMessage(msg3, bindingKey, 2);
        Assert.assertEquals(2, queue.getQueueDepthMessages());
View Full Code Here

        // Update the binding adding selector
        Map<String, Object> newArgs = Collections.<String, Object>singletonMap(JMS_SELECTOR.toString(), "arg > 6");
        _exchange.replaceBinding(bindingKey, queue, newArgs);

        // Message that does not match the new selector
        AMQMessageHeader mgsHeader2 = createMessageHeader(Collections.<String, Object>singletonMap("arg", 6));
        ServerMessage msg2 = mock(ServerMessage.class);
        when(msg2.getMessageHeader()).thenReturn(mgsHeader2);

        routeMessage(msg2, bindingKey, 2);
        Assert.assertEquals(1, queue.getQueueDepthMessages());

        // Message that matches the selector
        AMQMessageHeader mgsHeader3 = createMessageHeader(Collections.<String, Object>singletonMap("arg", 7));
        ServerMessage msg3 = mock(ServerMessage.class);
        when(msg3.getMessageHeader()).thenReturn(mgsHeader3);

        routeMessage(msg3, bindingKey, 2);
        Assert.assertEquals(2, queue.getQueueDepthMessages());
View Full Code Here

        return queues.size();
    }

    private AMQMessageHeader createMessageHeader(Map<String, Object> headers)
    {
        AMQMessageHeader messageHeader = mock(AMQMessageHeader.class);
        for(Map.Entry<String, Object> entry : headers.entrySet())
        {
            String key = entry.getKey();
            Object value = entry.getValue();

            when(messageHeader.containsHeader(key)).thenReturn(true);
            when(messageHeader.getHeader(key)).thenReturn(value);
        }
        return messageHeader;
    }
View Full Code Here

        _list = queue.getEntries();

        for (int i = 0; i < PRIORITIES.length; i++)
        {
            ServerMessage<?> message = mock(ServerMessage.class);
            AMQMessageHeader header = mock(AMQMessageHeader.class);
            @SuppressWarnings({ "rawtypes", "unchecked" })
            MessageReference<ServerMessage> ref = mock(MessageReference.class);

            when(message.getMessageHeader()).thenReturn(header);
            when(message.newReference()).thenReturn(ref);
            when(message.newReference(any(TransactionLogResource.class))).thenReturn(ref);
            when(ref.getMessage()).thenReturn(message);
            when(header.getPriority()).thenReturn(PRIORITIES[i]);

            entries[i] = _list.add(message);
        }

        _priority4message1 = entries[0];
View Full Code Here

    }

    private ServerMessage mockMessage(final Map<String, Object> headerValues)
    {
        final AMQMessageHeader header = mock(AMQMessageHeader.class);
        when(header.containsHeader(anyString())).then(new Answer<Boolean>()
        {
            @Override
            public Boolean answer(InvocationOnMock invocation) throws Throwable
            {
                return headerValues.containsKey((String) invocation.getArguments()[0]);
            }
        });
        when(header.getHeader(anyString())).then(new Answer<Object>()
        {
            @Override
            public Object answer(InvocationOnMock invocation) throws Throwable
            {
                return headerValues.get((String) invocation.getArguments()[0]);
            }
        });
        when(header.getHeaderNames()).thenReturn(headerValues.keySet());
        when(header.containsHeaders(anySet())).then(new Answer<Boolean>()
        {
            @Override
            public Boolean answer(InvocationOnMock invocation) throws Throwable
            {
                final Set names = (Set) invocation.getArguments()[0];
View Full Code Here

TOP

Related Classes of org.apache.qpid.server.message.AMQMessageHeader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.