Search in sources :

Example 6 with MessagePublishInfo

use of org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo in project qpid-broker-j by apache.

the class PropertyConverter_0_10_to_0_8Test method testDiscardUnroutableTrueConversion.

public void testDiscardUnroutableTrueConversion() {
    final boolean discardUnroutable = true;
    final DeliveryProperties deliveryProperties = new DeliveryProperties();
    deliveryProperties.setDiscardUnroutable(discardUnroutable);
    MessageTransferMessage message = createTestMessage(deliveryProperties);
    final AMQMessage convertedMessage = _messageConverter.convert(message, _namedAddressSpace);
    MessagePublishInfo messagePublishInfo = convertedMessage.getMessagePublishInfo();
    assertEquals("Unexpected mandatory flag", !discardUnroutable, messagePublishInfo.isMandatory());
}
Also used : MessagePublishInfo(org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo) MessageTransferMessage(org.apache.qpid.server.protocol.v0_10.MessageTransferMessage) DeliveryProperties(org.apache.qpid.server.protocol.v0_10.transport.DeliveryProperties) AMQMessage(org.apache.qpid.server.protocol.v0_8.AMQMessage)

Example 7 with MessagePublishInfo

use of org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo in project qpid-broker-j by apache.

the class MessageConverter_1_0_to_v0_8 method convertMetaData.

private MessageMetaData convertMetaData(final Message_1_0 serverMsg, final String bodyMimeType, final int size, final NamedAddressSpace addressSpace) {
    final MessageMetaData_1_0.MessageHeader_1_0 header = serverMsg.getMessageHeader();
    final BasicContentHeaderProperties props = new BasicContentHeaderProperties();
    props.setAppId(serverMsg.getMessageHeader().getAppId());
    props.setContentType(bodyMimeType);
    props.setEncoding(convertToShortStringForProperty("content-encoding", serverMsg.getMessageHeader().getEncoding()));
    props.setCorrelationId(getCorrelationIdAsShortString(serverMsg));
    props.setDeliveryMode(serverMsg.isPersistent() ? BasicContentHeaderProperties.PERSISTENT : BasicContentHeaderProperties.NON_PERSISTENT);
    final Date absoluteExpiryTime = getAbsoluteExpiryTime(serverMsg);
    if (absoluteExpiryTime != null) {
        props.setExpiration(absoluteExpiryTime.getTime());
    } else {
        Long ttl = getTtl(serverMsg);
        if (ttl != null) {
            props.setExpiration(ttl + serverMsg.getArrivalTime());
        }
    }
    props.setMessageId(getMessageIdAsShortString(serverMsg));
    props.setPriority(serverMsg.getMessageHeader().getPriority());
    props.setReplyTo(getReplyTo(serverMsg, addressSpace));
    Date timestamp = getCreationTime(serverMsg);
    if (timestamp != null) {
        props.setTimestamp(timestamp.getTime());
    } else {
        props.setTimestamp(serverMsg.getArrivalTime());
    }
    props.setUserId(getUserIdAsShortString(serverMsg));
    Map<String, Object> headerProps = new LinkedHashMap<>();
    if (header.getSubject() != null) {
        headerProps.put("qpid.subject", header.getSubject());
        props.setType(convertToShortStringForProperty("subject", header.getSubject()));
    }
    String groupId = getGroupId(serverMsg);
    if (groupId != null) {
        headerProps.put("JMSXGroupID", groupId);
    }
    UnsignedInteger groupSequence = getGroupSequence(serverMsg);
    if (groupSequence != null) {
        headerProps.put("JMSXGroupSeq", groupSequence.intValue());
    }
    for (String headerName : serverMsg.getMessageHeader().getHeaderNames()) {
        headerProps.put(headerName, convertValue(serverMsg.getMessageHeader().getHeader(headerName)));
    }
    final FieldTable headers;
    try {
        headers = FieldTable.convertToFieldTable(headerProps);
    } catch (IllegalArgumentException e) {
        throw new MessageConversionException("Could not convert message from 1.0 to 0-8 because conversion of 'application-properties' failed.", e);
    }
    props.setHeaders(headers);
    final ContentHeaderBody chb = new ContentHeaderBody(props);
    chb.setBodySize(size);
    MessagePublishInfo publishInfo = createMessagePublishInfo(header, addressSpace);
    return new MessageMetaData(publishInfo, chb, serverMsg.getArrivalTime());
}
Also used : MessagePublishInfo(org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo) MessageMetaData(org.apache.qpid.server.protocol.v0_8.MessageMetaData) MessageConversionException(org.apache.qpid.server.protocol.converter.MessageConversionException) ContentHeaderBody(org.apache.qpid.server.protocol.v0_8.transport.ContentHeaderBody) FieldTable(org.apache.qpid.server.protocol.v0_8.FieldTable) MessageMetaData_1_0(org.apache.qpid.server.protocol.v1_0.MessageMetaData_1_0) AMQShortString(org.apache.qpid.server.protocol.v0_8.AMQShortString) BasicContentHeaderProperties(org.apache.qpid.server.protocol.v0_8.transport.BasicContentHeaderProperties) Date(java.util.Date) LinkedHashMap(java.util.LinkedHashMap) UnsignedInteger(org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger)

Example 8 with MessagePublishInfo

use of org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo in project qpid-broker-j by apache.

the class MessageConverter_0_8_to_1_0Test method setUp.

@Override
public void setUp() throws Exception {
    super.setUp();
    when(_handle.getMetaData()).thenReturn(_metaData);
    when(_metaData.getMessageHeader()).thenReturn(_header);
    when(_metaData.getMessagePublishInfo()).thenReturn(new MessagePublishInfo());
    when(_metaData.getContentHeaderBody()).thenReturn(_contentHeaderBody);
    when(_contentHeaderBody.getProperties()).thenReturn(_basicContentHeaderProperties);
}
Also used : MessagePublishInfo(org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo)

Example 9 with MessagePublishInfo

use of org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo in project qpid-broker-j by apache.

the class BDBMessageStoreTest method createAndStoreSingleChunkMessage_0_8.

private StoredMessage<MessageMetaData> createAndStoreSingleChunkMessage_0_8(MessageStore store) {
    QpidByteBuffer chunk1 = QpidByteBuffer.wrap(CONTENT_BYTES);
    int bodySize = CONTENT_BYTES.length;
    // create and store the message using the MessageStore interface
    MessagePublishInfo pubInfoBody_0_8 = createPublishInfoBody_0_8();
    BasicContentHeaderProperties props_0_8 = createContentHeaderProperties_0_8();
    ContentHeaderBody chb_0_8 = createContentHeaderBody_0_8(props_0_8, bodySize);
    MessageMetaData messageMetaData_0_8 = new MessageMetaData(pubInfoBody_0_8, chb_0_8);
    MessageHandle<MessageMetaData> storedMessage_0_8 = store.addMessage(messageMetaData_0_8);
    storedMessage_0_8.addContent(chunk1);
    ((AbstractBDBMessageStore.StoredBDBMessage) storedMessage_0_8).flushToStore();
    return storedMessage_0_8.allContentAdded();
}
Also used : MessagePublishInfo(org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo) MessageMetaData(org.apache.qpid.server.protocol.v0_8.MessageMetaData) ContentHeaderBody(org.apache.qpid.server.protocol.v0_8.transport.ContentHeaderBody) QpidByteBuffer(org.apache.qpid.server.bytebuffer.QpidByteBuffer) BasicContentHeaderProperties(org.apache.qpid.server.protocol.v0_8.transport.BasicContentHeaderProperties)

Example 10 with MessagePublishInfo

use of org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo in project qpid-broker-j by apache.

the class MessageConverter_Internal_to_v0_8 method createMessagePublishInfo.

private MessagePublishInfo createMessagePublishInfo(final InternalMessage serverMsg, final NamedAddressSpace addressSpace) {
    String to = serverMsg.getTo();
    final String exchangeName;
    final String routingKey;
    if (to == null || "".equals(to)) {
        to = serverMsg.getInitialRoutingAddress();
    }
    if (to != null && !"".equals(to)) {
        DestinationAddress destinationAddress = new DestinationAddress(addressSpace, to);
        MessageDestination messageDestination = destinationAddress.getMessageDestination();
        if (messageDestination instanceof Queue) {
            exchangeName = "";
            routingKey = messageDestination.getName();
        } else if (messageDestination instanceof Exchange) {
            exchangeName = messageDestination.getName();
            routingKey = destinationAddress.getRoutingKey();
        } else {
            exchangeName = "";
            routingKey = to;
        }
    } else {
        exchangeName = "";
        routingKey = "";
    }
    return new MessagePublishInfo(convertToShortStringForProperty("to", exchangeName), false, false, convertToShortStringForProperty("to' or 'subject", routingKey));
}
Also used : Exchange(org.apache.qpid.server.model.Exchange) MessagePublishInfo(org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo) MessageDestination(org.apache.qpid.server.message.MessageDestination) Queue(org.apache.qpid.server.model.Queue) DestinationAddress(org.apache.qpid.server.model.DestinationAddress)

Aggregations

MessagePublishInfo (org.apache.qpid.server.protocol.v0_8.transport.MessagePublishInfo)40 AMQMessage (org.apache.qpid.server.protocol.v0_8.AMQMessage)16 Matchers.anyString (org.mockito.Matchers.anyString)15 AMQShortString (org.apache.qpid.server.protocol.v0_8.AMQShortString)14 BasicContentHeaderProperties (org.apache.qpid.server.protocol.v0_8.transport.BasicContentHeaderProperties)13 ContentHeaderBody (org.apache.qpid.server.protocol.v0_8.transport.ContentHeaderBody)11 ApplicationProperties (org.apache.qpid.server.protocol.v1_0.type.messaging.ApplicationProperties)9 Properties (org.apache.qpid.server.protocol.v1_0.type.messaging.Properties)9 Message_1_0 (org.apache.qpid.server.protocol.v1_0.Message_1_0)8 InternalMessage (org.apache.qpid.server.message.internal.InternalMessage)7 DeliveryProperties (org.apache.qpid.server.protocol.v0_10.transport.DeliveryProperties)7 Exchange (org.apache.qpid.server.model.Exchange)6 MessageTransferMessage (org.apache.qpid.server.protocol.v0_10.MessageTransferMessage)6 Queue (org.apache.qpid.server.model.Queue)4 MessageMetaData (org.apache.qpid.server.protocol.v0_8.MessageMetaData)4 LinkedHashMap (java.util.LinkedHashMap)3 MessageConversionException (org.apache.qpid.server.protocol.converter.MessageConversionException)3 Date (java.util.Date)2 QpidByteBuffer (org.apache.qpid.server.bytebuffer.QpidByteBuffer)2 MessageDestination (org.apache.qpid.server.message.MessageDestination)2