Author: robbie
Date: Wed Jul 2 12:17:43 2014
New Revision: 1607336
URL: http://svn.apache.org/r1607336
Log:
PROTON-616: restrict keys for MessageAnnotations to be Symbols, update the
transformers in contrib/proton-jms accordingly
Applied patch from Dejan Bosanac
Modified:
qpid/proton/trunk/contrib/proton-jms/src/main/java/org/apache/qpid/proton/jms/InboundTransformer.java
qpid/proton/trunk/contrib/proton-jms/src/main/java/org/apache/qpid/proton/jms/JMSMappingOutboundTransformer.java
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/MessageAnnotations.java
Modified:
qpid/proton/trunk/contrib/proton-jms/src/main/java/org/apache/qpid/proton/jms/InboundTransformer.java
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/contrib/proton-jms/src/main/java/org/apache/qpid/proton/jms/InboundTransformer.java?rev=1607336&r1=1607335&r2=1607336&view=diff
==============================================================================
---
qpid/proton/trunk/contrib/proton-jms/src/main/java/org/apache/qpid/proton/jms/InboundTransformer.java
(original)
+++
qpid/proton/trunk/contrib/proton-jms/src/main/java/org/apache/qpid/proton/jms/InboundTransformer.java
Wed Jul 2 12:17:43 2014
@@ -140,13 +140,13 @@ public abstract class InboundTransformer
final MessageAnnotations ma = amqp.getMessageAnnotations();
if( ma!=null ) {
- for (Map.Entry entry : (Set<Map.Entry>)ma.getValue().entrySet()) {
+ for (Map.Entry entry :
(Set<Map.Entry<Symbol,Object>>)ma.getValue().entrySet()) {
String key = entry.getKey().toString();
- if( "x-opt-jms-type".equals(key) ) {
+ if( "x-opt-jms-type".equals(key.toString()) ) {
jms.setJMSType(entry.getValue().toString());
- } else if( "x-opt-to-type".equals(key) ) {
+ } else if( "x-opt-to-type".equals(key.toString()) ) {
toAttributes =
toClassFromAttributes(entry.getValue().toString());
- } else if( "x-opt-reply-type".equals(key) ) {
+ } else if( "x-opt-reply-type".equals(key.toString()) ) {
replyToAttributes =
toClassFromAttributes(entry.getValue().toString());
} else {
setProperty(jms, prefixVendor + prefixMessageAnnotations +
key, entry.getValue());
Modified:
qpid/proton/trunk/contrib/proton-jms/src/main/java/org/apache/qpid/proton/jms/JMSMappingOutboundTransformer.java
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/contrib/proton-jms/src/main/java/org/apache/qpid/proton/jms/JMSMappingOutboundTransformer.java?rev=1607336&r1=1607335&r2=1607336&view=diff
==============================================================================
---
qpid/proton/trunk/contrib/proton-jms/src/main/java/org/apache/qpid/proton/jms/JMSMappingOutboundTransformer.java
(original)
+++
qpid/proton/trunk/contrib/proton-jms/src/main/java/org/apache/qpid/proton/jms/JMSMappingOutboundTransformer.java
Wed Jul 2 12:17:43 2014
@@ -86,7 +86,7 @@ public class JMSMappingOutboundTransform
Header header = new Header();
Properties props=new Properties();
HashMap daMap = null;
- HashMap maMap = null;
+ HashMap<Symbol, Object> maMap = null;
HashMap apMap = null;
Section body=null;
HashMap footerMap = null;
@@ -125,8 +125,8 @@ public class JMSMappingOutboundTransform
header.setTtl(new UnsignedInteger((int) msg.getJMSExpiration()));
}
if( msg.getJMSType()!=null ) {
- if( maMap==null ) maMap = new HashMap();
- maMap.put("x-opt-jms-type", msg.getJMSType());
+ if( maMap==null ) maMap = new HashMap<Symbol, Object>();
+ maMap.put(Symbol.valueOf("x-opt-jms-type"), msg.getJMSType());
}
if( msg.getJMSMessageID()!=null ) {
props.setMessageId(msg.getJMSMessageID());
@@ -134,12 +134,12 @@ public class JMSMappingOutboundTransform
if( msg.getJMSDestination()!=null ) {
props.setTo(vendor.toAddress(msg.getJMSDestination()));
if( maMap==null ) maMap = new HashMap();
- maMap.put("x-opt-to-type",
destinationAttributes(msg.getJMSDestination()));
+ maMap.put(Symbol.valueOf("x-opt-to-type"),
destinationAttributes(msg.getJMSDestination()));
}
if( msg.getJMSReplyTo()!=null ) {
props.setReplyTo(vendor.toAddress(msg.getJMSReplyTo()));
if( maMap==null ) maMap = new HashMap();
- maMap.put("x-opt-reply-type",
destinationAttributes(msg.getJMSReplyTo()));
+ maMap.put(Symbol.valueOf("x-opt-reply-type"),
destinationAttributes(msg.getJMSReplyTo()));
}
if( msg.getJMSCorrelationID()!=null ) {
props.setCorrelationId(msg.getJMSCorrelationID());
@@ -180,7 +180,7 @@ public class JMSMappingOutboundTransform
} else if( key.startsWith(prefixMessageAnnotationsKey) ) {
if( maMap==null ) maMap = new HashMap();
String name =
key.substring(prefixMessageAnnotationsKey.length());
- maMap.put(name, msg.getObjectProperty(key));
+ maMap.put(Symbol.valueOf(name), msg.getObjectProperty(key));
} else if( key.equals(subjectKey) ) {
props.setSubject(msg.getStringProperty(key));
} else if( key.equals(contentTypeKey) ) {
Modified:
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/MessageAnnotations.java
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/MessageAnnotations.java?rev=1607336&r1=1607335&r2=1607336&view=diff
==============================================================================
---
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/MessageAnnotations.java
(original)
+++
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/amqp/messaging/MessageAnnotations.java
Wed Jul 2 12:17:43 2014
@@ -23,20 +23,22 @@
package org.apache.qpid.proton.amqp.messaging;
+import org.apache.qpid.proton.amqp.Symbol;
+
import java.util.Map;
public final class MessageAnnotations implements Section
{
- private final Map _value;
+ private final Map<Symbol, Object> _value;
- public MessageAnnotations(Map value)
+ public MessageAnnotations(Map<Symbol, Object> value)
{
_value = value;
}
- public Map getValue()
+ public Map<Symbol, Object> getValue()
{
return _value;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]