private void initPathMemories() { pathMemories = new PathMemory[3]; NamedEntryPoint ep = (NamedEntryPoint)epManipulators[8].getEntryPoiny(); InternalWorkingMemory wm = ((NamedEntryPoint)ep).getInternalWorkingMemory(); ObjectTypeNode otn = ((NamedEntryPoint)ep).getEntryPointNode().getObjectTypeNodes().values().iterator().next(); AlphaNode alpha = (AlphaNode)otn.getObjectSinkPropagator().getSinks()[0]; ObjectSink[] sinks = alpha.getObjectSinkPropagator().getSinks(); for (int i = 0; i < sinks.length; i++) { BetaNode beta = (BetaNode)sinks[i]; RuleTerminalNode rtn = (RuleTerminalNode)beta.getSinkPropagator().getSinks()[0]; pathMemories[i] = ( PathMemory ) wm.getNodeMemory(rtn); } } }
ObjectTypeNode otn = ((NamedEntryPoint)ep).getEntryPointNode().getObjectTypeNodes().values().iterator().next(); AlphaNode alpha = (AlphaNode)otn.getObjectSinkPropagator().getSinks()[0]; BetaNode beta = (BetaNode)alpha.getObjectSinkPropagator().getSinks()[0];
@Test(timeout = 40000L) public void test() { StringBuilder sb = new StringBuilder( 400 ); sb.append( "global java.util.List list;\n" ); for (int i = 0; i < 10; i++) { sb.append( getRule( i, "" ) ); } KieBase kbase = new KieHelper().addContent( sb.toString(), ResourceType.DRL ) .build( MultithreadEvaluationOption.YES ); EntryPointNode epn = ((InternalKnowledgeBase) kbase).getRete().getEntryPointNode( EntryPointId.DEFAULT ); ObjectTypeNode otn = epn.getObjectTypeNodes().get( new ClassObjectType( Integer.class ) ); assertTrue( ( (CompositePartitionAwareObjectSinkAdapter) otn.getObjectSinkPropagator() ).isHashed() ); KieSession ksession = kbase.newKieSession(); assertTrue( ( (InternalWorkingMemory) ksession ).getAgenda().isParallelAgenda() ); List<Integer> list = new DebugList<Integer>(); ksession.setGlobal( "list", list ); for (int i = 0; i < 10; i++) { ksession.insert( i ); ksession.insert( "" + i ); } ksession.fireAllRules(); assertEquals(10, list.size()); }
ObjectTypeNode otn = epn.getObjectTypeNodes().get( new ClassObjectType( Long.class) ); BetaNode beta1 = (BetaNode) otn.getObjectSinkPropagator().getSinks()[0]; RightInputAdapterNode rian = (RightInputAdapterNode) beta1.getSinkPropagator().getSinks()[0];
final ObjectTypeNode otn = epn.getObjectTypeNodes().values().iterator().next(); final LeftInputAdapterNode lian = (LeftInputAdapterNode)otn.getObjectSinkPropagator().getSinks()[0]; final ReactiveFromNode from1 = (ReactiveFromNode)lian.getSinkPropagator().getSinks()[0];
ObjectTypeNode otn = nep.getEntryPointNode().getObjectTypeNodes().get( new ClassObjectType( Entity.class ) ); assertNotNull( otn ); assertEquals( 1, otn.getObjectSinkPropagator().getSinks().length );
Map<ObjectType, ObjectTypeNode> obnodes = defaultEntryPointNode.getObjectTypeNodes();
Map<ObjectType, ObjectTypeNode> obnodes = defaultEntryPointNode.getObjectTypeNodes();
ObjectTypeNode otn = epn.getObjectTypeNodes().values().stream() .filter(ot -> ot.getObjectType() instanceof ClassObjectType && !((ClassObjectType) ot.getObjectType()).getClassName().contains("InitialFact")) .findFirst().get();