/** * Calculates a sorted list of active EnhancementEngines form the given * ExecutinPlan * @param engineManager The engine manager (OSGI service or {@link EnginesTracker}) * @param ep the execution plan * @return */ public static List<EnhancementEngine> getActiveEngines(EnhancementEngineManager engineManager, Graph ep) { List<EnhancementEngine> engines = new ArrayList<EnhancementEngine>(); Set<BlankNodeOrIRI> visited = new HashSet<BlankNodeOrIRI>(); Set<BlankNodeOrIRI> executeable; do { executeable = getExecutable(ep, visited); for(BlankNodeOrIRI node : executeable){ String engineName = getString(ep, node, ENGINE); EnhancementEngine engine = engineManager.getEngine(engineName); if(engine != null){ engines.add(engine); } visited.add(node); } } while(!executeable.isEmpty()); return engines; }
/** * Calculates a sorted list of active EnhancementEngines form the given * ExecutinPlan * @param engineManager The engine manager (OSGI service or {@link EnginesTracker}) * @param ep the execution plan * @return */ public static List<EnhancementEngine> getActiveEngines(EnhancementEngineManager engineManager, Graph ep) { List<EnhancementEngine> engines = new ArrayList<EnhancementEngine>(); Set<BlankNodeOrIRI> visited = new HashSet<BlankNodeOrIRI>(); Set<BlankNodeOrIRI> executeable; do { executeable = getExecutable(ep, visited); for(BlankNodeOrIRI node : executeable){ String engineName = getString(ep, node, ENGINE); EnhancementEngine engine = engineManager.getEngine(engineName); if(engine != null){ engines.add(engine); } visited.add(node); } } while(!executeable.isEmpty()); return engines; }
/** * Getter for the executionNodes * * @return */ public Set<ExecutionNode> getExecutionNodes() { if (_executionNodes == null) { ImmutableGraph ep; try { ep = chain.getExecutionPlan(); } catch (ChainException e) { ep = null; } if (ep != null) { _executionNodes = new LinkedHashSet<ExecutionNode>(); Set<BlankNodeOrIRI> processed = new HashSet<BlankNodeOrIRI>(); Set<BlankNodeOrIRI> next; do { next = ExecutionPlanHelper.getExecutable(ep, processed); for (BlankNodeOrIRI node : next) { _executionNodes.add(new ExecutionNode(ep, node)); } processed.addAll(next); } while (!next.isEmpty()); } } return _executionNodes; }
/** * Getter for the executionNodes * * @return */ public Set<ExecutionNode> getExecutionNodes() { if (_executionNodes == null) { ImmutableGraph ep; try { ep = chain.getExecutionPlan(); } catch (ChainException e) { ep = null; } if (ep != null) { _executionNodes = new LinkedHashSet<ExecutionNode>(); Set<BlankNodeOrIRI> processed = new HashSet<BlankNodeOrIRI>(); Set<BlankNodeOrIRI> next; do { next = ExecutionPlanHelper.getExecutable(ep, processed); for (BlankNodeOrIRI node : next) { _executionNodes.add(new ExecutionNode(ep, node)); } processed.addAll(next); } while (!next.isEmpty()); } } return _executionNodes; }
ExecutionPlanHelper.getExecutable(executionPlan, completed);