Re: [rules-users] Simple rule and Query
I'am using 5.2.0-SNAPSHOT using maven from https://repository.jboss.org/nexus/content/groups/public/ and i can't make it work... The query still return a size of 0... Can you share your entire project with me ? Thanks De : Wolfgang Laun [mailto:wolfgang.l...@gmail.com] Envoyé : jeudi 14 avril 2011 09:34 À : Rules Users List Objet : Re: [rules-users] Simple rule and Query This seems to be fixed for 5.2.x.: declare Num num : Integer end rule sort when Integer( $i: intValue ) then insert( new Num( $i ) ); end query numbers $a: Num( $b: num ) end QueryResults qRes = session.getQueryResults( numbers ); System.out.println( result count: + qRes.size() ); for( QueryResultsRow row: qRes ){ Object obj = row.get( $b ); System.out.println( $b= + obj.toString() ); } This produces the expected results. Calling getQueryResults with a string not denoting an existing query returns an empty result set. I've updated the javadoc - thanks. -W 2011/4/14 DECOUX Yannick yannick.dec...@ucm.bemailto:yannick.dec...@ucm.be query numbers $a: Num( $b: num ) end Hi everyone, I'am still stuck with this simple example, anyone can tell me where to look or what I'm missing ? Thanks Yannick De : DECOUX Yannick [mailto:yannick.dec...@ucm.bemailto:yannick.dec...@ucm.be] Envoyé : mardi 5 avril 2011 07:52 À : rules-users@lists.jboss.orgmailto:rules-users@lists.jboss.org Objet : [rules-users] Simple rule and Query Hi, I'am trying to use Query and i'am facing a little problem : Given this simple rule : package be.test.person import be.test.person.* query get adult adult : Adult( ) end query get person person : Person( ) end declare Adult name : String end rule A person over 18 is an adult when Person( age = 18) then System.out.println(Adult detected); insert(new Adult()); end Lets suppose one Person over 18 is inserted inside the working memory, the result of the query « get adult » is 0 (Please note the declaration of Adult type inside the rule) If I create a Java class Adult (commenting the one in the .drl file) and then run the query again, this time the result is 1 Also, the signature of org.drools.runtime.rule.WorkingMemory.getQueryResults(String) says IllegalArgumentException when query is not found in the KnowledgeBase. This doesn't seems to be the case when I use a fake query name. I'am using drools 5.1.1 Any idea on this ? Thanks ___ rules-users mailing list rules-users@lists.jboss.orgmailto:rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Simple rule and Query
Hi everyone, I'am still stuck with this simple example, anyone can tell me where to look or what I'm missing ? Thanks Yannick De : DECOUX Yannick [mailto:yannick.dec...@ucm.be] Envoyé : mardi 5 avril 2011 07:52 À : rules-users@lists.jboss.org Objet : [rules-users] Simple rule and Query Hi, I'am trying to use Query and i'am facing a little problem : Given this simple rule : package be.test.person import be.test.person.* query get adult adult : Adult( ) end query get person person : Person( ) end declare Adult name : String end rule A person over 18 is an adult when Person( age = 18) then System.out.println(Adult detected); insert(new Adult()); end Lets suppose one Person over 18 is inserted inside the working memory, the result of the query « get adult » is 0 (Please note the declaration of Adult type inside the rule) If I create a Java class Adult (commenting the one in the .drl file) and then run the query again, this time the result is 1 Also, the signature of org.drools.runtime.rule.WorkingMemory.getQueryResults(String) says IllegalArgumentException when query is not found in the KnowledgeBase. This doesn't seems to be the case when I use a fake query name. I'am using drools 5.1.1 Any idea on this ? Thanks ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
Re: [rules-users] Simple rule and Query
This seems to be fixed for 5.2.x.: declare Num num : Integer end rule sort when Integer( $i: intValue ) then insert( new Num( $i ) ); end query numbers $a: Num( $b: num ) end QueryResults qRes = session.getQueryResults( numbers ); System.out.println( result count: + qRes.size() ); for( QueryResultsRow row: qRes ){ Object obj = row.get( $b ); System.out.println( $b= + obj.toString() ); } This produces the expected results. Calling getQueryResults with a string not denoting an existing query returns an empty result set. I've updated the javadoc - thanks. -W 2011/4/14 DECOUX Yannick yannick.dec...@ucm.be query numbers $a: Num( $b: num ) end Hi everyone, I’am still stuck with this simple example, anyone can tell me where to look or what I’m missing ? Thanks Yannick *De :* DECOUX Yannick [mailto:yannick.dec...@ucm.be] *Envoyé :* mardi 5 avril 2011 07:52 *À :* rules-users@lists.jboss.org *Objet :* [rules-users] Simple rule and Query Hi, I’am trying to use Query and i’am facing a little problem : Given this simple rule : *package* be.test.person *import* be.test.person.* *query* get adult adult : Adult( ) *end* *query* get person person : Person( ) *end* *declare* Adult name : String *end* *rule* A person over 18 is an adult *when* Person( age = 18) *then* System.out.println(Adult detected); *insert*(*new* Adult()); *end* * * Lets suppose one Person over 18 is inserted inside the working memory, the result of the query « get adult » is 0 (Please note the declaration of Adult type inside the rule) If I create a Java class Adult (commenting the one in the .drl file) and then run the query again, this time the result is 1 Also, the signature of org.drools.runtime.rule.WorkingMemory.getQueryResults(String) says IllegalArgumentException when query is not found in the KnowledgeBase. This doesn’t seems to be the case when I use a fake query name. I’am using drools 5.1.1 Any idea on this ? Thanks ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
[rules-users] Simple rule and Query
Hi, I'am trying to use Query and i'am facing a little problem : Given this simple rule : package be.test.person import be.test.person.* query get adult adult : Adult( ) end query get person person : Person( ) end declare Adult name : String end rule A person over 18 is an adult when Person( age = 18) then System.out.println(Adult detected); insert(new Adult()); end Lets suppose one Person over 18 is inserted inside the working memory, the result of the query get adult is 0 (Please note the declaration of Adult type inside the rule) If I create a Java class Adult (commenting the one in the .drl file) and then run the query again, this time the result is 1 Also, the signature of org.drools.runtime.rule.WorkingMemory.getQueryResults(String) says IllegalArgumentException when query is not found in the KnowledgeBase. This doesn't seems to be the case when I use a fake query name. I'am using drools 5.1.1 Any idea on this ? Thanks ___ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users