From 6ee68b6d1eafa83db72385eb4b40c46a724908f6 Mon Sep 17 00:00:00 2001 From: agp8x Date: Wed, 28 Jul 2021 13:28:59 +0200 Subject: [PATCH] add java dot lib --- build.gradle | 3 ++- src/main/java/satisfactory/Test.java | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 8d49ef2..b2894e4 100644 --- a/build.gradle +++ b/build.gradle @@ -12,9 +12,10 @@ repositories { dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0' - implementation 'com.fasterxml.jackson.core:jackson-core:2.12.2' implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.2' implementation 'org.jgrapht:jgrapht-io:1.5.1' + implementation 'guru.nidi:graphviz-java:0.18.1' + implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.13.0' } test { diff --git a/src/main/java/satisfactory/Test.java b/src/main/java/satisfactory/Test.java index 4ce4530..f0f1a2b 100644 --- a/src/main/java/satisfactory/Test.java +++ b/src/main/java/satisfactory/Test.java @@ -1,6 +1,10 @@ package satisfactory; import com.fasterxml.jackson.core.JsonProcessingException; +import guru.nidi.graphviz.engine.Format; +import guru.nidi.graphviz.engine.Graphviz; +import guru.nidi.graphviz.model.MutableGraph; +import guru.nidi.graphviz.parse.Parser; import org.jgrapht.Graph; import org.jgrapht.graph.DefaultWeightedEdge; import org.jgrapht.nio.Attribute; @@ -12,6 +16,7 @@ import satisfactory.items.Recipe; import satisfactory.items.SumResult; import java.io.File; +import java.io.IOException; import java.util.HashMap; import java.util.Map; @@ -100,8 +105,10 @@ public class Test { System.out.println(recipe); //plot(Database.GasFilter, "rubber",1); plot(Database.AluminumCasing, "aluCase", 1); - SumResult ac = SumResult.sum(new Production(Database.AluminumCasing,1)); + javaPlot("aluCase"); + SumResult ac = SumResult.sum(new Production(Database.AluminumCasing, 1)); plot2(ac.getProduction(), "aluCase_sum"); + javaPlot("aluCase_sum"); //System.exit(128); Item i = Database.AluminumIngot; //plot2(SumResult.sum(i, 1),"rubber_"); @@ -124,4 +131,13 @@ public class Test { System.out.println("\t" + item.getName() + "\t" + rate); }); } + + private static void javaPlot(String name) { + try { + MutableGraph dot = new Parser().read(new File(PLOTS + name + ".dot")); + Graphviz.fromGraph(dot).render(Format.PNG).toFile(new File(PLOTS + name + "_java.png")); + } catch (IOException e) { + e.printStackTrace(); + } + } }