Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Test
- public void testQuery(){
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
- kbuilder.add(ResourceFactory.newClassPathResource("session1.drl"), ResourceType.DRL);
- assertFalse(kbuilder.hasErrors());
- KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
- kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
- StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
- List list = new ArrayList(2);
- list.add(CommandFactory.newInsert(new MockFact("Esteban", 28)));
- BatchExecutionCommand batch = CommandFactory.newBatchExecution(list);
- ksession.execute(batch);
- list = new ArrayList(2);
- list.add(CommandFactory.newQuery( "$out_ABC", "ageOfPatient" , new Object[]{Variable.variable,"Esteban",Variable.variable} ));
- batch = CommandFactory.newBatchExecution(list);
- org.drools.runtime.impl.ExecutionResultImpl result = (org.drools.runtime.impl.ExecutionResultImpl) ksession.execute(batch);
- org.drools.runtime.rule.impl.NativeQueryResults queryResults = (org.drools.runtime.rule.impl.NativeQueryResults) result.getValue("$out_ABC");
- Iterator<QueryResult> iterator = queryResults.getResults().iterator();
- while (iterator.hasNext()) {
- QueryResult queryResult = iterator.next();
- System.out.println(queryResult.get("$mock"));
- System.out.println(queryResult.get("$age"));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement