assertEquals("SomeText", list.get(0)); assertEquals("MyActionNode", list.get(1)); Collection<FactHandle> factHandles = ksession.getFactHandles(new ObjectFilter() { public boolean accept(Object object) { return object instanceof Message;
assertEquals("SomeText", list.get(0)); assertEquals("MyActionNode", list.get(1)); Collection<FactHandle> factHandles = ksession.getFactHandles(new ObjectFilter() { public boolean accept(Object object) { return object instanceof Message;
assertEquals("SomeText", list.get(0)); assertEquals("MyActionNode", list.get(1)); Collection<FactHandle> factHandles = ksession.getFactHandles(new ObjectFilter() { public boolean accept(Object object) { return object instanceof Message;
public InternalFactHandle getFactHandle(FactHandle factHandle, KieSession ksession) { Map<Integer, FactHandle> handles = new HashMap<Integer, FactHandle>(); for ( FactHandle fh : ksession.getFactHandles() ) { handles.put( ((InternalFactHandle) fh).getId(), fh ); } return (InternalFactHandle) handles.get( ((InternalFactHandle) factHandle).getId() ); }
@Override public <T extends FactHandle> Collection<T> getFactHandles( ObjectFilter objectFilter ) { return kieSession.getFactHandles( objectFilter ); }
@Override public <T extends FactHandle> Collection<T> getFactHandles() { return kieSession.getFactHandles(); }
@Override public <T extends FactHandle> Collection<T> getFactHandles() { return kieSession.getFactHandles(); }
@Test public void testStatedDeleteLogicalAssertion() { // BZ-1317026 String drl = "rule R1 when\n" + "then\n" + " insertLogical( \"test\" ); \n" + "end\n"; KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) .build() .newKieSession(); try { ksession.fireAllRules(); Collection<FactHandle> fhs = ksession.getFactHandles( new ClassObjectFilter( String.class ) ); assertEquals( 1, fhs.size() ); for (FactHandle fh : fhs) { ksession.delete( fh, FactHandle.State.STATED ); } fhs = ksession.getFactHandles( new ClassObjectFilter( String.class ) ); assertEquals( 1, fhs.size() ); for (FactHandle fh : fhs) { ksession.delete( fh, FactHandle.State.LOGICAL ); } fhs = ksession.getFactHandles( new ClassObjectFilter( String.class ) ); assertEquals( 0, fhs.size() ); } finally { ksession.dispose(); } }
@Test public void testDeleteLogicalAssertion() { // BZ-1317026 String drl = "rule R1 when\n" + "then\n" + " insertLogical( \"test\" ); \n" + "end\n"; KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) .build() .newKieSession(); try { ksession.fireAllRules(); Collection<FactHandle> fhs = ksession.getFactHandles( new ClassObjectFilter( String.class ) ); assertEquals( 1, fhs.size() ); for (FactHandle fh : fhs) { ksession.delete( fh ); } fhs = ksession.getFactHandles( new ClassObjectFilter( String.class ) ); assertEquals( 0, fhs.size() ); } finally { ksession.dispose(); } }
ksession.retract( handle ); assertEquals( length - i -1, ksession.getObjects().size() ); assertEquals( length - i -1, ksession.getFactHandles().size() ); assertEquals( 0, ksession.getFactHandles().size() );
ksession.retract( handle ); assertEquals( length - i -1, ksession.getObjects().size() ); assertEquals( length - i -1, ksession.getFactHandles().size() ); assertEquals( 0, ksession.getFactHandles().size() );
@Test public void testDeleteLogicalAssertionFromRule() { // BZ-1317026 String drl = "global java.util.List list;\n" + "rule R1 when\n" + "then\n" + " insertLogical( \"test\" ); \n" + "end\n" + "rule R2 when\n" + " $s : String()\n" + "then\n" + " list.add( $s ); \n" + " delete( $s ); \n" + "end\n"; KieSession ksession = new KieHelper().addContent( drl, ResourceType.DRL ) .build() .newKieSession(); try { List<String> list = new ArrayList<String>(); ksession.setGlobal( "list", list ); ksession.fireAllRules(); assertEquals( 1, list.size() ); assertEquals( "test", list.get(0) ); Collection<FactHandle> fhs = ksession.getFactHandles( new ClassObjectFilter( String.class ) ); assertEquals( 0, fhs.size() ); } finally { ksession.dispose(); } }
assertEquals( "test", list.get(0) ); Collection<FactHandle> fhs = ksession.getFactHandles( new ClassObjectFilter( String.class ) ); assertEquals( 1, fhs.size() ); } finally {
assertTrue( list.containsAll( asList("Sub", "Message") ) ); Collection<FactHandle> fhs = ks.getFactHandles();
ksession.insert( inrec ); ksession.fireAllRules(); assertEquals( 1, ksession.getFactHandles().size() ); assertEquals( "setting 1", inrec.getOutcome() ); ksession.insert( inrec ); ksession.fireAllRules(); assertEquals( 1, ksession.getFactHandles().size() ); assertEquals( "setting null", inrec.getOutcome() ); ksession.insert( inrec ); assertEquals( 1, ksession.getFactHandles().size() ); assertEquals( "setting 0", inrec.getOutcome() );
/** * Gets handles to all facts in the {@link KieSession} and then retracts * them all. * * @param ksession * The {@link KieSession} we wish to clear down. */ public static void retractAll(KieSession ksession) { log.debug("Retracting all facts..."); retract(ksession, ksession.getFactHandles()); }
@Test public void testObjectIterator() { InternalKnowledgeBase kBase = (InternalKnowledgeBase) KnowledgeBaseFactory.newKnowledgeBase(); KieSession ksession = kBase.newKieSession(); ksession.insert( new Person( "bob", 35) ); ksession.insert( new Cheese( "stilton", 35) ); ksession.insert( new Cheese( "brie", 35) ); ksession.insert( new Person( "steve", 55) ); ksession.insert( new Person( "tom", 100) ); int i = 0; for ( FactHandle fh : ksession.getFactHandles()) { if ( i++ > 5 ) { fail( "should not iterate for than 3 times" ); } } i = 0; for ( FactHandle fh : ksession.getFactHandles()) { if ( i++ > 5 ) { fail( "should not iterate for than 3 times" ); } } }
@Override public <T extends FactHandle> Collection<T> getFactHandles( ObjectFilter filter ) { return getKieSession().getFactHandles(filter); }
FactHandle personHandle = ksession.getFactHandles( new ClassObjectFilter( Person.class ) ).iterator().next(); InternalFactHandle h = ((InternalFactHandle) personHandle); ObjectTypeConfigurationRegistry reg = h.getEntryPoint().getObjectTypeConfigurationRegistry();
session.fireAllRules(); for ( FactHandle fh : session.getFactHandles() ) { InternalFactHandle ifh = (InternalFactHandle) fh; assertEquals( EqualityKey.JUSTIFIED, ifh.getEqualityKey().getStatus() );