You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2012/10/30 16:56:21 UTC
svn commit: r1403753 -
/activemq/trunk/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
Author: chirino
Date: Tue Oct 30 15:56:20 2012
New Revision: 1403753
URL: http://svn.apache.org/viewvc?rev=1403753&view=rev
Log:
Protect against a possible NPE in the selector handling logic.
Modified:
activemq/trunk/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
Modified: activemq/trunk/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java?rev=1403753&r1=1403752&r2=1403753&view=diff
==============================================================================
--- activemq/trunk/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java (original)
+++ activemq/trunk/activemq-amqp/src/main/java/org/apache/activemq/transport/amqp/AmqpProtocolConverter.java Tue Oct 30 15:56:20 2012
@@ -58,6 +58,7 @@ class AmqpProtocolConverter {
static final public byte[] EMPTY_BYTE_ARRAY = new byte[]{};
private final AmqpTransport amqpTransport;
private static final Symbol COPY = Symbol.getSymbol("copy");
+ private static final Symbol JMS_SELECTOR = Symbol.valueOf("jms-selector");
public AmqpProtocolConverter(AmqpTransport amqpTransport, BrokerContext brokerContext) {
this.amqpTransport = amqpTransport;
@@ -887,10 +888,13 @@ class AmqpProtocolConverter {
if( source.getDistributionMode() == COPY) {
consumerInfo.setBrowser(true);
}
- Map filter = ((org.apache.qpid.proton.type.messaging.Source)source).getFilter();
+
+ Map filter = source.getFilter();
if (filter != null) {
- DescribedType type = (DescribedType)filter.get(Symbol.valueOf("jms-selector"));
- consumerInfo.setSelector(type.getDescribed().toString());
+ DescribedType value = (DescribedType)filter.get(JMS_SELECTOR);
+ if( value!=null ) {
+ consumerInfo.setSelector(value.getDescribed().toString());
+ }
}
sendToActiveMQ(consumerInfo, new ResponseHandler() {