Re: [JBoss-dev] message selectors
Go nuts. I have only used bison and flex and I have some pressing other stuff to do now. The current problem with the message selectors is that text is returned with the ' . So app_id='my app' turns into EQUAL( Start Identifier@app_id Start 'my app' Now it looks like the STRING token should not return the ' | STRING: ' ( (~[',\n,\r]) | ('') )* ' Go ahead and make the stuff case insensitive. Dain Sundstrom wrote: According to the JMS spec the reserved words are case insensitive. A part of the TOKEN spec I use in the new EJB-QL parser follows: TOKEN [IGNORE_CASE] : /* RESERVED WORDS */ { FALSE: FALSE | NOT: NOT | NULL: NULL | TRUE: TRUE } The boolean declaration won't work because you have the same regular expression in two sections. Remember that token is part of the lexing step where the input stream is broken into logical token. Then the syntax part happens. If you need a production later in the grammar which can be true or false, you would add the following bnf_prduction: void Boolean() : {} { (TRUE | FALSE) } I'm by no means a JavaCC expert (I'm still learning it my self), but if you want, I'll look over your jj file when you finish. -dain 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.jjWed Feb 13 23:59:07 2002 +++ SelectorParser.jj.newWed 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 ___ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
Re: [JBoss-dev] message selectors
You are including the ' in the token spec, so if you simple take the value of that token then it will have '' in it. --jason On Thu, 2002-02-14 at 06:01, Dave Smith wrote: Go nuts. I have only used bison and flex and I have some pressing other stuff to do now. The current problem with the message selectors is that text is returned with the ' . So app_id='my app' turns into EQUAL( Start Identifier@app_id Start 'my app' Now it looks like the STRING token should not return the ' | STRING: ' ( (~[',\n,\r]) | ('') )* ' Go ahead and make the stuff case insensitive. Dain Sundstrom wrote: According to the JMS spec the reserved words are case insensitive. A part of the TOKEN spec I use in the new EJB-QL parser follows: TOKEN [IGNORE_CASE] : /* RESERVED WORDS */ { FALSE: FALSE | NOT: NOT | NULL: NULL | TRUE: TRUE } The boolean declaration won't work because you have the same regular expression in two sections. Remember that token is part of the lexing step where the input stream is broken into logical token. Then the syntax part happens. If you need a production later in the grammar which can be true or false, you would add the following bnf_prduction: void Boolean() : {} { (TRUE | FALSE) } I'm by no means a JavaCC expert (I'm still learning it my self), but if you want, I'll look over your jj file when you finish. -dain 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.jjWed Feb 13 23:59:07 2002 +++ SelectorParser.jj.newWed 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]
Re: [JBoss-dev] message selectors
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
Re: [JBoss-dev] message selectors
What version of JBoss are you using? --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
Re: [JBoss-dev] message selectors
CVS as off 5pm EST Feb13 Jason Dillon wrote: What version of JBoss are you using? --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
Re: [JBoss-dev] message selectors
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
Re: [JBoss-dev] message selectors
Please submit a bug for this. --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
Re: [JBoss-dev] message selectors
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
Re: [JBoss-dev] message selectors
How about making us a MessageSelectorTestCase so we can catch this next time. I am about to commit a fix to the build system so that changes to jms.jj actually will get used, as well as making SelectorParser the default. Going to keep parser.java jms.y around for a bit, but once the javacc one is tested we can ditch 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
Re: [JBoss-dev] message selectors
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
Re: [JBoss-dev] message selectors
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
Re: [JBoss-dev] message selectors
According to the JMS spec the reserved words are case insensitive. A part of the TOKEN spec I use in the new EJB-QL parser follows: TOKEN [IGNORE_CASE] : /* RESERVED WORDS */ { FALSE: FALSE | NOT: NOT | NULL: NULL | TRUE: TRUE } The boolean declaration won't work because you have the same regular expression in two sections. Remember that token is part of the lexing step where the input stream is broken into logical token. Then the syntax part happens. If you need a production later in the grammar which can be true or false, you would add the following bnf_prduction: void Boolean() : {} { (TRUE | FALSE) } I'm by no means a JavaCC expert (I'm still learning it my self), but if you want, I'll look over your jj file when you finish. -dain 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
Re: [JBoss-dev] message selectors
If you have a chance, sanity check messaging/src/main/org/jboss/mq/selectors/SelectorParser.jj It has been at least 2 years since I did any active JavaCC work. --jason On Wed, 2002-02-13 at 23:01, Dain Sundstrom wrote: According to the JMS spec the reserved words are case insensitive. A part of the TOKEN spec I use in the new EJB-QL parser follows: TOKEN [IGNORE_CASE] : /* RESERVED WORDS */ { FALSE: FALSE | NOT: NOT | NULL: NULL | TRUE: TRUE } The boolean declaration won't work because you have the same regular expression in two sections. Remember that token is part of the lexing step where the input stream is broken into logical token. Then the syntax part happens. If you need a production later in the grammar which can be true or false, you would add the following bnf_prduction: void Boolean() : {} { (TRUE | FALSE) } I'm by no means a JavaCC expert (I'm still learning it my self), but if you want, I'll look over your jj file when you finish. -dain 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 ___ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development