iterators.add(FlowScanningUtils.fetchEnclosingBlocks(f).filter(notAHead)); // We can do this because Parallels always meet at a BlockStartNode FlowSegment b = new FlowSegment(); b.add(f);
Predicates.and(Predicates.instanceOf(StepStartNode.class), new NodeStepTypePredicate("node"), FlowScanningUtils.hasActionPredicate(ArgumentsActionImpl.class))); Assert.assertEquals("master", nodeNode.getPersistentAction(ArgumentsAction.class).getArguments().values().iterator().next()); Assert.assertEquals("master", ArgumentsAction.getStepArgumentsAsString(nodeNode));
FlowNode node = Collections2.filter(filtered, FlowScanningUtils.hasActionPredicate(ArgumentsActionImpl.class)).iterator().next(); ArgumentsActionImpl act = node.getPersistentAction(ArgumentsActionImpl.class); Assert.assertNotNull(act.getArgumentValue("bindings")); List<FlowNode> allStepped = scanner.filteredNodes(run.getExecution().getCurrentHeads(), FlowScanningUtils.hasActionPredicate(ArgumentsActionImpl.class)); Assert.assertEquals(6, allStepped.size()); // One ArgumentsActionImpl per block or atomic step
Iterator<FlowNode> it = FlowScanningUtils.fetchEnclosingBlocks(runningNode); int count = 0; while (it.hasNext()) {