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 2008/02/12 17:45:00 UTC
svn commit: r620858 - in /incubator/qpid/branches/M2.1/java:
broker/src/main/grammar/SelectorParser.jj
client/src/test/java/org/apache/qpid/test/unit/basic/SelectorTest.java
Author: rgodfrey
Date: Tue Feb 12 08:44:59 2008
New Revision: 620858
URL: http://svn.apache.org/viewvc?rev=620858&view=rev
Log:
QPID-787 : Allow for quoting of identifiers in selectors
Modified:
incubator/qpid/branches/M2.1/java/broker/src/main/grammar/SelectorParser.jj
incubator/qpid/branches/M2.1/java/client/src/test/java/org/apache/qpid/test/unit/basic/SelectorTest.java
Modified: incubator/qpid/branches/M2.1/java/broker/src/main/grammar/SelectorParser.jj
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1/java/broker/src/main/grammar/SelectorParser.jj?rev=620858&r1=620857&r2=620858&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1/java/broker/src/main/grammar/SelectorParser.jj (original)
+++ incubator/qpid/branches/M2.1/java/broker/src/main/grammar/SelectorParser.jj Tue Feb 12 08:44:59 2008
@@ -172,6 +172,7 @@
TOKEN [IGNORE_CASE] :
{
< ID : ["a"-"z", "_", "$"] (["a"-"z","0"-"9","_", "$"])* >
+ | < QUOTED_ID : "\"" ( ("\"\"") | ~["\""] )* "\"" >
}
// ----------------------------------------------------------------------------
@@ -589,6 +590,7 @@
PropertyExpression variable() :
{
Token t;
+ StringBuffer rc = new StringBuffer();
PropertyExpression left=null;
}
{
@@ -597,6 +599,21 @@
{
left = new PropertyExpression(t.image);
}
+ |
+ t = <QUOTED_ID>
+ {
+ // Decode the sting value.
+ String image = t.image;
+ for( int i=1; i < image.length()-1; i++ ) {
+ char c = image.charAt(i);
+ if( c == '"' )
+ i++;
+ rc.append(c);
+ }
+ return new PropertyExpression(rc.toString());
+ }
+
+
)
{
return left;
Modified: incubator/qpid/branches/M2.1/java/client/src/test/java/org/apache/qpid/test/unit/basic/SelectorTest.java
URL: http://svn.apache.org/viewvc/incubator/qpid/branches/M2.1/java/client/src/test/java/org/apache/qpid/test/unit/basic/SelectorTest.java?rev=620858&r1=620857&r2=620858&view=diff
==============================================================================
--- incubator/qpid/branches/M2.1/java/client/src/test/java/org/apache/qpid/test/unit/basic/SelectorTest.java (original)
+++ incubator/qpid/branches/M2.1/java/client/src/test/java/org/apache/qpid/test/unit/basic/SelectorTest.java Tue Feb 12 08:44:59 2008
@@ -72,7 +72,7 @@
connection.start();
String selector = null;
- // selector = "Cost = 2 AND JMSDeliveryMode=" + DeliveryMode.NON_PERSISTENT;
+ selector = "Cost = 2 AND \"property-with-hyphen\" = 'wibble'";
// selector = "JMSType = Special AND Cost = 2 AND AMQMessageID > 0 AND JMSDeliveryMode=" + DeliveryMode.NON_PERSISTENT;
_session = (AMQSession) connection.createSession(false, AMQSession.NO_ACKNOWLEDGE);
@@ -87,6 +87,7 @@
Message msg = _session.createTextMessage("Message");
msg.setJMSPriority(1);
msg.setIntProperty("Cost", 2);
+ msg.setStringProperty("property-with-hyphen","wibble");
msg.setJMSType("Special");
_logger.info("Sending Message:" + msg);