You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/08/27 12:36:39 UTC
svn commit: r1620858 - in /qpid/trunk/qpid/java/broker-plugins:
amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/
amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/
Author: rgodfrey
Date: Wed Aug 27 10:36:38 2014
New Revision: 1620858
URL: http://svn.apache.org/r1620858
Log:
QPID-6047 : [Java Broker] Improve Message conversion between 1.0 and 0.x protocols - add mapping from application property qpid.subject to the 1.0 subject property
Modified:
qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0.java
qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_1_0_to_v0_10.java
qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_0_8_to_1_0.java
qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_1_0_to_v0_8.java
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0.java?rev=1620858&r1=1620857&r2=1620858&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0.java Wed Aug 27 10:36:38 2014
@@ -22,7 +22,10 @@
package org.apache.qpid.server.protocol.converter.v0_10_v1_0;
import java.util.ArrayList;
+import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Map;
+
import org.apache.qpid.amqp_1_0.messaging.SectionEncoder;
import org.apache.qpid.amqp_1_0.type.Binary;
import org.apache.qpid.amqp_1_0.type.Section;
@@ -126,9 +129,18 @@ public class MessageConverter_0_10_to_1_
sections.add(props);
- if(msgProps.getApplicationHeaders() != null)
+ Map<String, Object> applicationProperties = msgProps.getApplicationHeaders();
+
+ if(applicationProperties != null)
{
- sections.add(new ApplicationProperties(msgProps.getApplicationHeaders()));
+ if(applicationProperties.containsKey("qpid.subject"))
+ {
+ props.setSubject(String.valueOf(applicationProperties.get("qpid.subject")));
+ applicationProperties = new LinkedHashMap<>(applicationProperties);
+ applicationProperties.remove("qpid.subject");
+ }
+ sections.add(new ApplicationProperties(applicationProperties));
+
}
}
return new MessageMetaData_1_0(sections, sectionEncoder);
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_1_0_to_v0_10.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_1_0_to_v0_10.java?rev=1620858&r1=1620857&r2=1620858&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_1_0_to_v0_10.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_1_0_to_v0_10.java Wed Aug 27 10:36:38 2014
@@ -21,14 +21,15 @@
package org.apache.qpid.server.protocol.converter.v0_10_v1_0;
import java.nio.ByteBuffer;
+import java.util.LinkedHashMap;
import java.util.Map;
-import org.apache.qpid.server.message.AMQMessageHeader;
import org.apache.qpid.server.plugin.MessageConverter;
import org.apache.qpid.server.plugin.PluggableService;
import org.apache.qpid.server.protocol.v0_10.MessageMetaData_0_10;
import org.apache.qpid.server.protocol.v0_10.MessageTransferMessage;
import org.apache.qpid.server.protocol.v1_0.MessageConverter_from_1_0;
+import org.apache.qpid.server.protocol.v1_0.MessageMetaData_1_0;
import org.apache.qpid.server.protocol.v1_0.Message_1_0;
import org.apache.qpid.server.store.StoredMessage;
import org.apache.qpid.server.virtualhost.VirtualHostImpl;
@@ -138,7 +139,7 @@ public class MessageConverter_1_0_to_v0_
DeliveryProperties deliveryProps = new DeliveryProperties();
MessageProperties messageProps = new MessageProperties();
- final AMQMessageHeader origHeader = serverMsg.getMessageHeader();
+ final MessageMetaData_1_0.MessageHeader_1_0 origHeader = serverMsg.getMessageHeader();
deliveryProps.setExpiration(serverMsg.getExpiration());
@@ -177,8 +178,15 @@ public class MessageConverter_1_0_to_v0_
messageProps.setReplyTo(replyTo);
}
- messageProps.setApplicationHeaders((Map<String, Object>) MessageConverter_from_1_0.convertValue(serverMsg.getMessageHeader()
- .getHeadersAsMap()));
+ Map<String, Object> appHeaders =
+ (Map<String, Object>) MessageConverter_from_1_0.convertValue(serverMsg.getMessageHeader()
+ .getHeadersAsMap());
+ if(origHeader.getSubject() != null && !appHeaders.containsKey("qpid.subject"))
+ {
+ appHeaders = new LinkedHashMap<>(appHeaders);
+ appHeaders.put("qpid.subject", origHeader.getSubject());
+ }
+ messageProps.setApplicationHeaders(appHeaders);
Header header = new Header(deliveryProps, messageProps, null);
return new MessageMetaData_0_10(header, size, serverMsg.getArrivalTime());
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_0_8_to_1_0.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_0_8_to_1_0.java?rev=1620858&r1=1620857&r2=1620858&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_0_8_to_1_0.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_0_8_to_1_0.java Wed Aug 27 10:36:38 2014
@@ -22,7 +22,10 @@ package org.apache.qpid.server.protocol.
import java.net.URISyntaxException;
import java.util.ArrayList;
+import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Map;
+
import org.apache.qpid.amqp_1_0.messaging.SectionEncoder;
import org.apache.qpid.amqp_1_0.type.Binary;
import org.apache.qpid.amqp_1_0.type.Section;
@@ -152,7 +155,15 @@ public class MessageConverter_0_8_to_1_0
sections.add(props);
- sections.add(new ApplicationProperties(FieldTable.convertToMap(contentHeader.getHeaders())));
+ Map<String, Object> applicationProperties = FieldTable.convertToMap(contentHeader.getHeaders());
+
+ if(applicationProperties.containsKey("qpid.subject"))
+ {
+ props.setSubject(String.valueOf(applicationProperties.get("qpid.subject")));
+ applicationProperties = new LinkedHashMap<>(applicationProperties);
+ applicationProperties.remove("qpid.subject");
+ }
+ sections.add(new ApplicationProperties(applicationProperties));
return new MessageMetaData_1_0(sections, sectionEncoder);
}
Modified: qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_1_0_to_v0_8.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_1_0_to_v0_8.java?rev=1620858&r1=1620857&r2=1620858&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_1_0_to_v0_8.java (original)
+++ qpid/trunk/qpid/java/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_1_0_to_v0_8.java Wed Aug 27 10:36:38 2014
@@ -136,6 +136,8 @@ public class MessageConverter_1_0_to_v0_
private MessageMetaData convertMetaData(final Message_1_0 serverMsg, final String bodyMimeType, final int size)
{
+ final MessageMetaData_1_0.MessageHeader_1_0 header = serverMsg.getMessageHeader();
+
MessagePublishInfo publishInfo = new MessagePublishInfo()
{
@Override
@@ -165,8 +167,6 @@ public class MessageConverter_1_0_to_v0_
@Override
public AMQShortString getRoutingKey()
{
- MessageMetaData_1_0.MessageHeader_1_0 header =
- serverMsg.getMessageHeader();
String key = header.getTo();
if(key == null)
{
@@ -192,6 +192,11 @@ public class MessageConverter_1_0_to_v0_
Map<String,Object> headerProps = new LinkedHashMap<String, Object>();
+ if(header.getSubject() != null)
+ {
+ headerProps.put("qpid.subject", header.getSubject());
+ }
+
for(String headerName : serverMsg.getMessageHeader().getHeaderNames())
{
headerProps.put(headerName, MessageConverter_from_1_0.convertValue(serverMsg.getMessageHeader().getHeader(headerName)));
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org