private void buildFullyConnectedGraph(NodeLists listPairs) { for (int i = 0; i < listPairs.getList1().size(); i++) { // falls Knoten noch nicht erzeugt wurde if (!graph.containsVertex(listPairs.getList1().get(i))) { graph.addVertex(listPairs.getList1().get(i)); } if (!parents.contains(listPairs.getList1().get(i))) { parents.add(listPairs.getList1().get(i)); } // falls Knoten noch nicht erzeugt wurde for (int j = 0; j < listPairs.getList2().size(); j++) { if (!graph.containsVertex(listPairs.getList2().get(j))) { graph.addVertex(listPairs.getList2().get(j)); } if (!children.contains(listPairs.getList2().get(j))) { children.add(listPairs.getList2().get(j)); } // Erstelle eine Kante graph.addEdge(listPairs.getList1().get(i), listPairs.getList2().get(j)); System.out.println(listPairs.getList1().get(i) + " -> " + listPairs.getList2().get(j)); } } }
private void updateParentReferences(JavaClass parentClass) { for (String child : parentClass.getImports()) { JavaClass childClass = findJavaClass(child); if ((childClass != null) && !childClass.equals(parentClass)) { if (graph.containsVertex(childClass)) { graph.addEdge(parentClass, childClass); } } } }
private void buildStandardGraph() { ArrayList<OrderedPair> orderedpairList = orderedPairOrder.getListOfPairs(); for (int i = 0; i < orderedpairList.size(); i++) { // if the nodes do not exists --> add them if (orderedpairList.get(i).getChild() != null && !(graph.containsVertex(orderedpairList.get(i).getChild()))) { graph.addVertex(orderedpairList.get(i).getChild()); } if (orderedpairList.get(i).getChild() != null) { if (orderedpairList.get(i).getParent() == null) { } else if (!children.contains(orderedpairList.get(i).getChild())) { children.add(orderedpairList.get(i).getChild()); } } if (orderedpairList.get(i).getParent() != null && !(graph.containsVertex(orderedpairList.get(i).getParent()))) { graph.addVertex(orderedpairList.get(i).getParent()); } if (orderedpairList.get(i).getParent() != null && !parents.contains(orderedpairList.get(i).getParent())) { parents.add(orderedpairList.get(i).getParent()); } // fuegt Kante hinzu, falls beide Knoten nicht NULL sind if (orderedpairList.get(i).getParent() != null && orderedpairList.get(i).getChild() != null) { graph.addEdge(orderedpairList.get(i).getParent(), orderedpairList.get(i).getChild()); System.out.println( orderedpairList.get(i).getParent() + " -> " + orderedpairList.get(i).getChild()); } } DirectedGraph<Object, DefaultEdge> temp_gr = new DefaultDirectedGraph<>(DefaultEdge.class); for (Object o : graph.vertexSet()) { temp_gr.addVertex(o); } for (DefaultEdge e : graph.edgeSet()) { temp_gr.addEdge(graph.getEdgeSource(e), graph.getEdgeTarget(e)); } originalGraph.add(temp_gr); }
public BfsIterator(DirectedGraph<V, ?> g, V startPos) { Preconditions.checkArgument(g.containsVertex(startPos)); elements = createOrderedVertexList(g, startPos); listIterator = elements.iterator(); }