((StatefulKnowledgeSessionImpl)session).getTruthMaintenanceSystem().delete( h1 ); session.fireAllRules(); list = session.getObjects( new ClassObjectFilter( a.getClass() ) );
@Test(timeout=10000) public void testLogicalWithDeleteException() { String droolsSource = "package org.drools.tms.test; \n" + "global java.util.List list; \n" + "rule Justify \n" + "when \n" + " String( this == 'go1' ) " + "then \n" + " insertLogical( 'f1' ); \n" + "end \n" + "" ; KieBaseConfiguration kieConf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration(); kieConf.setOption( EqualityBehaviorOption.IDENTITY ); KieBase kbase = loadKnowledgeBaseFromString( kieConf, droolsSource ); KieSession session = kbase.newKieSession(); try { List list = new ArrayList(); session.setGlobal("list", list); session.insert( "go1" ); session.fireAllRules(); TruthMaintenanceSystem tms = ((StatefulKnowledgeSessionImpl)session).getTruthMaintenanceSystem(); InternalFactHandle jfh1 = tms.get( "f1" ).getLogicalFactHandle(); assertSame( jfh1, session.getFactHandle( "f1" ) ); } finally { session.dispose(); } }
session.fireAllRules(); TruthMaintenanceSystem tms = ((StatefulKnowledgeSessionImpl)session).getTruthMaintenanceSystem(); InternalFactHandle jfh1 = tms.get( "f1" ).getLogicalFactHandle(); assertEquals(EqualityKey.JUSTIFIED, jfh1.getEqualityKey().getStatus() );
@Test public void shouldLazilyAdd() throws Exception { final String fact1 = "logical"; ksession.insert(fact1); assertEquals( "Shouldn't have anything, since no logical insert was performed.", 0, tms.getEqualityKeyMap().size()); final String fact2 = "logical"; ksession.getTruthMaintenanceSystem().insert( fact2, null, null, new MockActivation() ); assertEquals( "Now that a logical insert was done, it should have an element.", 1, tms.getEqualityKeyMap().size()); // Make sure the internals are fine. ObjectTypeConf typeConf = ksession.getObjectTypeConfigurationRegistry() .getObjectTypeConf(ksession.getEntryPoint(), fact1); assertTrue("Should have enabled TMS", typeConf.isTMSEnabled()); }
ksession.getTruthMaintenanceSystem().insert( stringFact2, null, null, new MockActivation() ); .isTMSEnabled()); ksession.getTruthMaintenanceSystem().insert( intFact2, null, null, new MockActivation() );
InternalFactHandle jfh1 = ((StatefulKnowledgeSessionImpl)session).getTruthMaintenanceSystem().get( "f1" ).getLogicalFactHandle(); assertEquals( EqualityKey.JUSTIFIED, jfh1.getEqualityKey().getStatus());
session.fireAllRules(); TruthMaintenanceSystem tms = ((StatefulKnowledgeSessionImpl)session).getTruthMaintenanceSystem(); InternalFactHandle jfh1 = tms.get( "f1" ).getLogicalFactHandle(); assertEquals(EqualityKey.JUSTIFIED, jfh1.getEqualityKey().getStatus() );
session.fireAllRules(); TruthMaintenanceSystem tms = ((StatefulKnowledgeSessionImpl)session).getTruthMaintenanceSystem(); InternalFactHandle jfh1 = tms.get( "f1" ).getLogicalFactHandle(); assertEquals(EqualityKey.JUSTIFIED, jfh1.getEqualityKey().getStatus() );
TruthMaintenanceSystem tms = ((StatefulKnowledgeSessionImpl)session).getTruthMaintenanceSystem(); InternalFactHandle jfh1 = tms.get( "f1" ).getLogicalFactHandle(); EqualityKey key = jfh1.getEqualityKey();
FactHandle fz = ksession.getTruthMaintenanceSystem().insert( string, null, null, new MockActivation() );