use of org.kie.api.runtime.StatelessKieSession in project drools by kiegroup.
the class StatelessSessionTest method testCollectionObjectAssert.
@Test
public void testCollectionObjectAssert() throws Exception {
final StatelessKieSession session = getSession2("statelessSessionTest.drl");
final Cheese stilton = new Cheese("stilton", 5);
final List collection = new ArrayList();
collection.add(stilton);
session.execute(collection);
assertEquals("stilton", list.get(0));
}
use of org.kie.api.runtime.StatelessKieSession in project drools by kiegroup.
the class StatelessSessionTest method testSingleObjectAssert.
@Test
public void testSingleObjectAssert() throws Exception {
final StatelessKieSession session = getSession2("statelessSessionTest.drl");
final Cheese stilton = new Cheese("stilton", 5);
session.execute(stilton);
assertEquals("stilton", list.get(0));
}
use of org.kie.api.runtime.StatelessKieSession in project drools by kiegroup.
the class StatelessSessionTest method testSetGlobal.
@Test
public void testSetGlobal() throws Exception {
String str = "";
str += "package org.kie \n";
str += "import org.drools.compiler.Cheese \n";
str += "global java.util.List list1 \n";
str += "global java.util.List list2 \n";
str += "global java.util.List list3 \n";
str += "rule rule1 \n";
str += " when \n";
str += " $c : Cheese() \n";
str += " \n";
str += " then \n";
str += " $c.setPrice( 30 ); \n";
str += " list1.add( $c ); \n";
str += " list2.add( $c ); \n";
str += " list3.add( $c ); \n";
str += "end\n";
final Cheese stilton = new Cheese("stilton", 5);
final List list1 = new ArrayList();
List list2 = new ArrayList();
List list3 = new ArrayList();
final StatelessKieSession ksession = getSession2(ResourceFactory.newByteArrayResource(str.getBytes()));
final Command setGlobal1 = CommandFactory.newSetGlobal("list1", list1);
final Command setGlobal2 = CommandFactory.newSetGlobal("list2", list2, true);
final Command setGlobal3 = CommandFactory.newSetGlobal("list3", list3, "outList3");
final Command insert = CommandFactory.newInsert(stilton);
final List cmds = new ArrayList();
cmds.add(setGlobal1);
cmds.add(setGlobal2);
cmds.add(setGlobal3);
cmds.add(insert);
final ExecutionResults result = (ExecutionResults) ksession.execute(CommandFactory.newBatchExecution(cmds));
assertEquals(30, stilton.getPrice());
assertNull(result.getValue("list1"));
list2 = (List) result.getValue("list2");
assertEquals(1, list2.size());
assertSame(stilton, list2.get(0));
list3 = (List) result.getValue("outList3");
assertEquals(1, list3.size());
assertSame(stilton, list3.get(0));
}
use of org.kie.api.runtime.StatelessKieSession in project drools by kiegroup.
the class StatelessSessionTest method testInsertObject.
@Test
public void testInsertObject() throws Exception {
String str = "";
str += "package org.kie \n";
str += "import org.drools.compiler.Cheese \n";
str += "rule rule1 \n";
str += " when \n";
str += " $c : Cheese() \n";
str += " \n";
str += " then \n";
str += " $c.setPrice( 30 ); \n";
str += "end\n";
Cheese stilton = new Cheese("stilton", 5);
final StatelessKieSession ksession = getSession2(ResourceFactory.newByteArrayResource(str.getBytes()));
final ExecutableCommand cmd = (ExecutableCommand) CommandFactory.newInsert(stilton, "outStilton");
final BatchExecutionCommandImpl batch = new BatchExecutionCommandImpl(Arrays.asList(new ExecutableCommand<?>[] { cmd }));
final ExecutionResults result = (ExecutionResults) ksession.execute(batch);
stilton = (Cheese) result.getValue("outStilton");
assertEquals(30, stilton.getPrice());
}
use of org.kie.api.runtime.StatelessKieSession in project drools by kiegroup.
the class AddRemoveRulesTest method testSameEval.
@Test
public void testSameEval() {
// DROOLS-893
final String rule1Name = "rule1";
final String rule2Name = "rule2";
final String rule1 = "rule " + rule1Name + " \n " + "when \n" + " eval(true) \n" + "then \n" + "System.out.println('test rule 1'); \n" + "end";
final String rule2 = "rule " + rule2Name + " \n " + "when \n" + " eval(true) \n" + "then \n" + "System.out.println('test rule 2'); \n" + "end";
final StatelessKieSession statelessSession = base.newStatelessKieSession();
this.addRuleToEngine(rule1);
statelessSession.execute(new Object());
this.addRuleToEngine(rule2);
statelessSession.execute(new Object());
}
Aggregations