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 18ff2f6a2df32e14c56dc066be58e17ca5276bf0..edea3a08e5b6f089a3d53f47d5c4fa1b7e26756e 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 f2a80ddeb5af88607ffd9b4ed18edc97a9325cee..32749a5c80241fa9e3a770bf568b62ea46664d5d 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);