From da61602509c0809b43643f78935a6ac3160a6269 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 12:28:30 +0200
Subject: [PATCH] use java util Function instead of own Interface

fix #30
---
 .../analysis/graph/export/dot/DotFileWriterStage.java  | 10 +++++-----
 .../analysis/graph/export/dot/DotWriterStage.java      |  8 ++++----
 .../export/graphml/GraphMLFileWriterComposite.java     | 10 +++++-----
 .../export/graphml/GraphMLTransformationStage.java     |  8 ++++----
 .../graph/export/graphml/GraphMLWriterComposite.java   |  4 ++--
 .../kieker/analysis/graph/mapping/GraphMapper.java     |  8 --------
 .../analysis/graph/mapping/SimpleFileNameMapper.java   |  6 ++++--
 src/main/java/kieker/analysis/graph/util/IMapper.java  |  7 -------
 8 files changed, 24 insertions(+), 37 deletions(-)
 delete mode 100644 src/main/java/kieker/analysis/graph/mapping/GraphMapper.java
 delete mode 100644 src/main/java/kieker/analysis/graph/util/IMapper.java

diff --git a/src/main/java/kieker/analysis/graph/export/dot/DotFileWriterStage.java b/src/main/java/kieker/analysis/graph/export/dot/DotFileWriterStage.java
index e82d1432..84093915 100644
--- a/src/main/java/kieker/analysis/graph/export/dot/DotFileWriterStage.java
+++ b/src/main/java/kieker/analysis/graph/export/dot/DotFileWriterStage.java
@@ -3,19 +3,19 @@ package kieker.analysis.graph.export.dot;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.Writer;
+import java.util.function.Function;
 
 import kieker.analysis.graph.Graph;
-import kieker.analysis.graph.mapping.GraphMapper;
 import kieker.analysis.graph.mapping.SimpleFileNameMapper;
 
 public class DotFileWriterStage extends DotWriterStage {
 
-	public DotFileWriterStage(final GraphMapper<String> fileNameMapper) {
-		super(new GraphMapper<Writer>() {
+	public DotFileWriterStage(final Function<Graph, String> fileNameMapper) {
+		super(new Function<Graph, Writer>() {
 			@Override
-			public Writer map(final Graph graph) {
+			public Writer apply(final Graph graph) {
 				try {
-					return new FileWriter(fileNameMapper.map(graph));
+					return new FileWriter(fileNameMapper.apply(graph));
 				} catch (IOException e) {
 					throw new IllegalArgumentException(e);
 				}
diff --git a/src/main/java/kieker/analysis/graph/export/dot/DotWriterStage.java b/src/main/java/kieker/analysis/graph/export/dot/DotWriterStage.java
index e9e8f447..8879fe56 100644
--- a/src/main/java/kieker/analysis/graph/export/dot/DotWriterStage.java
+++ b/src/main/java/kieker/analysis/graph/export/dot/DotWriterStage.java
@@ -1,24 +1,24 @@
 package kieker.analysis.graph.export.dot;
 
 import java.io.Writer;
+import java.util.function.Function;
 
 import kieker.analysis.graph.Graph;
-import kieker.analysis.graph.mapping.GraphMapper;
 
 import teetime.framework.AbstractConsumerStage;
 
 public class DotWriterStage extends AbstractConsumerStage<Graph> {
 
-	private final GraphMapper<Writer> writerMapper;
+	private final Function<Graph, Writer> writerMapper;
 
-	public DotWriterStage(final GraphMapper<Writer> writerMapper) {
+	public DotWriterStage(final Function<Graph, Writer> writerMapper) {
 		super();
 		this.writerMapper = writerMapper;
 	}
 
 	@Override
 	protected final void execute(final Graph graph) {
-		DotExporter dotExporter = new DotExporter(graph, writerMapper.map(graph));
+		DotExporter dotExporter = new DotExporter(graph, writerMapper.apply(graph));
 		dotExporter.transform();
 	}
 
diff --git a/src/main/java/kieker/analysis/graph/export/graphml/GraphMLFileWriterComposite.java b/src/main/java/kieker/analysis/graph/export/graphml/GraphMLFileWriterComposite.java
index 3c52f319..cc9f5223 100644
--- a/src/main/java/kieker/analysis/graph/export/graphml/GraphMLFileWriterComposite.java
+++ b/src/main/java/kieker/analysis/graph/export/graphml/GraphMLFileWriterComposite.java
@@ -3,19 +3,19 @@ package kieker.analysis.graph.export.graphml;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
+import java.util.function.Function;
 
 import kieker.analysis.graph.Graph;
-import kieker.analysis.graph.mapping.GraphMapper;
 import kieker.analysis.graph.mapping.SimpleFileNameMapper;
 
 public class GraphMLFileWriterComposite extends GraphMLWriterComposite {
 
-	public GraphMLFileWriterComposite(final GraphMapper<String> fileNameMapper) {
-		super(new GraphMapper<OutputStream>() {
+	public GraphMLFileWriterComposite(final Function<Graph, String> fileNameMapper) {
+		super(new Function<Graph, OutputStream>() {
 			@Override
-			public OutputStream map(final Graph graph) {
+			public OutputStream apply(final Graph graph) {
 				try {
-					return new FileOutputStream(fileNameMapper.map(graph));
+					return new FileOutputStream(fileNameMapper.apply(graph));
 				} catch (FileNotFoundException e) {
 					throw new IllegalArgumentException(e);
 				}
diff --git a/src/main/java/kieker/analysis/graph/export/graphml/GraphMLTransformationStage.java b/src/main/java/kieker/analysis/graph/export/graphml/GraphMLTransformationStage.java
index 539d9217..311b5bee 100644
--- a/src/main/java/kieker/analysis/graph/export/graphml/GraphMLTransformationStage.java
+++ b/src/main/java/kieker/analysis/graph/export/graphml/GraphMLTransformationStage.java
@@ -1,6 +1,7 @@
 package kieker.analysis.graph.export.graphml;
 
 import java.io.OutputStream;
+import java.util.function.Function;
 
 import javax.xml.bind.JAXBElement;
 
@@ -8,7 +9,6 @@ import org.graphdrawing.graphml.GraphmlType;
 import org.graphdrawing.graphml.ObjectFactory;
 
 import kieker.analysis.graph.Graph;
-import kieker.analysis.graph.mapping.GraphMapper;
 import kieker.analysis.util.JAXBMarshalElement;
 
 import teetime.stage.basic.AbstractTransformation;
@@ -16,9 +16,9 @@ import teetime.stage.basic.AbstractTransformation;
 public class GraphMLTransformationStage extends AbstractTransformation<Graph, JAXBMarshalElement<GraphmlType>> {
 
 	private final ObjectFactory objectFactory = new ObjectFactory();
-	private final GraphMapper<OutputStream> outputStreamMapper;
+	private final Function<Graph, OutputStream> outputStreamMapper;
 
-	public GraphMLTransformationStage(final GraphMapper<OutputStream> outputStreamMapper) {
+	public GraphMLTransformationStage(final Function<Graph, OutputStream> outputStreamMapper) {
 		this.outputStreamMapper = outputStreamMapper;
 	}
 
@@ -30,7 +30,7 @@ public class GraphMLTransformationStage extends AbstractTransformation<Graph, JA
 		graphmlType.getGraphOrData().add(graphTypeTransformer.transform());
 		final JAXBElement<GraphmlType> jaxbElement = objectFactory.createGraphml(graphmlType);
 
-		final OutputStream outputStream = outputStreamMapper.map(graph);
+		final OutputStream outputStream = outputStreamMapper.apply(graph);
 		final JAXBMarshalElement<GraphmlType> marshalElement = new JAXBMarshalElement<>(jaxbElement, outputStream);
 
 		this.getOutputPort().send(marshalElement);
diff --git a/src/main/java/kieker/analysis/graph/export/graphml/GraphMLWriterComposite.java b/src/main/java/kieker/analysis/graph/export/graphml/GraphMLWriterComposite.java
index db75adf9..2c7a708b 100644
--- a/src/main/java/kieker/analysis/graph/export/graphml/GraphMLWriterComposite.java
+++ b/src/main/java/kieker/analysis/graph/export/graphml/GraphMLWriterComposite.java
@@ -1,11 +1,11 @@
 package kieker.analysis.graph.export.graphml;
 
 import java.io.OutputStream;
+import java.util.function.Function;
 
 import org.graphdrawing.graphml.GraphmlType;
 
 import kieker.analysis.graph.Graph;
-import kieker.analysis.graph.mapping.GraphMapper;
 import kieker.analysis.util.JAXBMarshalStage;
 
 import teetime.framework.CompositeStage;
@@ -15,7 +15,7 @@ public class GraphMLWriterComposite extends CompositeStage {
 
 	private final InputPort<Graph> inputPort;
 
-	public GraphMLWriterComposite(final GraphMapper<OutputStream> outputStreamMapper) {
+	public GraphMLWriterComposite(final Function<Graph, OutputStream> outputStreamMapper) {
 		final GraphMLTransformationStage graphTypeTransformer;
 		final JAXBMarshalStage<GraphmlType> jaxbMarshaller;
 
diff --git a/src/main/java/kieker/analysis/graph/mapping/GraphMapper.java b/src/main/java/kieker/analysis/graph/mapping/GraphMapper.java
deleted file mode 100644
index 7b874af3..00000000
--- a/src/main/java/kieker/analysis/graph/mapping/GraphMapper.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package kieker.analysis.graph.mapping;
-
-import kieker.analysis.graph.Graph;
-import kieker.analysis.graph.util.IMapper;
-
-public interface GraphMapper<O> extends IMapper<Graph, O> {
-
-}
diff --git a/src/main/java/kieker/analysis/graph/mapping/SimpleFileNameMapper.java b/src/main/java/kieker/analysis/graph/mapping/SimpleFileNameMapper.java
index 066edda6..2b9431cb 100644
--- a/src/main/java/kieker/analysis/graph/mapping/SimpleFileNameMapper.java
+++ b/src/main/java/kieker/analysis/graph/mapping/SimpleFileNameMapper.java
@@ -1,5 +1,7 @@
 package kieker.analysis.graph.mapping;
 
+import java.util.function.Function;
+
 import kieker.analysis.graph.Graph;
 
 /**
@@ -9,7 +11,7 @@ import kieker.analysis.graph.Graph;
  * @author Sören Henning
  *
  */
-public class SimpleFileNameMapper implements GraphMapper<String> {
+public class SimpleFileNameMapper implements Function<Graph, String> {
 
 	private final String outputDirectory;
 	private final String fileExtension;
@@ -20,7 +22,7 @@ public class SimpleFileNameMapper implements GraphMapper<String> {
 	}
 
 	@Override
-	public String map(final Graph graph) {
+	public String apply(final Graph graph) {
 		return outputDirectory + '/' + graph.getName() + '.' + fileExtension;
 	}
 
diff --git a/src/main/java/kieker/analysis/graph/util/IMapper.java b/src/main/java/kieker/analysis/graph/util/IMapper.java
deleted file mode 100644
index fdfd9108..00000000
--- a/src/main/java/kieker/analysis/graph/util/IMapper.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package kieker.analysis.graph.util;
-
-public interface IMapper<I, O> {
-
-	public O map(I object);
-
-}
-- 
GitLab