Advertisement
Guest User

Untitled

a guest
Sep 14th, 2017
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.55 KB | None | 0 0
  1. @Test
  2.     public void testQuery(){
  3.         KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
  4.         kbuilder.add(ResourceFactory.newClassPathResource("session1.drl"), ResourceType.DRL);
  5.        
  6.         assertFalse(kbuilder.hasErrors());
  7.        
  8.         KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
  9.         kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
  10.        
  11.         StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
  12.        
  13.         List list = new ArrayList(2);
  14.         list.add(CommandFactory.newInsert(new MockFact("Esteban", 28)));
  15.         BatchExecutionCommand batch = CommandFactory.newBatchExecution(list);
  16.        
  17.         ksession.execute(batch);
  18.         list = new ArrayList(2);
  19.         list.add(CommandFactory.newQuery( "$out_ABC", "ageOfPatient" , new Object[]{Variable.variable,"Esteban",Variable.variable} ));
  20.         batch = CommandFactory.newBatchExecution(list);
  21.        
  22.         org.drools.runtime.impl.ExecutionResultImpl result = (org.drools.runtime.impl.ExecutionResultImpl) ksession.execute(batch);
  23.        
  24.         org.drools.runtime.rule.impl.NativeQueryResults queryResults = (org.drools.runtime.rule.impl.NativeQueryResults) result.getValue("$out_ABC");
  25.        
  26.         Iterator<QueryResult> iterator = queryResults.getResults().iterator();
  27.         while (iterator.hasNext()) {
  28.             QueryResult queryResult = iterator.next();
  29.             System.out.println(queryResult.get("$mock"));
  30.             System.out.println(queryResult.get("$age"));
  31.         }
  32.        
  33.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement