public Process getEdgeSource( ProcessEdge processEdge ) { return graph.getEdgeSource( processEdge ); }
/** * */ @Override public Set<Equivalences<T>> getDirectSub(Equivalences<T> v) { Set<Equivalences<T>> result = new LinkedHashSet<>(); for (DefaultEdge edge : dag.incomingEdgesOf(v)) { Equivalences<T> source = dag.getEdgeSource(edge); result.add(source); } return Collections.unmodifiableSet(result); }
/** * */ @Override public Set<Equivalences<T>> getDirectSub(Equivalences<T> v) { Set<Equivalences<T>> result = new LinkedHashSet<>(); for (DefaultEdge edge : dag.incomingEdgesOf(v)) { Equivalences<T> source = dag.getEdgeSource(edge); result.add(source); } return Collections.unmodifiableSet(result); }
for ( final DefaultEdge edge : incomingEdges ) final List< Spot > predecessorBranch = branchGraph.getEdgeSource( edge ); predecessors.add( predecessorBranch );
for ( final DefaultEdge edge : incomingEdges ) final List< Spot > predecessorBranch = branchGraph.getEdgeSource( edge ); predecessors.add( predecessorBranch );
private void checkChildrenSets(Set<String> oidsToCheck) { try (Session session = openSession()) { SimpleDirectedGraph<String, DefaultEdge> tc = (SimpleDirectedGraph) orgGraph.clone(); TransitiveClosure.INSTANCE.closeSimpleDirectedGraph(tc); for (String subroot : oidsToCheck) { LOGGER.info("Checking descendants of {}", subroot); Set<String> expectedChildren = new HashSet<>(); for (DefaultEdge edge : tc.incomingEdgesOf(subroot)) { expectedChildren.add(tc.getEdgeSource(edge)); } expectedChildren.add(subroot); LOGGER.trace("Expected children: {}", expectedChildren); Set<String> actualChildren = getActualChildrenOf(subroot, session); LOGGER.trace("Actual children: {}", actualChildren); Set<String> expectedMinusActual = new HashSet<>(expectedChildren); expectedMinusActual.removeAll(actualChildren); if (!expectedMinusActual.isEmpty()) { System.out.println("Expected-Actual = " + expectedMinusActual); } Set<String> actualMinusExpected = new HashSet<>(actualChildren); actualMinusExpected.removeAll(expectedChildren); if (!actualMinusExpected.isEmpty()) { System.out.println("Actual-Expected = " + actualMinusExpected); } assertEquals("Incorrect children for " + subroot, expectedChildren, actualChildren); } } }
public DefaultDirectedGraph<T,DefaultEdge> getGraph() { if (graph == null) { graph = new DefaultDirectedGraph<>(DefaultEdge.class); for (Equivalences<T> node : dag.vertexSet()) { for (T v : node) graph.addVertex(v); for (T v : node) { graph.addEdge(v, node.getRepresentative()); graph.addEdge(node.getRepresentative(), v); } } for (DefaultEdge edge : dag.edgeSet()) graph.addEdge(dag.getEdgeSource(edge).getRepresentative(), dag.getEdgeTarget(edge).getRepresentative()); } return graph; }
public DefaultDirectedGraph<T,DefaultEdge> getGraph() { if (graph == null) { graph = new DefaultDirectedGraph<>(DefaultEdge.class); for (Equivalences<T> node : dag.vertexSet()) { for (T v : node) graph.addVertex(v); for (T v : node) { graph.addEdge(v, node.getRepresentative()); graph.addEdge(node.getRepresentative(), v); } } for (DefaultEdge edge : dag.edgeSet()) graph.addEdge(dag.getEdgeSource(edge).getRepresentative(), dag.getEdgeTarget(edge).getRepresentative()); } return graph; }
a.set(vertexList.indexOf(orgGraph.getEdgeSource(edge)), vertexList.indexOf(orgGraph.getEdgeTarget(edge)), 1.0);
/** * Constructor for the NamedDAG * @param dag the DAG from which we want to keep only the named descriptions */ public static <T> SimpleDirectedGraph <T,DefaultEdge> getNamedDAG(EquivalencesDAG<T> dag) { SimpleDirectedGraph<T,DefaultEdge> namedDAG = new SimpleDirectedGraph<>(DefaultEdge.class); for (Equivalences<T> v : dag) namedDAG.addVertex(v.getRepresentative()); for (Equivalences<T> s : dag) for (Equivalences<T> t : dag.getDirectSuper(s)) namedDAG.addEdge(s.getRepresentative(), t.getRepresentative()); for (Equivalences<T> v : dag) if (!v.isIndexed()) { // eliminate node for (DefaultEdge incEdge : namedDAG.incomingEdgesOf(v.getRepresentative())) { T source = namedDAG.getEdgeSource(incEdge); for (DefaultEdge outEdge : namedDAG.outgoingEdgesOf(v.getRepresentative())) { T target = namedDAG.getEdgeTarget(outEdge); namedDAG.addEdge(source, target); } } namedDAG.removeVertex(v.getRepresentative()); // removes all adjacent edges as well } return namedDAG; }