@Test(timeout=10000) public void testApplyBlockerSecond() { KieSession ksession = getStatefulKnowledgeSession(); List list = new ArrayList(); ksession.setGlobal( "list", list ); FactHandle go1 = ksession.insert( "go1" ); FactHandle go2 = ksession.insert( "go2" ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertTrue( list.contains( "rule1:go2" ) ); list.clear(); ksession.retract( go2 ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertTrue( list.contains( "rule1:go1" ) ); }
private void doIt(Object o1, Object o2, String query, int expected, boolean doUpdate, boolean doRetract) { KieSession knowledgeSession = knowledgeBase.newKieSession(); try { knowledgeSession.insert( o1 ); FactHandle handle2 = knowledgeSession.insert( o2 ); if ( doUpdate ) { knowledgeSession.update( handle2, o2 ); } else if ( doRetract ) { knowledgeSession.retract( handle2 ); handle2 = knowledgeSession.insert( o2 ); } QueryResults queryResults = knowledgeSession.getQueryResults( query ); assertEquals( expected, queryResults.size() ); } finally { knowledgeSession.dispose(); } }
@Test public void testRemoveRuleRuntimeEventListener() { KieBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); 17 ); final FactHandle stiltonHandle = ksession.insert( stilton ); assertTrue( wmList.isEmpty() ); assertTrue( wmList.isEmpty() ); ksession.retract( stiltonHandle ); assertTrue( wmList.isEmpty() ); ksession.insert( cheddar ); assertTrue( wmList.isEmpty() );
public void execute(int repNr) { int i = 0; for (Bean bean : beans) { factHandles[i++] = ksession.insert(bean); } ksession.fireAllRules(); for (FactHandle factHandle : factHandles) { ksession.retract(factHandle); } ksession.fireAllRules(); }
@Test//(timeout=10000) public void testApplyBlockerFirst() { KieSession ksession = getStatefulKnowledgeSession(); List list = new ArrayList(); ksession.setGlobal( "list", list ); FactHandle go2 = ksession.insert( "go2" ); //((InternalWorkingMemory) ksession).flushPropagations(); FactHandle go1 = ksession.insert( "go1" ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertTrue( list.contains( "rule1:go2" ) ); list.clear(); ksession.retract( go2 ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertTrue( list.contains( "rule1:go1" ) ); }
@Test public void testAddRuleRuntimeEventListener() { KieBase kbase = KnowledgeBaseFactory.newKnowledgeBase(); 17 ); final FactHandle stiltonHandle = ksession.insert( stilton ); ome.getFactHandle() ); ksession.retract( stiltonHandle ); final ObjectDeletedEvent ore = (ObjectDeletedEvent) wmList.get( 2 ); assertSame( stiltonHandle, ore.getFactHandle() ); ksession.insert( cheddar );
public void execute(int repNr) { for (int i = 0; i < objectsNumber; i++) { facts[i] = ksession.insert(new Integer(i)); } ksession.fireAllRules(); for (FactHandle fact : facts) { ksession.retract(fact); } ksession.fireAllRules(); }
@Test(timeout=10000) public void testApplyBlockerFirstWithFireAllRulesInbetween() { KieSession ksession = getStatefulKnowledgeSession(); List list = new ArrayList(); ksession.setGlobal( "list", list ); FactHandle go2 = ksession.insert( "go2" ); ksession.fireAllRules(); assertEquals( 0, list.size() ); FactHandle go1 = ksession.insert( "go1" ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertTrue( list.contains( "rule1:go2" ) ); list.clear(); ksession.retract( go2 ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertTrue( list.contains( "rule1:go1" ) ); }
@Test public void testGetSessionInfo() { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); ksession.setGlobal( "results", new ArrayList<Object>() ); ksession.insert( new Dimension( 100, 50 ) ); ksession.insert( new Dimension( 130, 80 ) ); ksession.insert( new Dimension( 50, 40 ) ); ksession.insert( new Dimension( 50, 40 ) ); Cheesery cheesery = new Cheesery(); FactHandle handle = ksession.insert( new Worker( ) ); ksession.retract( handle );
public void execute(int repNr) { for (int i = 0; i < rulesNr; i++) { facts[i] = ksession.insert(new Integer(i)); } ksession.fireAllRules(); for (FactHandle fact : facts) { ksession.retract(fact); } ksession.fireAllRules(); } }
@Test(timeout=10000) public void testApplyBlockerSecondWithUpdate() { KieSession ksession = getStatefulKnowledgeSession(); List list = new ArrayList(); ksession.setGlobal( "list", list ); FactHandle go1 = ksession.insert( "go1" ); FactHandle go2 = ksession.insert( "go2" ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertTrue( list.contains( "rule1:go2" ) ); list.clear(); ksession.update( go2, "go2" ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertTrue( list.contains( "rule1:go2" ) ); list.clear(); ksession.retract( go2 ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertTrue( list.contains( "rule1:go1" ) ); }
@Test public void testGetSessionInfoWithCustomTemplate() { if ( System.getProperty("java.vendor").toUpperCase().contains("IBM") ) { ksession.setGlobal( "results", new ArrayList<Object>() ); ksession.insert( new Dimension( 100, 50 ) ); ksession.insert( new Dimension( 130, 80 ) ); ksession.insert( new Dimension( 50, 40 ) ); ksession.insert( new Dimension( 50, 40 ) ); Cheesery cheesery = new Cheesery(); FactHandle handle = ksession.insert( new Worker( ) ); ksession.retract( handle );
public void execute(int repNr) { FactHandle fact = ksession.insert(new Integer(0)); ksession.fireAllRules(); ksession.retract(fact); ksession.fireAllRules(); }
@Test public void testForallSinglePattern() throws Exception { KieBase kbase = loadKnowledgeBase( "test_ForallSinglePattern.drl"); workingMemory.fireAllRules(); assertEquals( ++fired, list.size() ); workingMemory.retract( stilton1 ); workingMemory.fireAllRules(); assertEquals( fired, FactHandle brie = (FactHandle) workingMemory.insert( new Cheese( "brie", 10 ) ); workingMemory.fireAllRules(); workingMemory.retract( brie ); workingMemory.fireAllRules(); assertEquals( ++fired, workingMemory.retract( stilton2 ); workingMemory.fireAllRules(); assertEquals( fired,
public void execute(int repNr) { for (int i = 0; i < objectsNumber; i++) { FactHandle fact = ksession.insert(new Integer(i)); ksession.fireAllRules(); ksession.retract(fact); ksession.fireAllRules(); } }
public List<String> call() throws Exception { final List<String> events = new ArrayList<String>(); try { KieSession ksession = kbase.newKieSession(); ksession.setGlobal("events", events); // phase 1 Room room1 = new Room("Room 1"); ksession.insert(room1); FactHandle fireFact1 = ksession.insert(new Fire(room1)); ksession.fireAllRules(); assertEquals(1, events.size()); // phase 2 Sprinkler sprinkler1 = new Sprinkler(room1); ksession.insert(sprinkler1); ksession.fireAllRules(); assertEquals(2, events.size()); // phase 3 ksession.retract(fireFact1); ksession.fireAllRules(); } catch (Exception e) { System.err.println("Exception in thread " + Thread.currentThread().getName() + ": " + e.getLocalizedMessage()); throw e; } return events; }
public void execute(int repNr) { int roomNr = random.nextInt(roomsNumber); FactHandle fact = ksession.insert(new Fire(rooms[roomNr]));; ksession.fireAllRules(); ksession.retract(fact); ksession.fireAllRules(); }
@Test public void testNotWithBindings() throws Exception { KieBase kbase = loadKnowledgeBase("not_with_bindings_rule_test.drl"); KieSession wm = createKnowledgeSession(kbase); final List list = new ArrayList(); wm.setGlobal( "list", list ); final Cheese stilton = new Cheese( "stilton", 5 ); final FactHandle stiltonHandle = (FactHandle) wm.insert( stilton ); final Cheese cheddar = new Cheese( "cheddar", 7 ); final FactHandle cheddarHandle = (FactHandle) wm.insert( cheddar ); final PersonInterface paul = new Person( "paul", "stilton", 12 ); wm.insert( paul ); wm.fireAllRules(); assertEquals( 0, list.size() ); wm.retract( stiltonHandle ); wm.fireAllRules(); assertEquals( 1, list.size() ); }