@Override public Set<ProjectVersionRef> getAllProjects( final ViewParams params ) { return new HashSet<ProjectVersionRef>( graph.getVertices() ); }
private List<Object> getEndpointVertices() { final List<Object> result = new ArrayList<>(); for (final Object vertex : _graph.getVertices()) { final Collection<JobGraphLink> outEdges = _graph.getOutEdges(vertex); if (outEdges == null || outEdges.isEmpty()) { result.add(vertex); } } return result; }
private AnnisNode findRoot() { for (AnnisNode n: graph.getVertices()) { if (graph.getInEdges(n).isEmpty()) { return n; } } // This state is impossible to reach given graphs that are created by the TigerTreeVisualizer. throw new RuntimeException("Cannot find a root for the graph."); }
private Layout<ElementName, Dependency> linearLayout( DirectedGraph<ElementName, Dependency> g, Dimension d) { Map<ElementName, Point2D> map = new HashMap<ElementName, Point2D>(); Iterator<ElementName> it = g.getVertices().iterator(); map.put(it.next(), new Point2D.Double(100d, d.getHeight()/2)); map.put(it.next(), new Point2D.Double(d.getWidth() - 100d, d.getHeight()/2)); Transformer<ElementName,Point2D> vertexLocations = TransformerUtils.mapTransformer(map); return new StaticLayout<ElementName, Dependency>(g, vertexLocations, d); }
private Layout<ElementName, Dependency> linearLayout( DirectedGraph<ElementName, Dependency> g, Dimension d) { Map<ElementName, Point2D> map = new HashMap<ElementName, Point2D>(); Iterator<ElementName> it = g.getVertices().iterator(); map.put(it.next(), new Point2D.Double(100d, d.getHeight()/2)); map.put(it.next(), new Point2D.Double(d.getWidth() - 100d, d.getHeight()/2)); Transformer<ElementName,Point2D> vertexLocations = TransformerUtils.mapTransformer(map); return new StaticLayout<ElementName, Dependency>(g, vertexLocations, d); }
@Override public void addDependency(final ModuleDependency dependency) { if (graph.getVertices().containsAll(Arrays.asList(dependency.source, dependency.dest))) { Optional<ModuleDependency> dependencyOptional = Optional.ofNullable(graph.findEdge(dependency.source, dependency.dest)); final ModuleDependency moduleDependency = dependencyOptional.orElseGet(() -> { graph.addEdge(dependency, dependency.source, dependency.dest); return dependency; }); moduleDependency.incrementCount(); } }
public CodeGraphs(final DirectedGraph<ElementName, Dependency> classGraph) { this.classGraph = classGraph; this.packageGraph = PackageGraphGenerator.makePackageGraph(classGraph); this.packageNameGraph = PackageNameGraphGenerator .generateGraph(this.packageGraph.getVertices()); }
public CodeGraphs(final DirectedGraph<ElementName, Dependency> classGraph) { this.classGraph = classGraph; this.packageGraph = PackageGraphGenerator.makePackageGraph(classGraph); this.packageNameGraph = PackageNameGraphGenerator .generateGraph(this.packageGraph.getVertices()); }
@Override protected void visitClassScc(final DirectedGraph<ElementName, Dependency> scc) { final String sccFile = this.getCurrentClassSccName(); final ElementName firstClass = scc.getVertices().iterator().next(); writeIndex("<li><a href=\"" + sccFile + "\">" + firstClass + " and " + (scc.getVertexCount() - 1) + " others</a></li>"); }
@Override protected void visitClassScc(final DirectedGraph<ElementName, Dependency> scc) { final String sccFile = this.getCurrentClassSccName(); final ElementName firstClass = scc.getVertices().iterator().next(); writeIndex("<li><a href=\"" + sccFile + "\">" + firstClass + " and " + (scc.getVertexCount() - 1) + " others</a></li>"); }
@Override public void visitPackageScc(final DirectedGraph<ElementName, Dependency> scc) { final String sccFile = getCurrentPackageSccName(); final ElementName firstPackage = scc.getVertices().iterator().next(); writeIndex("<li><a href=\"" + sccFile + "\">" + firstPackage + " and " + (scc.getVertexCount() - 1) + " others</a></li>"); }
public CodeGraphs(final DirectedGraph<ElementName, Dependency> classGraph) { this.classGraph = classGraph; this.packageGraph = PackageGraphGenerator.makePackageGraph(classGraph); this.packageNameGraph = PackageNameGraphGenerator .generateGraph(this.packageGraph.getVertices()); }
@Override protected void visitClassScc(final DirectedGraph<ElementName, Dependency> scc) { final String sccFile = this.getCurrentClassSccName(); final ElementName firstClass = scc.getVertices().iterator().next(); writeIndex("<li><a href=\"" + sccFile + "\">" + firstClass + " and " + (scc.getVertexCount() - 1) + " others</a></li>"); }
@Override public void addDependency(EvidenceModuleDependency dependency) { if (graph.getVertices().containsAll(Arrays.asList(dependency.destModule, dependency.sourceModule))) { final Optional<TrackingModuleDependency> dependencyOptional = Optional.ofNullable(graph.findEdge(dependency.sourceModule, dependency.destModule)); final TrackingModuleDependency dep = dependencyOptional.orElseGet(() -> { TrackingModuleDependency newDep = new TrackingModuleDependency(dependency.sourceModule, dependency.destModule, evidenceLimit); graph.addEdge(newDep, dependency.sourceModule, dependency.destModule); return newDep; }); dep.addEvidence(dependency.source, dependency.dest); } }
@Override public void addDependency(final Module vertex1, final Module vertex2) { if(graph.getVertices().containsAll(Arrays.asList(vertex1,vertex2))) { Optional<ModuleDependency> dependencyOptional = Optional.ofNullable(graph.findEdge(vertex1,vertex2)); final ModuleDependency moduleDependency = dependencyOptional.orElseGet(() -> { final ModuleDependency dependency= new ModuleDependency(vertex1,vertex2); graph.addEdge(dependency,vertex1,vertex2); return dependency; }); moduleDependency.incrementCount(); } }
@Override public void visitPackageScc(final DirectedGraph<ElementName, Dependency> scc) { final String sccFile = getCurrentPackageSccName(); final ElementName firstPackage = scc.getVertices().iterator().next(); writeIndex("<li><a href=\"" + sccFile + "\">" + firstPackage + " and " + (scc.getVertexCount() - 1) + " others</a></li>"); }
private void generateStats(final DirectedGraph<ElementName, Dependency> g, final Map<ElementName, VertexStatistic> m) { final PageRank<ElementName, Dependency> pr = new PageRank<ElementName, Dependency>( g, 0.1f); pr.evaluate(); for (final ElementName v : g.getVertices()) { m.put(v, new VertexStatistic((int) Math.round(1000 * pr.getVertexScore(v)))); } }
private void generateStats(final DirectedGraph<ElementName, Dependency> g, final Map<ElementName, VertexStatistic> m) { final PageRank<ElementName, Dependency> pr = new PageRank<ElementName, Dependency>( g, 0.1f); pr.evaluate(); for (final ElementName v : g.getVertices()) { m.put(v, new VertexStatistic((int) Math.round(1000 * pr.getVertexScore(v)))); } }
private List<MethodProfile> getHotSpots(int maxSpots, Comparator<MethodStatistics> comparator) { List<MethodProfile> result = Lists.newArrayList(); MinMaxPriorityQueue<MethodStatistics> hotSpots = MinMaxPriorityQueue .orderedBy(comparator) .maximumSize(maxSpots) .create(graph.getVertices()); int queueSize = hotSpots.size(); for (int i = 0; i < queueSize; i++) { result.add(assembleProfile(hotSpots.removeFirst())); } return result; }
public static void generate(DiezelLanguage lang, File targetDirectory) throws ParseException, IOException, InconsistentTypePathException { // parse the graph from states for (State state : lang.getGraph().getVertices()) toDir(targetDirectory, lang.getPackageName(), state.getName() + ".java", compile(lang, state)); toDir(targetDirectory, lang.getPackageName(), "guide-graph.dot", lang.toString()); }