From 6e4181efd328d893dfe2c41422236fff1494d514 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de> Date: Tue, 19 Apr 2016 18:13:34 +0200 Subject: [PATCH] added a default export configuration --- .../util/graph/export/dot/DotExporter.java | 2 +- .../dot/SimpleDotExportConfiguration.java | 17 +++++++++ .../graph/mapping/DirectPropertyMapper.java | 35 +++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 src/main/java/kieker/analysis/util/graph/export/dot/SimpleDotExportConfiguration.java create mode 100644 src/main/java/kieker/analysis/util/graph/mapping/DirectPropertyMapper.java diff --git a/src/main/java/kieker/analysis/util/graph/export/dot/DotExporter.java b/src/main/java/kieker/analysis/util/graph/export/dot/DotExporter.java index 842c526a..7ae2757b 100644 --- a/src/main/java/kieker/analysis/util/graph/export/dot/DotExporter.java +++ b/src/main/java/kieker/analysis/util/graph/export/dot/DotExporter.java @@ -16,7 +16,7 @@ import kieker.analysis.util.graph.util.dot.attributes.DotNodeAttribute; public class DotExporter extends DotElementExporter { public DotExporter(final Graph graph, final Writer writer) { - this(graph, writer, new DotExportConfiguration()); + this(graph, writer, new SimpleDotExportConfiguration()); } public DotExporter(final Graph graph, final Writer writer, final DotExportConfiguration configuration) { diff --git a/src/main/java/kieker/analysis/util/graph/export/dot/SimpleDotExportConfiguration.java b/src/main/java/kieker/analysis/util/graph/export/dot/SimpleDotExportConfiguration.java new file mode 100644 index 00000000..8551ad64 --- /dev/null +++ b/src/main/java/kieker/analysis/util/graph/export/dot/SimpleDotExportConfiguration.java @@ -0,0 +1,17 @@ +package kieker.analysis.util.graph.export.dot; + +import kieker.analysis.util.graph.Edge; +import kieker.analysis.util.graph.Vertex; +import kieker.analysis.util.graph.mapping.DirectPropertyMapper; +import kieker.analysis.util.graph.util.dot.attributes.DotEdgeAttribute; +import kieker.analysis.util.graph.util.dot.attributes.DotNodeAttribute; + +public class SimpleDotExportConfiguration extends DotExportConfiguration { + + public SimpleDotExportConfiguration() { + super(); + this.getNodeAttributes().put(DotNodeAttribute.LABEL, new DirectPropertyMapper<Vertex>("label")); + this.getEdgeAttributes().put(DotEdgeAttribute.LABEL, new DirectPropertyMapper<Edge>("label")); + } + +} diff --git a/src/main/java/kieker/analysis/util/graph/mapping/DirectPropertyMapper.java b/src/main/java/kieker/analysis/util/graph/mapping/DirectPropertyMapper.java new file mode 100644 index 00000000..bb7a257f --- /dev/null +++ b/src/main/java/kieker/analysis/util/graph/mapping/DirectPropertyMapper.java @@ -0,0 +1,35 @@ +package kieker.analysis.util.graph.mapping; + +import java.util.function.Function; + +import kieker.analysis.util.graph.Element; + +/** + * This function maps a graph element by a passed property key to the + * corresponding property value and returns it as string. + * + * @author Sören Henning + * + */ +public class DirectPropertyMapper<T extends Element> implements Function<T, String> { + + private String propertyKey; + + public DirectPropertyMapper(final String propertyKey) { + this.propertyKey = propertyKey; + } + + public String getPropertyKey() { + return propertyKey; + } + + public void setPropertyKey(final String propertyKey) { + this.propertyKey = propertyKey; + } + + @Override + public String apply(final T element) { + return element.getProperty(propertyKey); + } + +} -- GitLab