private void populateTemplateMap(WeightedMultigraph<ServiceNode, FlowEdge> weightedGraph, URI exempliedURI){ this.edgeTemplateMap.clear(); Set<FlowEdge> allEdges = weightedGraph.edgeSet(); for ( FlowEdge edge : allEdges ) { this.edgeTemplateMap.put(edge.getEdgeIdentity(), Arrays.asList(exempliedURI)) ; } }
public static WeightedMultigraph<Node, LabeledLink> asLabeledGraph(WeightedMultigraph<Node, DefaultLink> graph) { if (graph == null) { logger.debug("graph is null."); return null; } WeightedMultigraph<Node, LabeledLink> g = new WeightedMultigraph<>(LabeledLink.class); for (Node v : graph.vertexSet()) g.addVertex(v); for (DefaultLink e: graph.edgeSet()) if (e instanceof LabeledLink) g.addEdge(e.getSource(), e.getTarget(), (LabeledLink)e); return g; }
/** * Create a builder for this kind of graph. * * @param edgeSupplier the edge supplier * @param <V> the graph vertex type * @param <E> the graph edge type * @return a builder for this kind of graph */ public static <V, E> GraphBuilder<V, E, ? extends WeightedMultigraph<V, E>> createBuilder( Supplier<E> edgeSupplier) { return new GraphBuilder<>(new WeightedMultigraph<>(null, edgeSupplier)); }
new WeightedMultigraph<>(DefaultLink.class); g2.addVertex(edge.getSource()); g2.addVertex(edge.getTarget()); g2.addEdge( edge.getSource(), edge.getTarget(), edge);
new WeightedMultigraph<>(DefaultLink.class); tree.addVertex(this.getIdToNodeMap().get(t.name())); tree.addVertex(source); visitedNodes.add(source); tree.addVertex(target); visitedNodes.add(target); tree.addEdge(source, target, l); tree.setEdgeWeight(l, weight);
this.tree = new WeightedMultigraph<>(DefaultLink.class); for (Node n : g1.vertexSet()) this.tree.addVertex(n); return; this.tree.addVertex(n);
Set<Node> vertexSet = g4.vertexSet(); for (Node vertex : vertexSet) { if (g5.degreeOf(vertex) == 1 && steinerNodes.indexOf(vertex) == -1) { nonSteinerLeaves.add(vertex); source = nonSteinerLeaves.get(i); do { DefaultLink e = g5.edgesOf(source).toArray(new DefaultLink[0])[0]; target = this.graph.getEdgeTarget(e); target = e.getSource(); g5.removeVertex(source); source = target; } while(g5.degreeOf(source) == 1 && steinerNodes.indexOf(source) == -1);
new WeightedMultigraph<>(DefaultLink.class); Set<DefaultLink> edges = g2.edgeSet(); DijkstraShortestPath<Node, DefaultLink> path; if (g3.edgeSet().contains(pathEdges.get(i))) continue; target = pathEdges.get(i).getTarget(); if (!g3.vertexSet().contains(source) ) g3.addVertex(source); if (!g3.vertexSet().contains(target) ) g3.addVertex(target); g3.addEdge(source, target, pathEdges.get(i));
/** * Create a builder for this kind of graph. * * @param edgeClass class on which to base factory for edges * @param <V> the graph vertex type * @param <E> the graph edge type * @return a builder for this kind of graph */ public static <V, E> GraphBuilder<V, E, ? extends WeightedMultigraph<V, E>> createBuilder( Class<? extends E> edgeClass) { return new GraphBuilder<>(new WeightedMultigraph<>(edgeClass)); }
new WeightedMultigraph<>(DefaultLink.class); g4.addVertex(edge.getSource()); g4.addVertex(edge.getTarget()); g4.addEdge( edge.getSource(), edge.getTarget(), edge);
public static UndirectedGraph<Node, DefaultLink> asDefaultGraph(UndirectedGraph<Node, LabeledLink> graph) { if (graph == null) { logger.debug("graph is null."); return null; } UndirectedGraph<Node, DefaultLink> g = new WeightedMultigraph<>(DefaultLink.class); for (Node v : graph.vertexSet()) g.addVertex(v); for (DefaultLink e: graph.edgeSet()) g.addEdge(e.getSource(), e.getTarget(), e); return g; }
return new WeightedMultigraph<>(vertexSupplier, edgeSupplier); } else { return new Multigraph<>(vertexSupplier, edgeSupplier, false);
return new WeightedMultigraph<>(edgeClass); } else { return new Multigraph<>(edgeClass);