From b75fcffb58ac3b338fc8ebbfb4eb841c59a40709 Mon Sep 17 00:00:00 2001 From: "piotr.suwala" <piotr.suwala@kinguin.net> Date: Wed, 17 Apr 2024 21:27:17 +0200 Subject: [PATCH] fixed bug + added more debug info pzdr --- .../kotlin/sh/hsp/techtree/graphviz/DSLConverter.kt | 10 +++++----- .../sh/hsp/techtree/graphviz/GraphvizCommandRunner.kt | 1 + .../hsp/techtree/graphviz/SimpleGraphvizConverter.kt | 1 + 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/sh/hsp/techtree/graphviz/DSLConverter.kt b/src/main/kotlin/sh/hsp/techtree/graphviz/DSLConverter.kt index d9bda93..b3305d2 100644 --- a/src/main/kotlin/sh/hsp/techtree/graphviz/DSLConverter.kt +++ b/src/main/kotlin/sh/hsp/techtree/graphviz/DSLConverter.kt @@ -10,16 +10,16 @@ class DSLConverter { .map { registerNode(it) } .collect(Collectors.joining(" ")) - return "digraph { graph [splines=\"ortho\"] node [shape=\"box\"] edge [dir=\"back\"] $nodesAsDSL }" + return "digraph { graph [splines=\"ortho\"] node [shape=\"box\"] edge [dir=\"back\"] \n $nodesAsDSL }" } private fun registerNode(node: TreeNode): String { - val pathsToChildren = node.requires?.apply { - stream() + val pathsToChildren = node.requires?.let {require -> + require.stream() .map { "${node.title.escaped()} -> ${it.escaped()}" } .collect(Collectors.joining(" ")) - } ?: listOf() - return "${node.title.escaped()} ${node.link?.let { "[ href=${it.escaped()} fontcolor=blue]" } ?: ""} $pathsToChildren" + } ?: "" + return "${node.title.escaped()} ${node.link?.let { "[ href=${it.escaped()} fontcolor=blue ]" } ?: ""} $pathsToChildren \n" } private fun String.escaped(): String = "\"$this\"" diff --git a/src/main/kotlin/sh/hsp/techtree/graphviz/GraphvizCommandRunner.kt b/src/main/kotlin/sh/hsp/techtree/graphviz/GraphvizCommandRunner.kt index 14f2b65..b96fa49 100644 --- a/src/main/kotlin/sh/hsp/techtree/graphviz/GraphvizCommandRunner.kt +++ b/src/main/kotlin/sh/hsp/techtree/graphviz/GraphvizCommandRunner.kt @@ -8,6 +8,7 @@ class GraphvizCommandRunner { fun run(dsl: String) { ProcessBuilder() .redirectOutput(ProcessBuilder.Redirect.INHERIT) + .redirectError(ProcessBuilder.Redirect.INHERIT) .command("dot", "-Tsvg").start() .apply { outputStream.writer() diff --git a/src/main/kotlin/sh/hsp/techtree/graphviz/SimpleGraphvizConverter.kt b/src/main/kotlin/sh/hsp/techtree/graphviz/SimpleGraphvizConverter.kt index 8f20738..3034c3b 100644 --- a/src/main/kotlin/sh/hsp/techtree/graphviz/SimpleGraphvizConverter.kt +++ b/src/main/kotlin/sh/hsp/techtree/graphviz/SimpleGraphvizConverter.kt @@ -9,6 +9,7 @@ class SimpleGraphvizConverter( ) : GraphvizConverter { override fun convert(model: TreeModel) { val dsl = dslConverter.convert(model) + System.err.println(dsl) commandRunner.run(dsl) } } \ No newline at end of file