OK. here is a test case that shows the string selection is broken.
Jason Dillon wrote:
> I updated the SelectorParser for this boolean issue (based on Dains
> email).
>
> I also added a testcase
> (testsuite/src/main/org/jboss/test/jbossmq/test/SelectorSyntaxTestCase.java) to test
>that it works. If you find other problems please update/patch this testcase, so we
>can catch it when it breaks.
>
> I only added a boolean test, which only tests a user boolean property.
>
> --jason
>
>
> On Wed, 2002-02-13 at 21:07, Dave Smith wrote:
>
>>OK. it looks like it does not like the BOOLEAN token as a combo fo the
>>TRUE and FALSE tokens. Inlining them works. Patch inclosed.
>>
>>Now the selector will parse but still does not deliver it properly.
>>Going to bed , have a look in the morning...
>>
>>
>>Dave Smith wrote:
>>
>>>Ok. First problem solved. We have to call the SelectorParser constructor
>>>with at least a string reader. The problem is when you go to run ReInit
>>>with the actual selector it throws a NPE. So in SelectorParser.jj add
>>>the following to the no-args constructor
>>>this(new StringReader(""));
>>>
>>>Boolean slector still does not work ... looking ....
>>>
>>>
>>>
>>>Jason Dillon wrote:
>>>
>>>
>>>>Can you please verify that things are still broken with the latest CVS
>>>>(with the changes I just commited). Please submit a testcase, if you
>>>>are in there and finding problems just throw something together and
>>>>submit it.
>>>>
>>>>--jason
>>>>
>>>>
>>>>On Wed, 2002-02-13 at 17:52, Dave Smith wrote:
>>>>
>>>>
>>>>>Actually it's worse than that. If you change the default parser to
>>>>>SelectorParser, nothing works! So a simple slector like type='cadex'
>>>>>bombs.
>>>>>
>>>>>
>>>>>Jason Dillon wrote:
>>>>>
>>>>>
>>>>>>I did not think we were using the old parser anymore... Is there a
>>>>>>reason this is still around after Scott reimplemented in JavaCC?
>>>>>>
>>>>>>--jason
>>>>>>
>>>>>>
>>>>>>On Wed, 2002-02-13 at 16:53, Dave Smith wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>>After having a bad day trying to get a message selector working for
>>>>>>>a topic listener I came across a few bugs.
>>>>>>>
>>>>>>>1) If the message selector is invalid but the connection is not
>>>>>>>started but no error is thrown. So if you createTopicSession then
>>>>>>>createSubscriber and then start the connection the connection looks
>>>>>>>good but there are no messages delivered. (I spent most of the day
>>>>>>>trying to sort this one out)
>>>>>>>
>>>>>>>2) The message selectors do not seem to like boolean types. My
>>>>>>>query is
>>>>>>>app_id='AK' and production=TRUE
>>>>>>>
>>>>>>>3) What parser are we using for the message selectors. I thought we
>>>>>>>were using javacc and jms.jj. But in Selector the default is set to
>>>>>>>parser which is from jms.y. I don't even think this thing is
>>>>>>>getting re-processed. I did swicth the default to SelectorParser
>>>>>>>but that did not work as well.
>>>>>>>
>>>>>>>
>>>>>>>_______________________________________________
>>>>>>>Jboss-development mailing list
>>>>>>>[EMAIL PROTECTED]
>>>>>>>https://lists.sourceforge.net/lists/listinfo/jboss-development
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>
>>>>>_______________________________________________
>>>>>Jboss-development mailing list
>>>>>[EMAIL PROTECTED]
>>>>>https://lists.sourceforge.net/lists/listinfo/jboss-development
>>>>>
>>>>>
>>>>
>>>
>>>
>>>_______________________________________________
>>>Jboss-development mailing list
>>>[EMAIL PROTECTED]
>>>https://lists.sourceforge.net/lists/listinfo/jboss-development
>>>
>>>
>>----
>>
>>
>
>>--- SelectorParser.jj Wed Feb 13 23:59:07 2002
>>+++ SelectorParser.jj.new Wed Feb 13 23:58:48 2002
>>@@ -55,6 +55,7 @@
>>
>> public SelectorParser()
>> {
>>+ this(new StringReader(""));
>> }
>> }
>> PARSER_END(SelectorParser)
>>@@ -72,9 +73,7 @@
>>
>> TOKEN :
>> {
>>- < TRUE: "TRUE" | "true" >
>>- | < FALSE: "FALSE" | "false" >
>>- | < BOOLEAN: <TRUE> | <FALSE> >
>>+ < BOOLEAN: "TRUE" | "true" | "FALSE" | "false" >
>> | < NULL: "NULL" | "null" >
>> | < AND: "AND" | "and" >
>> | < NOT: "NOT" >
>>
>
>
>
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development
>
>
--- SelectorSyntaxUnitTestCase.java Fri Feb 15 09:12:28 2002
+++ SelectorSyntaxUnitTestCase.java.new Fri Feb 15 09:12:10 2002
@@ -48,6 +48,13 @@
testBoolean("MyBoolean", false);
}
+ public void testStringEquals() throws Exception
+ {
+ selector = new Selector("MyString='astring'");
+ message.setStringProperty("MyString", "astring");
+ assertTrue(selector.test(message));
+ }
+
private void testBoolean(String name, boolean flag) throws Exception {
message.setBooleanProperty(name, flag);
assertTrue(selector.test(message));