From a94d6bb7d88cbbb27a8d956a6bbbc13491993226 Mon Sep 17 00:00:00 2001
From: Florian Fittkau <ffi@informatik.uni-kiel.de>
Date: Fri, 13 Jun 2014 23:35:00 +0200
Subject: [PATCH] objectIds sets

---
 .../reconstruction/TraceReconstructionBuffer.java   | 12 ++++++------
 .../filter/reduction/TracesSummarizationBuffer.java | 13 ++++++++++++-
 .../reduction/summarization/IterationFilter.java    |  3 ++-
 .../summarization/PatternSummarizationFilter.java   |  3 ++-
 .../summarization/TreeSummarizationFilter.java      |  2 +-
 5 files changed, 23 insertions(+), 10 deletions(-)

diff --git a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java
index ebb21e4..ea56269 100644
--- a/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java
+++ b/src/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBuffer.java
@@ -32,12 +32,12 @@ class TraceReconstructionBuffer {
 			openEvents++;
 			final AbstractBeforeEventRecord beforeEvent = (AbstractBeforeEventRecord) event;
 			beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1, -1, -1)); // TODO
-																									// if
-																									// invalid
-																									// trace
-																									// would
-																									// be
-																									// null...
+			// if
+			// invalid,
+			// trace
+			// would
+			// be
+			// null...
 		} else if ((event instanceof AbstractAfterFailedEventRecord)
 				|| (event instanceof AbstractAfterEventRecord)) {
 			openEvents--;
diff --git a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java
index 9622d7c..d000ac9 100644
--- a/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java
+++ b/src/explorviz/live_trace_processing/filter/reduction/TracesSummarizationBuffer.java
@@ -25,6 +25,16 @@ class TracesSummarizationBuffer {
 	public void insertTrace(final Trace trace) {
 		if (accumulator == null) {
 			accumulator = trace;
+
+			for (int i = 0; i < trace.getTraceEvents().size(); i++) {
+				final AbstractEventRecord event = trace.getTraceEvents().get(i);
+				if (event instanceof AbstractBeforeEventRecord) {
+					final AbstractBeforeEventRecord abstractBeforeEventRecord = (AbstractBeforeEventRecord) event;
+					abstractBeforeEventRecord.getRuntimeStatisticInformation().makeAccumulator(
+							abstractBeforeEventRecord.getObjectId());
+				}
+			}
+
 		} else {
 			final List<AbstractEventRecord> aggregatedRecords = accumulator.getTraceEvents();
 			final List<AbstractEventRecord> records = trace.getTraceEvents();
@@ -36,7 +46,8 @@ class TracesSummarizationBuffer {
 					final AbstractBeforeEventRecord abstractBeforeEventRecord2 = (AbstractBeforeEventRecord) records
 							.get(i);
 					abstractBeforeEventRecord.getRuntimeStatisticInformation().merge(
-							abstractBeforeEventRecord2.getRuntimeStatisticInformation());
+							abstractBeforeEventRecord2.getRuntimeStatisticInformation(),
+							abstractBeforeEventRecord2.getObjectId());
 				}
 			}
 		}
diff --git a/src/explorviz/live_trace_processing/filter/reduction/summarization/IterationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/summarization/IterationFilter.java
index ba091d3..2f9ada0 100644
--- a/src/explorviz/live_trace_processing/filter/reduction/summarization/IterationFilter.java
+++ b/src/explorviz/live_trace_processing/filter/reduction/summarization/IterationFilter.java
@@ -35,7 +35,8 @@ public class IterationFilter extends AbstractReductionFilter implements ITraceRe
 						if (firstBeforeEvent.compareTo(secondBeforeEvent) == 0) {
 							if (traceEvents.get(i + 3) instanceof AbstractAfterEventRecord) {
 								secondBeforeEvent.getRuntimeStatisticInformation().merge(
-										firstBeforeEvent.getRuntimeStatisticInformation());
+										firstBeforeEvent.getRuntimeStatisticInformation(),
+										firstBeforeEvent.getObjectId());
 								i += 2;
 							} else {
 								newTraceEvents.add(firstBeforeEvent);
diff --git a/src/explorviz/live_trace_processing/filter/reduction/summarization/PatternSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/summarization/PatternSummarizationFilter.java
index a1dfb57..8f668a2 100644
--- a/src/explorviz/live_trace_processing/filter/reduction/summarization/PatternSummarizationFilter.java
+++ b/src/explorviz/live_trace_processing/filter/reduction/summarization/PatternSummarizationFilter.java
@@ -121,7 +121,8 @@ public class PatternSummarizationFilter extends AbstractReductionFilter {
 					final AbstractBeforeEventRecord nextEqualEvent = (AbstractBeforeEventRecord) traceEvents
 							.get(i + (r * d));
 					beforeEvent.getRuntimeStatisticInformation().merge(
-							nextEqualEvent.getRuntimeStatisticInformation());
+							nextEqualEvent.getRuntimeStatisticInformation(),
+							nextEqualEvent.getObjectId());
 
 				}
 			}
diff --git a/src/explorviz/live_trace_processing/filter/reduction/summarization/TreeSummarizationFilter.java b/src/explorviz/live_trace_processing/filter/reduction/summarization/TreeSummarizationFilter.java
index 2b018c0..f924140 100644
--- a/src/explorviz/live_trace_processing/filter/reduction/summarization/TreeSummarizationFilter.java
+++ b/src/explorviz/live_trace_processing/filter/reduction/summarization/TreeSummarizationFilter.java
@@ -81,7 +81,7 @@ public class TreeSummarizationFilter extends AbstractReductionFilter {
 	private void mergeInformation(final Edge edge, final AbstractBeforeEventRecord caller,
 			final AbstractBeforeEventRecord callee) {
 		edge.getCallee().getRuntimeStatisticInformation()
-				.merge(callee.getRuntimeStatisticInformation());
+				.merge(callee.getRuntimeStatisticInformation(), callee.getObjectId());
 	}
 
 	private Trace buildTraceFromEdges(final List<Edge> edges) {
-- 
GitLab