Commit 9a7e87c2 authored by Carlos Galindo's avatar Carlos Galindo
Browse files

Remove guru.nidi.graphviz-java library

Fixes #8
parent 2183fed1
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -35,12 +35,6 @@
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>guru.nidi</groupId>
            <artifactId>graphviz-java</artifactId>
            <version>0.8.3</version>
        </dependency>

        <dependency>
            <groupId>org.jgrapht</groupId>
            <artifactId>jgrapht-core</artifactId>
+0 −7
Original line number Diff line number Diff line
package tfm.exec;

import com.github.javaparser.ast.Node;
import guru.nidi.graphviz.engine.Format;
import guru.nidi.graphviz.engine.Graphviz;
import tfm.graphs.CFGGraph;
import tfm.utils.FileUtil;
import tfm.visitors.cfg.CFGBuilder;

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

public class CFGLog extends GraphLog<CFGGraph> {

    public CFGLog() {
+31 −8
Original line number Diff line number Diff line
package tfm.exec;

import com.github.javaparser.ast.Node;
import guru.nidi.graphviz.engine.Format;
import guru.nidi.graphviz.engine.Graphviz;
import tfm.graphs.Graph;
import tfm.utils.FileUtil;
import tfm.utils.Logger;

import java.io.File;
import java.io.IOException;
import java.io.*;

public abstract class GraphLog<G extends Graph> {
    public enum Format {
        PNG("png"),
        PDF("pdf");

        private String ext;
        Format(String ext) {
            this.ext = ext;
        }

        public String getExt() {
            return ext;
        }
    }

    static final String CFG = "cfg";
    static final String PDG = "pdg";
@@ -61,9 +71,22 @@ public abstract class GraphLog<G extends Graph> {
        this.imageName = imageName;
        this.format = format;
        generated = true;
        Graphviz.fromString(graph.toGraphvizRepresentation())
                .render(format)
                .toFile(getImageFile());
        File tmpDot = File.createTempFile("graph-source-", ".dot");
        tmpDot.deleteOnExit();
        try (Writer w = new FileWriter(tmpDot)) {
            w.write(graph.toGraphvizRepresentation());
        }
        ProcessBuilder pb = new ProcessBuilder("dot",
            tmpDot.getAbsolutePath(), "-T" + format.getExt(),
            "-o", getImageFile().getAbsolutePath());
        try {
            int result = pb.start().waitFor();
            if (result != 0) {
                Logger.log("Image generation failed");
            }
        } catch (InterruptedException e) {
            Logger.log("Image generation failed\n" + e.getMessage());
        }
    }

    public void openVisualRepresentation() throws IOException {
@@ -72,6 +95,6 @@ public abstract class GraphLog<G extends Graph> {
    }

    protected File getImageFile() {
        return new File("./out/" + imageName + "." + format.name());
        return new File("./out/" + imageName + "." + format.getExt());
    }
}
+0 −1
Original line number Diff line number Diff line
package tfm.exec;

import guru.nidi.graphviz.engine.Format;
import tfm.graphs.PDGGraph;
import tfm.nodes.GraphNode;
import tfm.utils.Logger;