From f1b30d598e65d798376bc85791b9f06cbe0724d0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=B6ren=20Henning?= <stu114708@informatik.uni-kiel.de>
Date: Fri, 13 May 2016 10:36:50 +0200
Subject: [PATCH] replaced lists with maps

---
 .../analysis/domain/systemdependency/Component.java    |  9 +++++----
 .../analysis/domain/systemdependency/Container.java    |  9 +++++----
 .../domain/systemdependency/SoftwareSystem.java        | 10 ++++++----
 3 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/src/main/java/kieker/analysis/domain/systemdependency/Component.java b/src/main/java/kieker/analysis/domain/systemdependency/Component.java
index fc89ed4e..f69346e5 100644
--- a/src/main/java/kieker/analysis/domain/systemdependency/Component.java
+++ b/src/main/java/kieker/analysis/domain/systemdependency/Component.java
@@ -1,12 +1,13 @@
 package kieker.analysis.domain.systemdependency;
 
-import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
 
 public class Component extends SystemEntity {
 
 	private final Container container;
-	private final Collection<Operation> operations = new ArrayList<>();
+	private final Map<String, Operation> operations = new HashMap<>();
 
 	public Component(final String name, final Container container) {
 		super(name, container.getIdentifier() + ',' + name);
@@ -19,11 +20,11 @@ public class Component extends SystemEntity {
 	}
 
 	public Collection<Operation> getOperations() {
-		return operations;
+		return operations.values();
 	}
 
 	protected void addOperation(final Operation operation) {
-		this.operations.add(operation);
+		this.operations.put(operation.getName(), operation);
 	}
 
 }
diff --git a/src/main/java/kieker/analysis/domain/systemdependency/Container.java b/src/main/java/kieker/analysis/domain/systemdependency/Container.java
index 46f5764a..65f2a62e 100644
--- a/src/main/java/kieker/analysis/domain/systemdependency/Container.java
+++ b/src/main/java/kieker/analysis/domain/systemdependency/Container.java
@@ -1,22 +1,23 @@
 package kieker.analysis.domain.systemdependency;
 
-import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
 
 public class Container extends SystemEntity {
 
-	private final Collection<Component> components = new ArrayList<>();
+	private final Map<String, Component> components = new HashMap<>();
 
 	public Container(final String name) {
 		super(name, name);
 	}
 
 	public Collection<Component> getComponents() {
-		return components;
+		return components.values();
 	}
 
 	protected void addComponent(final Component component) {
-		this.components.add(component);
+		this.components.put(component.getName(), component);
 	}
 
 }
diff --git a/src/main/java/kieker/analysis/domain/systemdependency/SoftwareSystem.java b/src/main/java/kieker/analysis/domain/systemdependency/SoftwareSystem.java
index 5fe6c1ef..de8f0552 100644
--- a/src/main/java/kieker/analysis/domain/systemdependency/SoftwareSystem.java
+++ b/src/main/java/kieker/analysis/domain/systemdependency/SoftwareSystem.java
@@ -2,10 +2,12 @@ package kieker.analysis.domain.systemdependency;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
 
 public class SoftwareSystem {
 
-	private Collection<Container> containers = new ArrayList<>();
+	private final Map<String, Container> containers = new HashMap<>();
 
 	private Collection<Dependency<Container>> containerDependencies = new ArrayList<>();
 	private Collection<Dependency<Component>> componentDependencies = new ArrayList<>();
@@ -14,11 +16,11 @@ public class SoftwareSystem {
 	public SoftwareSystem() {}
 
 	public Collection<Container> getContainers() {
-		return containers;
+		return containers.values();
 	}
 
-	public void setContainers(final Collection<Container> containers) {
-		this.containers = containers;
+	public void addContainer(final Container container) {
+		containers.put(container.getName(), container);
 	}
 
 	public Collection<Dependency<Container>> getContainerDependencies() {
-- 
GitLab