From 5634735de8009b5c4e34f5aad5924df8da3d18df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de>
Date: Wed, 18 Nov 2015 11:11:22 +0100
Subject: [PATCH] Add orderIndex to OperationCall

---
 .../tracediagnosis/OperationCallAggregator.java     |  7 +++----
 .../stage/tracediagnosis/TraceReconstructor.java    |  4 ++--
 .../traceanalysisdomain/AbstractOperationCall.java  | 13 ++++++++++---
 .../AggregatedOperationCall.java                    |  7 ++++---
 .../analysis/traceanalysisdomain/OperationCall.java |  9 +++++----
 5 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/src/main/java/kieker/analysis/stage/tracediagnosis/OperationCallAggregator.java b/src/main/java/kieker/analysis/stage/tracediagnosis/OperationCallAggregator.java
index 218070b7..abdeb195 100644
--- a/src/main/java/kieker/analysis/stage/tracediagnosis/OperationCallAggregator.java
+++ b/src/main/java/kieker/analysis/stage/tracediagnosis/OperationCallAggregator.java
@@ -53,10 +53,9 @@ public final class OperationCallAggregator extends AbstractTransformation<Operat
 			final Statistics statistics = StatisticsUtility.calculateStatistics(durations);
 			super.getOutputPort().send(
 					new AggregatedOperationCall(aggregationList.get(0).getContainer(), aggregationList.get(0).getComponent(), aggregationList.get(0).getOperation(),
-							aggregationList.get(0).getFailedCause(), statistics.getTotalDuration(), statistics.getMedianDuration(), statistics.getMinDuration(),
-							statistics
-									.getMaxDuration(),
-							statistics.getMeanDuration(), aggregationList.size()));
+							aggregationList.get(0).getOrderIndex(), aggregationList.get(0).getFailedCause(), statistics.getTotalDuration(),
+							statistics.getMedianDuration(), statistics.getMinDuration(), statistics.getMaxDuration(), statistics.getMeanDuration(),
+							aggregationList.size()));
 		}
 
 		super.onTerminating();
diff --git a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructor.java b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructor.java
index abe495fe..3691c714 100644
--- a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructor.java
+++ b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructor.java
@@ -119,8 +119,8 @@ final class TraceReconstructor extends AbstractTransformation<IFlowRecord, Trace
 		private void handleBeforeOperationEventRecord(final BeforeOperationEvent record) {
 			this.stack.push(record);
 
-			final OperationCall newCall = new OperationCall(this.hostname, record.getClassSignature(), record.getOperationSignature(), this.traceID,
-					record.getLoggingTimestamp());
+			final OperationCall newCall = new OperationCall(this.hostname, record.getClassSignature(), record.getOperationSignature(), record.getOrderIndex(),
+					this.traceID, record.getLoggingTimestamp());
 			if (this.root == null) {
 				this.root = newCall;
 			} else {
diff --git a/src/main/java/kieker/analysis/traceanalysisdomain/AbstractOperationCall.java b/src/main/java/kieker/analysis/traceanalysisdomain/AbstractOperationCall.java
index c1abd011..28ea6840 100644
--- a/src/main/java/kieker/analysis/traceanalysisdomain/AbstractOperationCall.java
+++ b/src/main/java/kieker/analysis/traceanalysisdomain/AbstractOperationCall.java
@@ -43,14 +43,17 @@ public abstract class AbstractOperationCall<T extends AbstractOperationCall<T>>
 	private int stackSize;
 	private String failedCause;
 
-	public AbstractOperationCall(final String container, final String component, final String operation) {
-		this(container, component, operation, null);
+	private int orderIndex;
+
+	public AbstractOperationCall(final String container, final String component, final String operation, final int orderIndex) {
+		this(container, component, operation, orderIndex, null);
 	}
 
-	public AbstractOperationCall(final String container, final String component, final String operation, final String failedCause) {
+	public AbstractOperationCall(final String container, final String component, final String operation, final int orderIndex, final String failedCause) {
 		this.container = container.intern();
 		this.component = component.intern();
 		this.operation = operation.intern();
+		this.orderIndex = orderIndex;
 		this.failedCause = (failedCause != null) ? failedCause.intern() : null;
 	}
 
@@ -76,6 +79,10 @@ public abstract class AbstractOperationCall<T extends AbstractOperationCall<T>>
 		return this.operation;
 	}
 
+	public int getOrderIndex() {
+		return orderIndex;
+	}
+
 	public final int getStackDepth() {
 		return this.stackDepth;
 	}
diff --git a/src/main/java/kieker/analysis/traceanalysisdomain/AggregatedOperationCall.java b/src/main/java/kieker/analysis/traceanalysisdomain/AggregatedOperationCall.java
index 01bbff30..b78451b4 100644
--- a/src/main/java/kieker/analysis/traceanalysisdomain/AggregatedOperationCall.java
+++ b/src/main/java/kieker/analysis/traceanalysisdomain/AggregatedOperationCall.java
@@ -33,7 +33,7 @@ public final class AggregatedOperationCall extends AbstractOperationCall<Aggrega
 	private int calls;
 
 	public AggregatedOperationCall(final OperationCall call) {
-		super(call.getContainer(), call.getComponent(), call.getOperation(), call.getFailedCause());
+		super(call.getContainer(), call.getComponent(), call.getOperation(), call.getOrderIndex(), call.getFailedCause());
 
 		for (final OperationCall child : call.getChildren()) {
 			addChild(new AggregatedOperationCall(child));
@@ -43,10 +43,11 @@ public final class AggregatedOperationCall extends AbstractOperationCall<Aggrega
 		this.setStackSize(call.getStackSize());
 	}
 
-	public AggregatedOperationCall(final String container, final String component, final String operation, // NOPMD (a long parameter list cannot be avoided)
+	public AggregatedOperationCall(final String container, final String component, final String operation, final int orderIndex, // NOPMD (a long parameter list
+																																	// cannot be avoided)
 			final String failedCause, final long totalDuration, final long medianDuration, final long minDuration, final long maxDuration, final long meanDuration,
 			final int calls) {
-		super(container, component, operation);
+		super(container, component, operation, orderIndex);
 
 		this.totalDuration = totalDuration;
 		this.medianDuration = medianDuration;
diff --git a/src/main/java/kieker/analysis/traceanalysisdomain/OperationCall.java b/src/main/java/kieker/analysis/traceanalysisdomain/OperationCall.java
index f240af6d..05099f2a 100644
--- a/src/main/java/kieker/analysis/traceanalysisdomain/OperationCall.java
+++ b/src/main/java/kieker/analysis/traceanalysisdomain/OperationCall.java
@@ -32,13 +32,13 @@ public final class OperationCall extends AbstractOperationCall<OperationCall> {
 	private long duration;
 	private long timestamp;
 
-	public OperationCall(final String container, final String component, final String operation, final long traceID, final long timestamp) {
-		this(container, component, operation, null, traceID, timestamp);
+	public OperationCall(final String container, final String component, final String operation, final int orderIndex, final long traceID, final long timestamp) {
+		this(container, component, operation, orderIndex, null, traceID, timestamp);
 	}
 
-	public OperationCall(final String container, final String component, final String operation, final String failedCause, final long traceID,
+	public OperationCall(final String container, final String component, final String operation, final int orderIndex, final String failedCause, final long traceID,
 			final long timestamp) {
-		super(container, component, operation, failedCause);
+		super(container, component, operation, orderIndex, failedCause);
 
 		this.traceID = traceID;
 		this.timestamp = timestamp;
@@ -50,6 +50,7 @@ public final class OperationCall extends AbstractOperationCall<OperationCall> {
 		child.parent = this;
 	}
 
+	@Override
 	public OperationCall getParent() {
 		return this.parent;
 	}
-- 
GitLab