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