From 719f313ced1f4c345270ff3a3f45971994f93cb1 Mon Sep 17 00:00:00 2001
From: Nelson Tavares de Sousa <ntd@informatik.uni-kiel.de>
Date: Thu, 19 Feb 2015 14:56:51 +0100
Subject: [PATCH] uses now the utility class from teetime-stages

---
 .classpath                                    |  6 ++++++
 .../io/net/TcpTraceReconstructionActor.java   | 20 ++-----------------
 2 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/.classpath b/.classpath
index 087842c..0f30071 100644
--- a/.classpath
+++ b/.classpath
@@ -17,5 +17,11 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/src/main/java/akka/io/net/TcpTraceReconstructionActor.java b/src/main/java/akka/io/net/TcpTraceReconstructionActor.java
index 49d0148..b38360b 100644
--- a/src/main/java/akka/io/net/TcpTraceReconstructionActor.java
+++ b/src/main/java/akka/io/net/TcpTraceReconstructionActor.java
@@ -10,6 +10,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import teetime.stage.trace.traceReconstruction.EventBasedTrace;
+import teetime.util.TraceReconstructor;
 import teetime.util.concurrent.hashmap.ConcurrentHashMapWithDefault;
 import akka.actor.ActorRef;
 import akka.actor.Props;
@@ -43,7 +44,7 @@ public class TcpTraceReconstructionActor extends UntypedActor {
 	@Override
 	public void onReceive(final Object message) throws Exception {
 		if (message instanceof IFlowRecord) {
-			final Long traceId = this.reconstructTrace((IFlowRecord) message);
+			final Long traceId = TraceReconstructor.reconstructTrace((IFlowRecord) message, traceId2trace);
 			if (traceId != null) {
 				this.put(traceId, true);
 			}
@@ -56,23 +57,6 @@ public class TcpTraceReconstructionActor extends UntypedActor {
 		}
 	}
 
-	private Long reconstructTrace(final IFlowRecord record) {
-		Long traceId = null;
-		if (record instanceof TraceMetadata) {
-			traceId = ((TraceMetadata) record).getTraceId();
-			EventBasedTrace traceBuffer = this.traceId2trace.getOrCreate(traceId);
-
-			traceBuffer.setTrace((TraceMetadata) record);
-		} else if (record instanceof AbstractTraceEvent) {
-			traceId = ((AbstractTraceEvent) record).getTraceId();
-			EventBasedTrace traceBuffer = this.traceId2trace.getOrCreate(traceId);
-
-			traceBuffer.insertEvent((AbstractTraceEvent) record);
-		}
-
-		return traceId;
-	}
-
 	private void put(final Long traceId, final boolean onlyIfFinished) {
 		final EventBasedTrace traceBuffer = this.traceId2trace.get(traceId);
 		if (traceBuffer != null) { // null-check to check whether the trace has already been sent and removed
-- 
GitLab