From 7ad846b1c18c5f9786a090af86f1d74d6b790b7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de> Date: Sat, 26 Mar 2016 15:44:53 +0100 Subject: [PATCH] made DotBuilder ready for clusters --- .../graph/export/dot/GraphTransformer.java | 5 +++++ .../java/kieker/analysis/util/DotBuilder.java | 21 +++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/kieker/analysis/graph/export/dot/GraphTransformer.java b/src/main/java/kieker/analysis/graph/export/dot/GraphTransformer.java index 18ff2f6a..edea3a08 100644 --- a/src/main/java/kieker/analysis/graph/export/dot/GraphTransformer.java +++ b/src/main/java/kieker/analysis/graph/export/dot/GraphTransformer.java @@ -16,6 +16,11 @@ public class GraphTransformer extends AbstractTransformer<String> { dotBuilder = new DotBuilder(graph.getName()); } + public GraphTransformer(final Graph graph, final boolean isCluster) { + super(graph); + dotBuilder = new DotBuilder("cluster_" + graph.getName(), "subgraph"); + } + @Override protected void mapVertex(final Vertex vertex) { if (vertex.hasChildGraph()) { diff --git a/src/main/java/kieker/analysis/util/DotBuilder.java b/src/main/java/kieker/analysis/util/DotBuilder.java index f2a80dde..32749a5c 100644 --- a/src/main/java/kieker/analysis/util/DotBuilder.java +++ b/src/main/java/kieker/analysis/util/DotBuilder.java @@ -15,27 +15,40 @@ import com.google.common.base.Joiner; public class DotBuilder { private final String start; - private final String end = "}"; + private final String end; private final StringBuilder body = new StringBuilder(); private Map<String, String> defaultNodeProperties; private Map<String, String> defaultEdgeProperties; private Map<String, String> defaultProperties; + private static final String START_BRACKET = "{"; + private static final String END_BRACKET = "}"; + private static final String DEFAULT_GRAPH_NAME = "G"; + private static final String DEFAULT_GRAPH_TYPE = "digraph"; + public DotBuilder() { - this("G"); + this(DEFAULT_GRAPH_NAME); + } + + public DotBuilder(final String graphName) { + this(graphName, DEFAULT_GRAPH_TYPE); } - public DotBuilder(final String name) { - start = "digraph " + name + " {\n"; + // TODO graphType has to be one of "graph", "digraph" or "subgraph" so maybe use an enum + public DotBuilder(final String graphName, final String graphType) { + start = graphType + " " + graphName + " " + START_BRACKET + "\n"; + end = END_BRACKET; } + // TODO Deprecated public DotBuilder(final String name, final Map<String, String> defaultNodeProperties, final Map<String, String> defaultEdgeProperties) { this(name); this.defaultNodeProperties = defaultNodeProperties; this.defaultEdgeProperties = defaultEdgeProperties; } + // TODO Deprecated public DotBuilder(final String name, final Map<String, String> defaultNodeProperties, final Map<String, String> defaultEdgeProperties, final Map<String, String> defaultProperties) { this(name, defaultNodeProperties, defaultEdgeProperties); -- GitLab