assertTrue(tms.getEqualityKeyMap().isEmpty()); } finally { ksession.dispose();
@Test(timeout=10000) public void testLogicalInsertOrder() throws Exception { // JBRULES-1602 // "rule 1" is never logical inserted, as it's rule is unmatched prior to calling logical insert KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( ResourceFactory.newClassPathResource( "test_LogicalInsertOrder.drl", getClass() ), ResourceType.DRL ); InternalKnowledgeBase kbase = (InternalKnowledgeBase) getKnowledgeBase(); kbase.addPackages( kbuilder.getKnowledgePackages() ); kbase = SerializationHelper.serializeObject(kbase); final KieSession session = createKnowledgeSession(kbase); try { RuleRuntimeEventListener wmel = mock( RuleRuntimeEventListener.class ); session.addEventListener( wmel ); Person bob = new Person( "bob" ); bob.setStatus( "hungry" ); Person mark = new Person( "mark" ); mark.setStatus( "thirsty" ); session.insert( bob ); session.insert( mark ); int count = session.fireAllRules(); assertEquals( 2, count ); assertEquals(2, session.getObjects().size()); TruthMaintenanceSystem tms = ((NamedEntryPoint)session.getEntryPoint(EntryPointId.DEFAULT.getEntryPointId()) ).getTruthMaintenanceSystem(); assertTrue(tms.getEqualityKeyMap().isEmpty()); } finally { session.dispose(); } }
if ( this.hashedSinkMap.isEmpty() ) { this.hashedSinkMap = null;
private static ProtobufMessages.NodeMemory writeRIANodeMemory(final int nodeId, final Memory memory) { // for RIA nodes, we need to store the ID of the created handles RIAMemory mem = (RIAMemory) memory; if (!mem.memory.isEmpty()) { ProtobufMessages.NodeMemory.RIANodeMemory.Builder _ria = ProtobufMessages.NodeMemory.RIANodeMemory.newBuilder(); final org.drools.core.util.Iterator it = mem.memory.iterator(); // iterates over all propagated handles and assert them to the new sink for (ObjectEntry entry = (ObjectEntry) it.next(); entry != null; entry = (ObjectEntry) it.next()) { LeftTuple leftTuple = (LeftTuple) entry.getKey(); InternalFactHandle handle = (InternalFactHandle) entry.getValue(); FactHandle _handle = ProtobufMessages.FactHandle.newBuilder() .setId(handle.getId()) .setRecency(handle.getRecency()) .build(); _ria.addContext(ProtobufMessages.NodeMemory.RIANodeMemory.RIAContext.newBuilder() .setTuple(PersisterHelper.createTuple(leftTuple)) .setResultHandle(_handle) .build()); } return ProtobufMessages.NodeMemory.newBuilder() .setNodeId(nodeId) .setNodeType(ProtobufMessages.NodeMemory.NodeType.RIA) .setRia(_ria.build()) .build(); } return null; }