From 971c2867935def4a5e728baadf2da7e9c9fa8192 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de>
Date: Tue, 19 Jan 2016 12:28:10 +0100
Subject: [PATCH] store the operation calls in which are aggregated to a new
 one

---
 .../dev/CollectedAggrOperationCall.java       | 43 +++++++++++++++++++
 .../analysis/dev/OperationsDependency.java    | 11 +++--
 .../AggregatedOperationCall.java              |  2 +-
 3 files changed, 49 insertions(+), 7 deletions(-)
 create mode 100644 src/main/java/kieker/analysis/dev/CollectedAggrOperationCall.java

diff --git a/src/main/java/kieker/analysis/dev/CollectedAggrOperationCall.java b/src/main/java/kieker/analysis/dev/CollectedAggrOperationCall.java
new file mode 100644
index 00000000..5f384b90
--- /dev/null
+++ b/src/main/java/kieker/analysis/dev/CollectedAggrOperationCall.java
@@ -0,0 +1,43 @@
+package kieker.analysis.dev;
+
+import java.util.LinkedList;
+import java.util.List;
+
+import kieker.analysis.traceanalysisdomain.AggregatedOperationCall;
+import kieker.analysis.traceanalysisdomain.OperationCall;
+
+public class CollectedAggrOperationCall extends AggregatedOperationCall {
+
+	private List<AggregatedOperationCall> baseOperationCalls = new LinkedList<>();
+
+	public CollectedAggrOperationCall(final OperationCall call) {
+		super(call);
+	}
+
+	public CollectedAggrOperationCall(final String container, final String component, final String operation, final int orderIndex, 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, orderIndex, failedCause, totalDuration, medianDuration, minDuration, maxDuration, meanDuration, calls);
+	}
+
+	public CollectedAggrOperationCall(final String container, final String component, final String operation, final int orderIndex, final String failedCause) {
+		super(container, component, operation, orderIndex, failedCause);
+	}
+
+	public CollectedAggrOperationCall(final String container, final String component, final String operation, final int orderIndex) {
+		super(container, component, operation, orderIndex);
+	}
+
+	public List<AggregatedOperationCall> getBaseOperationCalls() {
+		return baseOperationCalls;
+	}
+
+	public void setBaseOperationCalls(final List<AggregatedOperationCall> baseOperationCalls) {
+		this.baseOperationCalls = baseOperationCalls;
+	}
+
+	public void addBaseOperartionCall(final AggregatedOperationCall operationCall) {
+		baseOperationCalls.add(operationCall);
+	}
+
+}
diff --git a/src/main/java/kieker/analysis/dev/OperationsDependency.java b/src/main/java/kieker/analysis/dev/OperationsDependency.java
index c13f1bc6..d9b91245 100644
--- a/src/main/java/kieker/analysis/dev/OperationsDependency.java
+++ b/src/main/java/kieker/analysis/dev/OperationsDependency.java
@@ -18,7 +18,7 @@ public class OperationsDependency {
 
 	// TODO Move to Domain package
 
-	private final Map<String, AggregatedOperationCall> operations = new HashMap<>();
+	private final Map<String, CollectedAggrOperationCall> operations = new HashMap<>();
 
 	private final Map<String, OperationsDependencyRelation> relations = new HashMap<>();
 
@@ -32,10 +32,9 @@ public class OperationsDependency {
 		String key = call.getIdentifier();
 
 		if (!operations.containsKey(key)) {
-			operations.put(key, new AggregatedOperationCall(call.getContainer(), call.getComponent(), call.getOperation(), 0));
+			operations.put(key, new CollectedAggrOperationCall(call.getContainer(), call.getComponent(), call.getOperation(), 0));
 		}
-		// TODO Dont't add the call as child but as something different
-		// operations.get(key).addChild(call);
+		operations.get(key).addBaseOperartionCall(call);
 	}
 
 	private void addRelation(final AggregatedOperationCall call) {
@@ -72,13 +71,13 @@ public class OperationsDependency {
 		System.out.println("Operations:");
 		System.out.println();
 
-		for (Entry<String, AggregatedOperationCall> call : operations.entrySet()) {
+		for (Entry<String, CollectedAggrOperationCall> call : operations.entrySet()) {
 
 			System.out.println("Key: " + call.getKey());
 			System.out.println("Value: " + call.getValue().getOperation());
 			System.out.println("Calls:");
 
-			for (AggregatedOperationCall call2 : call.getValue().getChildren()) {
+			for (AggregatedOperationCall call2 : call.getValue().getBaseOperationCalls()) {
 
 				System.out.println(call2.getOperation() + ": " + call2.getCalls());
 				// System.out.println(call2.getFailedCause());
diff --git a/src/main/java/kieker/analysis/traceanalysisdomain/AggregatedOperationCall.java b/src/main/java/kieker/analysis/traceanalysisdomain/AggregatedOperationCall.java
index fbef1bbb..8a3555bf 100644
--- a/src/main/java/kieker/analysis/traceanalysisdomain/AggregatedOperationCall.java
+++ b/src/main/java/kieker/analysis/traceanalysisdomain/AggregatedOperationCall.java
@@ -22,7 +22,7 @@ package kieker.analysis.traceanalysisdomain;
  *
  * @author Nils Christian Ehmke
  */
-public final class AggregatedOperationCall extends AbstractOperationCall<AggregatedOperationCall> {
+public class AggregatedOperationCall extends AbstractOperationCall<AggregatedOperationCall> {
 
 	private AggregatedOperationCall parent;
 	private long totalDuration;
-- 
GitLab