From edcbb4b14f44873259839ebab65944e80250906f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de>
Date: Mon, 4 Apr 2016 12:34:09 +0200
Subject: [PATCH] added abstract dot writer stages

---
 .../dot/AbstractDotFileWriterStage.java       | 24 +++++++++++++++++++
 .../export/dot/AbstractDotWriterStage.java    | 23 ++++++++++++++++++
 2 files changed, 47 insertions(+)
 create mode 100644 src/main/java/kieker/analysis/graph/export/dot/AbstractDotFileWriterStage.java
 create mode 100644 src/main/java/kieker/analysis/graph/export/dot/AbstractDotWriterStage.java

diff --git a/src/main/java/kieker/analysis/graph/export/dot/AbstractDotFileWriterStage.java b/src/main/java/kieker/analysis/graph/export/dot/AbstractDotFileWriterStage.java
new file mode 100644
index 00000000..fdd6eefc
--- /dev/null
+++ b/src/main/java/kieker/analysis/graph/export/dot/AbstractDotFileWriterStage.java
@@ -0,0 +1,24 @@
+package kieker.analysis.graph.export.dot;
+
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Writer;
+
+public abstract class AbstractDotFileWriterStage extends AbstractDotWriterStage {
+
+	public AbstractDotFileWriterStage() {
+		super();
+	}
+
+	@Override
+	protected Writer getWriter() {
+		try {
+			return new FileWriter(getFileName());
+		} catch (IOException e) {
+			throw new IllegalStateException(e);
+		}
+	}
+
+	protected abstract String getFileName();
+
+}
diff --git a/src/main/java/kieker/analysis/graph/export/dot/AbstractDotWriterStage.java b/src/main/java/kieker/analysis/graph/export/dot/AbstractDotWriterStage.java
new file mode 100644
index 00000000..576314e1
--- /dev/null
+++ b/src/main/java/kieker/analysis/graph/export/dot/AbstractDotWriterStage.java
@@ -0,0 +1,23 @@
+package kieker.analysis.graph.export.dot;
+
+import java.io.Writer;
+
+import kieker.analysis.graph.Graph;
+
+import teetime.framework.AbstractConsumerStage;
+
+public abstract class AbstractDotWriterStage extends AbstractConsumerStage<Graph> {
+
+	public AbstractDotWriterStage() {
+		super();
+	}
+
+	@Override
+	protected final void execute(final Graph graph) {
+		DotExporter dotExporter = new DotExporter(graph, getWriter());
+		dotExporter.transform();
+	}
+
+	protected abstract Writer getWriter();
+
+}
-- 
GitLab