public void printToGv(GraphAdapter<N, E> adapter, String basename) { final GraphToGv g2gv = new GraphToGv(); g2gv.writeNoException(adapter, getDebugOutputDir(), getPrefix() + basename); }
/** * Creates a generator with all features enabled. */ public GraphToGv() { setEnabled(Feature.SHOW_CYCLES, true); }
/** * Generates a GraphViz file and converts it to PNG, using the DOT engine. * * @param <N> Node class. * @param <E> Edge class. * @param adapter The graph adapter. * @param outputDir The directory where files are generated. * @param basename The files base names. * @throws IOException When an I/O error occurs. */ public <N, E> void write(GraphAdapter<N, E> adapter, File outputDir, String basename) throws IOException { write(adapter, outputDir, basename, GvEngine.DOT); }
/** * Generates a GraphViz file and converts it to PNG, using the DOT engine. * <p> * If an I/O error occurs, it is logged. * * @param <N> Node class. * @param <E> Edge class. * @param adapter The graph adapter. * @param outputDir The directory where files are generated. * @param basename The files base names. */ public <N, E> void writeNoException(GraphAdapter<N, E> adapter, File outputDir, String basename) { writeNoException(adapter, outputDir, basename, GvEngine.DOT); } }
Internal(GraphAdapter<N, E> adapter) { this.adapter = adapter; this.basic = new GraphBasicQueries<>(adapter); if (isEnabled(Feature.SHOW_CYCLES)) { this.cycles = new GraphCycles<>(adapter); } else { this.cycles = null; } }
private void test(List<TestGraphNode> expected, TestGraphNode start, TraversalMethod method, TraversalOrder order, EdgeDirection direction) { final List<TestGraphNode> visited = new ArrayList<>(); adapter.clearLabels(); traverser.traverse(start, method, order, direction, n -> { visited.add(n); n.setLabel(Integer.toString(visited.size())); }); if (LOGGER.isDebugEnabled()) { g2gv.writeNoException(adapter, new File("output"), getClass().getSimpleName() + "-" + start.getName() + "-" + method + "-" + order + "-" + direction); } assertEquals(expected, visited); }
public GraphTraverserTest() { adapter.getOrCreateEdge(0, 1); adapter.getOrCreateEdge(0, 2); adapter.getOrCreateEdge(0, 3); adapter.getOrCreateEdge(3, 0); adapter.getOrCreateEdge(3, 2); adapter.getOrCreateEdge(2, 1); adapter.getOrCreateEdge(2, 4); adapter.getOrCreateEdge(0, 1); adapter.getOrCreateEdge(4, 5); adapter.getOrCreateEdge(5, 5); adapter.getOrCreateEdge(6, 6); adapter.getOrCreateEdge(7, 8); adapter.getOrCreateEdge(8, 7); adapter.getOrCreateEdge(8, 9); if (LOGGER.isDebugEnabled()) { g2gv.writeNoException(adapter, new File("output"), getClass().getSimpleName() + "-init"); } }
/** * Generates a GraphViz file and converts it to PNG. * <p> * If an I/O error occurs, it is logged. * * @param <N> Node class. * @param <E> Edge class. * @param adapter The graph adapter. * @param outputDir The directory where files are generated. * @param basename The files base names. * @param engine The GraphViz engine to use for layout. */ public <N, E> void writeNoException(GraphAdapter<N, E> adapter, File outputDir, String basename, GvEngine engine) { try { write(adapter, outputDir, basename, engine); } catch (final IOException e) { LOGGER.catching(e); } }
/** * Generates a GraphViz file and converts it to PNG. * * @param <N> Node class. * @param <E> Edge class. * @param adapter The graph adapter. * @param outputDir The directory where files are generated. * @param basename The files base names. * @param engine The GraphViz engine to use for layout. * @throws IOException When an I/O error occurs. */ public <N, E> void write(GraphAdapter<N, E> adapter, File outputDir, String basename, GvEngine engine) throws IOException { Checks.isNotNull(outputDir, "outputDir"); Checks.isNotNull(basename, "basename"); outputDir.mkdir(); final File gvFile = new File(outputDir, basename + ".gv"); write(adapter, gvFile); final GvToAny.MainArgs margs = new GvToAny.MainArgs(); margs.input = gvFile; margs.outputDir = outputDir; margs.engine = engine; margs.formats.add(GvFormat.PNG); GvToAny.execute(margs); }