From 4f420afa6f84ad5fa9e8a4b3b2e724bc7b0d3014 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de>
Date: Tue, 17 Nov 2015 14:44:23 +0100
Subject: [PATCH] Add missing class AbstractTraceToGraphTransformer

---
 .../AbstractTraceToGraphTransformer.java      | 38 +++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 src/main/java/kieker/analysis/trace/traversal/AbstractTraceToGraphTransformer.java

diff --git a/src/main/java/kieker/analysis/trace/traversal/AbstractTraceToGraphTransformer.java b/src/main/java/kieker/analysis/trace/traversal/AbstractTraceToGraphTransformer.java
new file mode 100644
index 00000000..c13ec790
--- /dev/null
+++ b/src/main/java/kieker/analysis/trace/traversal/AbstractTraceToGraphTransformer.java
@@ -0,0 +1,38 @@
+package kieker.analysis.trace.traversal;
+
+import com.tinkerpop.blueprints.Edge;
+import com.tinkerpop.blueprints.Graph;
+import com.tinkerpop.blueprints.Vertex;
+import com.tinkerpop.blueprints.impls.tg.TinkerGraph;
+
+import kieker.analysis.traceanalysisdomain.AbstractOperationCall;
+
+public abstract class AbstractTraceToGraphTransformer<C extends AbstractOperationCall<C>> extends OperationCallVisitor<C> {
+
+	protected final Graph graph;
+
+	public AbstractTraceToGraphTransformer() {
+		super();
+		this.graph = new TinkerGraph();
+	}
+
+	public Graph getGraph() {
+		return graph;
+	}
+
+	@Override
+	public void visit(final C operationCall) {
+
+		addVertex(operationCall);
+
+		if (operationCall.getParent() != null) {
+			addEdge(operationCall, operationCall.getParent());
+		}
+
+	}
+
+	protected abstract Vertex addVertex(C operationCall);
+
+	protected abstract Edge addEdge(C operationCall, C parentOperationCall);
+
+}
-- 
GitLab