From 2243bbbc186b126804c0122d7e3e1246f3670161 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de>
Date: Tue, 15 Dec 2015 13:43:07 +0100
Subject: [PATCH] Fix #19

---
 .../analysis/TraceAnalysisConfiguration.java    |  9 +++++++--
 .../analysis/dev/DependencyCreatorStage.java    |  2 +-
 .../trace/graphoutput/DotGraphWriter.java       |  6 +++---
 .../trace/graphoutput/GraphMLWriter.java        |  8 +++++---
 .../traversal/AggrTraceTraverserStage.java      |  6 ++++--
 .../analysis/trace/traversal/NamedGraph.java    | 17 ++++-------------
 .../trace/traversal/TraceTraverserStage.java    |  6 ++++--
 7 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java b/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java
index 78a22e3d..520c9ad7 100644
--- a/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java
+++ b/src/main/java/kieker/analysis/TraceAnalysisConfiguration.java
@@ -7,6 +7,8 @@ import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
+import com.tinkerpop.blueprints.Graph;
+
 import kieker.analysis.stage.tracediagnosis.AllowedRecordsFilter;
 import kieker.analysis.stage.tracediagnosis.BeginEndOfMonitoringDetector;
 import kieker.analysis.stage.tracediagnosis.OperationCallHandlerComposite;
@@ -73,7 +75,7 @@ public class TraceAnalysisConfiguration extends Configuration {
 		String graphFilesOutputDir = "example/event monitoring log/output"; // TODO Temp hard coded
 
 		TraceTraverserStage traceTraverserStage = new TraceTraverserStage();
-		final Distributor<NamedGraph> graphDistributor = new Distributor<>(new CopyByReferenceStrategy());
+		final Distributor<NamedGraph<Graph>> graphDistributor = new Distributor<>(new CopyByReferenceStrategy());
 		GraphMLWriter graphMLWriter = new GraphMLWriter(graphFilesOutputDir);
 		DotGraphWriter dotGraphWriter = new DotGraphWriter(graphFilesOutputDir);
 
@@ -83,7 +85,7 @@ public class TraceAnalysisConfiguration extends Configuration {
 		super.connectPorts(graphDistributor.getNewOutputPort(), dotGraphWriter.getInputPort());
 
 		AggrTraceTraverserStage aggrTraceTraverser = new AggrTraceTraverserStage();
-		final Distributor<NamedGraph> graphDistributor2 = new Distributor<>(new CopyByReferenceStrategy());
+		final Distributor<NamedGraph<Graph>> graphDistributor2 = new Distributor<>(new CopyByReferenceStrategy());
 		GraphMLWriter graphMLWriter2 = new GraphMLWriter(graphFilesOutputDir);
 		DotGraphWriter dotGraphWriter2 = new DotGraphWriter(graphFilesOutputDir);
 
@@ -92,6 +94,9 @@ public class TraceAnalysisConfiguration extends Configuration {
 		super.connectPorts(graphDistributor2.getNewOutputPort(), graphMLWriter2.getInputPort());
 		super.connectPorts(graphDistributor2.getNewOutputPort(), dotGraphWriter2.getInputPort());
 
+		// DependencyCreatorStage dependencyCreatorStage = new DependencyCreatorStage();
+		// super.connectPorts(aggregation.getOutputPort(), dependencyCreatorStage.getInputPort());
+
 		/*
 		 *
 		 *
diff --git a/src/main/java/kieker/analysis/dev/DependencyCreatorStage.java b/src/main/java/kieker/analysis/dev/DependencyCreatorStage.java
index 83a9bdae..5bc5739e 100644
--- a/src/main/java/kieker/analysis/dev/DependencyCreatorStage.java
+++ b/src/main/java/kieker/analysis/dev/DependencyCreatorStage.java
@@ -20,7 +20,7 @@ public class DependencyCreatorStage extends AbstractTransformation<AggregatedTra
 
 		// TODO Update Statistics
 
-		operationsDependency.printDependcies();
+		// operationsDependency.printDependcies();
 		// operationsDependency.printOperations();
 
 		this.getOutputPort().send(operationsDependency);
diff --git a/src/main/java/kieker/analysis/trace/graphoutput/DotGraphWriter.java b/src/main/java/kieker/analysis/trace/graphoutput/DotGraphWriter.java
index f5eab687..0f45ab51 100644
--- a/src/main/java/kieker/analysis/trace/graphoutput/DotGraphWriter.java
+++ b/src/main/java/kieker/analysis/trace/graphoutput/DotGraphWriter.java
@@ -19,7 +19,7 @@ import kieker.analysis.util.DotBuilder;
 
 import teetime.framework.AbstractConsumerStage;
 
-public class DotGraphWriter extends AbstractConsumerStage<NamedGraph> {
+public class DotGraphWriter extends AbstractConsumerStage<NamedGraph<Graph>> {
 
 	private final String outputDir;
 
@@ -28,8 +28,8 @@ public class DotGraphWriter extends AbstractConsumerStage<NamedGraph> {
 	}
 
 	@Override
-	protected void execute(final NamedGraph graph) {
-		final String dotGraph = createDotGraph(graph.getGraph());
+	protected void execute(final NamedGraph<Graph> graph) {
+		final String dotGraph = createDotGraph(graph);
 		final String fileName = outputDir + "/" + graph.getFileName() + ".dot";
 
 		try {
diff --git a/src/main/java/kieker/analysis/trace/graphoutput/GraphMLWriter.java b/src/main/java/kieker/analysis/trace/graphoutput/GraphMLWriter.java
index 3b7cf56f..d055fcaa 100644
--- a/src/main/java/kieker/analysis/trace/graphoutput/GraphMLWriter.java
+++ b/src/main/java/kieker/analysis/trace/graphoutput/GraphMLWriter.java
@@ -2,11 +2,13 @@ package kieker.analysis.trace.graphoutput;
 
 import java.io.IOException;
 
+import com.tinkerpop.blueprints.Graph;
+
 import kieker.analysis.trace.traversal.NamedGraph;
 
 import teetime.framework.AbstractConsumerStage;
 
-public class GraphMLWriter extends AbstractConsumerStage<NamedGraph> {
+public class GraphMLWriter extends AbstractConsumerStage<NamedGraph<Graph>> {
 
 	private final String outputDir;
 
@@ -15,11 +17,11 @@ public class GraphMLWriter extends AbstractConsumerStage<NamedGraph> {
 	}
 
 	@Override
-	protected void execute(final NamedGraph graph) {
+	protected void execute(final NamedGraph<Graph> graph) {
 
 		String outputFile = outputDir + "/" + graph.getFileName() + ".xml";
 
-		com.tinkerpop.blueprints.util.io.graphml.GraphMLWriter writer = new com.tinkerpop.blueprints.util.io.graphml.GraphMLWriter(graph.getGraph());
+		com.tinkerpop.blueprints.util.io.graphml.GraphMLWriter writer = new com.tinkerpop.blueprints.util.io.graphml.GraphMLWriter(graph);
 		writer.setNormalize(true);
 
 		try {
diff --git a/src/main/java/kieker/analysis/trace/traversal/AggrTraceTraverserStage.java b/src/main/java/kieker/analysis/trace/traversal/AggrTraceTraverserStage.java
index 067290d9..d570e418 100644
--- a/src/main/java/kieker/analysis/trace/traversal/AggrTraceTraverserStage.java
+++ b/src/main/java/kieker/analysis/trace/traversal/AggrTraceTraverserStage.java
@@ -1,11 +1,13 @@
 package kieker.analysis.trace.traversal;
 
+import com.tinkerpop.blueprints.Graph;
+
 import kieker.analysis.traceanalysisdomain.AggregatedOperationCall;
 import kieker.analysis.traceanalysisdomain.AggregatedTrace;
 
 import teetime.stage.basic.AbstractTransformation;
 
-public class AggrTraceTraverserStage extends AbstractTransformation<AggregatedTrace, NamedGraph> {
+public class AggrTraceTraverserStage extends AbstractTransformation<AggregatedTrace, NamedGraph<Graph>> {
 
 	@Override
 	protected void execute(final AggregatedTrace trace) {
@@ -18,7 +20,7 @@ public class AggrTraceTraverserStage extends AbstractTransformation<AggregatedTr
 
 		final String name = "aggr-trace-" + trace.hashCode();
 
-		final NamedGraph graph = new NamedGraph(name, name, aggrTrace2Blueprint.getGraph());
+		final NamedGraph<Graph> graph = new NamedGraph<>(name, name, aggrTrace2Blueprint.getGraph());
 
 		this.getOutputPort().send(graph);
 	}
diff --git a/src/main/java/kieker/analysis/trace/traversal/NamedGraph.java b/src/main/java/kieker/analysis/trace/traversal/NamedGraph.java
index 8337e119..ea42cf2a 100644
--- a/src/main/java/kieker/analysis/trace/traversal/NamedGraph.java
+++ b/src/main/java/kieker/analysis/trace/traversal/NamedGraph.java
@@ -1,19 +1,18 @@
 package kieker.analysis.trace.traversal;
 
 import com.tinkerpop.blueprints.Graph;
+import com.tinkerpop.blueprints.util.wrappers.wrapped.WrappedGraph;
 
-public class NamedGraph {
+public class NamedGraph<T extends Graph> extends WrappedGraph<T> {
 
 	private String name;
 
 	private String fileName;
 
-	private Graph graph;
-
-	public NamedGraph(final String name, final String fileName, final Graph graph) {
+	public NamedGraph(final String name, final String fileName, final T baseGraph) {
+		super(baseGraph);
 		this.name = name;
 		this.fileName = fileName;
-		this.graph = graph;
 	}
 
 	public String getName() {
@@ -32,12 +31,4 @@ public class NamedGraph {
 		this.fileName = fileName;
 	}
 
-	public Graph getGraph() {
-		return graph;
-	}
-
-	public void setGraph(final Graph graph) {
-		this.graph = graph;
-	}
-
 }
diff --git a/src/main/java/kieker/analysis/trace/traversal/TraceTraverserStage.java b/src/main/java/kieker/analysis/trace/traversal/TraceTraverserStage.java
index 67129df7..bae43357 100644
--- a/src/main/java/kieker/analysis/trace/traversal/TraceTraverserStage.java
+++ b/src/main/java/kieker/analysis/trace/traversal/TraceTraverserStage.java
@@ -1,11 +1,13 @@
 package kieker.analysis.trace.traversal;
 
+import com.tinkerpop.blueprints.Graph;
+
 import kieker.analysis.traceanalysisdomain.OperationCall;
 import kieker.analysis.traceanalysisdomain.Trace;
 
 import teetime.stage.basic.AbstractTransformation;
 
-public class TraceTraverserStage extends AbstractTransformation<Trace, NamedGraph> {
+public class TraceTraverserStage extends AbstractTransformation<Trace, NamedGraph<Graph>> {
 
 	@Override
 	protected void execute(final Trace trace) {
@@ -18,7 +20,7 @@ public class TraceTraverserStage extends AbstractTransformation<Trace, NamedGrap
 
 		final String name = "trace-" + trace.hashCode();
 
-		final NamedGraph graph = new NamedGraph(name, name, traceToGraph.getGraph());
+		final NamedGraph<Graph> graph = new NamedGraph<>(name, name, traceToGraph.getGraph());
 
 		this.getOutputPort().send(graph);
 	}
-- 
GitLab