protected StatelessKieSession createStatelessKnowledgeSession(KieBase kbase) { return kbase.newStatelessKieSession(); }
@Test public void testArrays() { String text = "package test_mvel;\n"; text += "import " + TestObject.class.getCanonicalName() + ";\n"; text += "import function " + TestObject.class.getCanonicalName() + ".array;\n"; text += "no-loop true\n"; text += "dialect \"mvel\"\n"; text += "rule \"1\"\n"; text += "salience 1\n"; text += "when\n"; text += " $fact: TestObject()\n"; text += " eval($fact.checkHighestPriority(\"mvel\", 2))\n"; text += " eval($fact.stayHasDaysOfWeek(\"mvel\", false, new String[][]{{\"2008-04-01\", \"2008-04-10\"}}))\n"; text += "then\n"; text += " $fact.applyValueAddPromo(1,2,3,4,\"mvel\");\n"; text += "end"; final KieBase kieBase = loadKnowledgeBaseFromString(text.replaceAll("mvel", "java"), text); final StatelessKieSession statelessKieSession = kieBase.newStatelessKieSession(); final List<String> list = new ArrayList<String>(); statelessKieSession.execute(new TestObject(list)); assertEquals(6, list.size()); assertTrue(list.containsAll( Arrays.asList("TestObject.checkHighestPriority: java|2", "TestObject.stayHasDaysOfWeek: java|false|[2008-04-01, 2008-04-10]", "TestObject.checkHighestPriority: mvel|2", "TestObject.stayHasDaysOfWeek: mvel|false|[2008-04-01, 2008-04-10]", "TestObject.applyValueAddPromo: 1|2|3|4|mvel", "TestObject.applyValueAddPromo: 1|2|3|4|java") )); }
public void execute(int repNr) { for (int i = 0; i < sessionNumber; i++) { StatelessKieSession session = kbase.newStatelessKieSession(); } }
@Override public StatelessKieSession newStatelessKieSession( KieSessionConfiguration kieSessionConfiguration ) { return kieBase.newStatelessKieSession( kieSessionConfiguration ); }
@Override public StatelessKieSession newStatelessKieSession( KieSessionConfiguration kieSessionConfiguration ) { return kieBase.newStatelessKieSession( kieSessionConfiguration ); }
@Override public StatelessKieSession newStatelessKieSession() { return kieBase.newStatelessKieSession(); }
@Override public StatelessKieSession newStatelessKieSession() { return kieBase.newStatelessKieSession(); }
@Test public void testNotInStatelessSession() throws Exception { final KieBaseConfiguration kbc = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(); kbc.setOption(SequentialOption.YES); final KieBase kbase = SerializationHelper.serializeObject(loadKnowledgeBase(kbc, "test_NotInStatelessSession.drl")); final StatelessKieSession session = kbase.newStatelessKieSession(); final List list = new ArrayList(); session.setGlobal("list", list); session.execute("not integer"); assertEquals("not integer", list.get(0)); }
StatelessKieSession sess = kbase.newStatelessKieSession(); try { sess = SerializationHelper.serializeObject(sess);
@Test public void testSharedSegment() throws Exception { // BZ-1228313 String str = "package org.drools.compiler.test\n" + "import \n" + Message.class.getCanonicalName() + ";" + "rule R1 when\n" + " $s : String()\n" + " $m : Message()\n" + " $i : Integer( this < $s.length )\n" + "then\n" + " modify($m) { setMessage($s) };\n" + "end\n" + "\n" + "rule R2 when\n" + " $s : String()\n" + " $m : Message()\n" + " $i : Integer( this > $s.length )\n" + "then\n" + "end\n"; StatelessKieSession ksession = new KieHelper().addContent( str, ResourceType.DRL ) .build( SequentialOption.YES ) .newStatelessKieSession(); ksession.execute( CommandFactory.newInsertElements(Arrays.asList("test", new Message(), 3, 5))); } }
TraitFactory.setMode( mode, kbase ); StatelessKieSession ksession = kbase.newStatelessKieSession();
StatelessKieSession ksession = kbase.newStatelessKieSession();
@Test(timeout = 10000L) public void testSequentialWithNoLoop() throws Exception { // BZ-1228098 String str = "package org.drools.compiler.test\n" + "import \n" + Message.class.getCanonicalName() + ";" + "rule R1 no-loop when\n" + " $s : String( )" + " $m : Message( )\n" + "then\n" + " modify($m) { setMessage($s) };\n" + "end\n"; KieServices ks = KieServices.Factory.get(); KieFileSystem kfs = ks.newKieFileSystem(); kfs.write("src/main/resources/r0.drl", str); KieBuilder kieBuilder = ks.newKieBuilder( kfs ).buildAll(); Results results = kieBuilder.getResults(); if (results.hasMessages( org.kie.api.builder.Message.Level.ERROR)) { throw new RuntimeException(results.getMessages().toString()); } KieContainer kieContainer = ks.newKieContainer( ks.getRepository().getDefaultReleaseId() ); KieBaseConfiguration kieBaseConf = ks.newKieBaseConfiguration(); kieBaseConf.setOption( SequentialOption.YES ); StatelessKieSession sequentialKsession = kieContainer.newKieBase( kieBaseConf ).newStatelessKieSession(); List result = (List) sequentialKsession.execute( CommandFactory.newInsertElements(Arrays.asList("test", new Message()))); assertEquals( 2, result.size() ); StatelessKieSession ksession = kieContainer.getKieBase().newStatelessKieSession(); result = (List) ksession.execute( CommandFactory.newInsertElements(Arrays.asList("test", new Message()))); assertEquals( 2, result.size() ); }
@Override public StatelessKieSession newStatelessKieSession() { return getKieBase().newStatelessKieSession(); }
@Override public Object internalNewObject() { if (kieBase != null) { return kieBase.newStatelessKieSession(factoryBean.getConf()); } return null; }
@Override public Object internalNewObject() { if (kieBase != null) { return kieBase.newStatelessKieSession(factoryBean.getConf()); } return null; }
@Override public StatelessKieSession newStatelessKieSession( KieSessionConfiguration conf ) { return getKieBase().newStatelessKieSession(conf); }
@Override public StatelessKieSession newStatelessKieSession() { return getKieBase().newStatelessKieSession(); }
@Override public StatelessKieSession newStatelessKieSession( KieSessionConfiguration conf ) { return getKieBase().newStatelessKieSession(conf); }
public void execute(int repNr) { StatelessKieSession ksession = kbase.newStatelessKieSession(); Applicant applicant = new Applicant("Mr John Smith", 21, MALE); if (applicant.isValid()) throw new RuntimeException("Applicant shouldn't be valid"); ksession.execute(applicant); if (!applicant.isValid()) throw new RuntimeException("Applicant should be valid"); } }