From 00a4e4d1163432c2e16e4f01d4b3909eb877a7a6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de>
Date: Thu, 7 Apr 2016 13:51:55 +0200
Subject: [PATCH] use enum for file extension

---
 .../graph/export/dot/DotFileWriterStage.java   |  3 ++-
 .../graphml/GraphMLFileWriterComposite.java    |  3 ++-
 .../graph/mapping/SimpleFileNameMapper.java    |  7 ++++---
 .../util/graph/util/FileExtension.java         | 18 ++++++++++++++++++
 4 files changed, 26 insertions(+), 5 deletions(-)
 create mode 100644 src/main/java/kieker/analysis/util/graph/util/FileExtension.java

diff --git a/src/main/java/kieker/analysis/util/graph/export/dot/DotFileWriterStage.java b/src/main/java/kieker/analysis/util/graph/export/dot/DotFileWriterStage.java
index 9ea6190a..645307a3 100644
--- a/src/main/java/kieker/analysis/util/graph/export/dot/DotFileWriterStage.java
+++ b/src/main/java/kieker/analysis/util/graph/export/dot/DotFileWriterStage.java
@@ -6,6 +6,7 @@ import java.util.function.Function;
 
 import kieker.analysis.util.graph.Graph;
 import kieker.analysis.util.graph.mapping.SimpleFileNameMapper;
+import kieker.analysis.util.graph.util.FileExtension;
 
 public class DotFileWriterStage extends DotWriterStage {
 
@@ -20,7 +21,7 @@ public class DotFileWriterStage extends DotWriterStage {
 	}
 
 	public DotFileWriterStage(final String outputDirectory) {
-		this(new SimpleFileNameMapper(outputDirectory, "dot"));
+		this(new SimpleFileNameMapper(outputDirectory, FileExtension.DOT));
 	}
 
 }
diff --git a/src/main/java/kieker/analysis/util/graph/export/graphml/GraphMLFileWriterComposite.java b/src/main/java/kieker/analysis/util/graph/export/graphml/GraphMLFileWriterComposite.java
index f5713e72..52effa8d 100644
--- a/src/main/java/kieker/analysis/util/graph/export/graphml/GraphMLFileWriterComposite.java
+++ b/src/main/java/kieker/analysis/util/graph/export/graphml/GraphMLFileWriterComposite.java
@@ -6,6 +6,7 @@ import java.util.function.Function;
 
 import kieker.analysis.util.graph.Graph;
 import kieker.analysis.util.graph.mapping.SimpleFileNameMapper;
+import kieker.analysis.util.graph.util.FileExtension;
 
 public class GraphMLFileWriterComposite extends GraphMLWriterComposite {
 
@@ -20,7 +21,7 @@ public class GraphMLFileWriterComposite extends GraphMLWriterComposite {
 	}
 
 	public GraphMLFileWriterComposite(final String outputDirectory) {
-		this(new SimpleFileNameMapper(outputDirectory, "graphml"));
+		this(new SimpleFileNameMapper(outputDirectory, FileExtension.GRAPHML));
 	}
 
 }
diff --git a/src/main/java/kieker/analysis/util/graph/mapping/SimpleFileNameMapper.java b/src/main/java/kieker/analysis/util/graph/mapping/SimpleFileNameMapper.java
index 87f00a85..064fb236 100644
--- a/src/main/java/kieker/analysis/util/graph/mapping/SimpleFileNameMapper.java
+++ b/src/main/java/kieker/analysis/util/graph/mapping/SimpleFileNameMapper.java
@@ -3,9 +3,10 @@ package kieker.analysis.util.graph.mapping;
 import java.util.function.Function;
 
 import kieker.analysis.util.graph.Graph;
+import kieker.analysis.util.graph.util.FileExtension;
 
 /**
- * This mapper maps a graph to a file name with the pattern:
+ * This function maps a graph to a file name with the pattern:
  * output directory + graph name + file extension
  *
  * @author Sören Henning
@@ -14,9 +15,9 @@ import kieker.analysis.util.graph.Graph;
 public class SimpleFileNameMapper implements Function<Graph, String> {
 
 	private final String outputDirectory;
-	private final String fileExtension;
+	private final FileExtension fileExtension;
 
-	public SimpleFileNameMapper(final String outputDirectory, final String fileExtension) {
+	public SimpleFileNameMapper(final String outputDirectory, final FileExtension fileExtension) {
 		this.outputDirectory = outputDirectory;
 		this.fileExtension = fileExtension;
 	}
diff --git a/src/main/java/kieker/analysis/util/graph/util/FileExtension.java b/src/main/java/kieker/analysis/util/graph/util/FileExtension.java
new file mode 100644
index 00000000..21e26e08
--- /dev/null
+++ b/src/main/java/kieker/analysis/util/graph/util/FileExtension.java
@@ -0,0 +1,18 @@
+package kieker.analysis.util.graph.util;
+
+public enum FileExtension {
+
+	GRAPHML("graphml"), DOT("dot");
+
+	private final String fileExtension;
+
+	private FileExtension(final String fileExtension) {
+		this.fileExtension = fileExtension;
+	}
+
+	@Override
+	public String toString() {
+		return this.fileExtension;
+	}
+
+}
-- 
GitLab