From ed0bb2f7a17f5421e70ea1178c0afa679fa7f9f5 Mon Sep 17 00:00:00 2001
From: Nils Christian Ehmke <nie@informatik.uni-kiel.de>
Date: Wed, 17 Dec 2014 16:11:39 +0100
Subject: [PATCH] Refactoring

---
 src/main/java/kieker/gui/Main.java            |  2 +-
 .../AbstractDirectedComparator.java           |  2 +-
 .../AbstractProxyDataModel.java               |  2 +-
 .../gui/{model => common}/DataModel.java      | 10 +++----
 .../kieker/gui/{model => common}/IModel.java  |  2 +-
 .../ISubController.java                       |  3 +-
 .../kieker/gui/{view => common}/ISubView.java |  2 +-
 .../{model => common}/PropertiesModel.java    |  2 +-
 .../TableColumnSortListener.java              |  2 +-
 .../TreeColumnSortListener.java               |  2 +-
 .../domain/AbstractExecution.java             |  2 +-
 .../domain/AggregatedExecution.java           |  2 +-
 .../{model => common}/domain/Execution.java   |  2 +-
 .../gui/{model => common}/domain/Record.java  |  2 +-
 .../importer/ImportAnalysisConfiguration.java | 22 +++++++--------
 .../stages/FailedAggregatedTraceFilter.java   |  4 +--
 .../importer/stages/FailedTraceFilter.java    |  4 +--
 ...ailureContainingAggregatedTraceFilter.java |  4 +--
 .../stages/FailureContainingTraceFilter.java  |  4 +--
 .../importer/stages/RecordSimplificator.java  |  4 +--
 .../importer/stages/TraceAggregator.java      |  6 ++--
 .../importer/stages/TraceReconstructor.java   |  4 +--
 .../gui/{view => mainview}/MainView.java      |  7 ++---
 .../MainViewController.java                   | 22 +++++++++------
 .../{model => mainview}/MainViewModel.java    |  2 +-
 ...gregatedFailedTracesSubViewController.java | 15 +++++-----
 .../AggregatedTracesSubView.java              | 28 +++++++++----------
 .../AggregatedTracesSubViewController.java    | 15 +++++-----
 .../AggregatedTracesSubViewModel.java         |  4 +--
 ...ningAggregatedTracesSubViewController.java | 15 +++++-----
 ...regatedExecutionAvgDurationComparator.java |  5 ++--
 .../AggregatedExecutionCallComparator.java    |  5 ++--
 ...regatedExecutionMaxDurationComparator.java |  5 ++--
 ...regatedExecutionMinDurationComparator.java |  5 ++--
 ...gatedExecutionTotalDurationComparator.java |  5 ++--
 .../records}/RecordsSubView.java              | 14 +++++-----
 .../records}/RecordsSubViewController.java    |  8 +++---
 .../util/RecordTimestampComparator.java       |  5 ++--
 .../records}/util/RecordTypeComparator.java   |  5 ++--
 .../FailedTracesSubViewController.java        | 15 +++++-----
 ...lureContainingTracesSubViewController.java | 15 +++++-----
 .../traces}/TracesSubView.java                | 22 +++++++--------
 .../traces}/TracesSubViewController.java      | 15 +++++-----
 .../traces}/TracesSubViewModel.java           |  4 +--
 .../util/ExecutionComponentComparator.java    |  5 ++--
 .../util/ExecutionContainerComparator.java    |  5 ++--
 .../util/ExecutionDurationComparator.java     |  5 ++--
 .../util/ExecutionOperationComparator.java    |  5 ++--
 .../util/ExecutionTraceIDComparator.java      |  5 ++--
 .../stages/RecordSimplificatorTest.java       |  5 ++--
 .../stages/TraceReconstructorTest.java        |  5 ++--
 51 files changed, 186 insertions(+), 174 deletions(-)
 rename src/main/java/kieker/gui/{view/util => common}/AbstractDirectedComparator.java (97%)
 rename src/main/java/kieker/gui/{model => common}/AbstractProxyDataModel.java (95%)
 rename src/main/java/kieker/gui/{model => common}/DataModel.java (95%)
 rename src/main/java/kieker/gui/{model => common}/IModel.java (87%)
 rename src/main/java/kieker/gui/{controller => common}/ISubController.java (93%)
 rename src/main/java/kieker/gui/{view => common}/ISubView.java (97%)
 rename src/main/java/kieker/gui/{model => common}/PropertiesModel.java (98%)
 rename src/main/java/kieker/gui/{view/util => common}/TableColumnSortListener.java (98%)
 rename src/main/java/kieker/gui/{view/util => common}/TreeColumnSortListener.java (98%)
 rename src/main/java/kieker/gui/{model => common}/domain/AbstractExecution.java (98%)
 rename src/main/java/kieker/gui/{model => common}/domain/AggregatedExecution.java (98%)
 rename src/main/java/kieker/gui/{model => common}/domain/Execution.java (99%)
 rename src/main/java/kieker/gui/{model => common}/domain/Record.java (97%)
 rename src/main/java/kieker/gui/{model => common}/importer/ImportAnalysisConfiguration.java (92%)
 rename src/main/java/kieker/gui/{model => common}/importer/stages/FailedAggregatedTraceFilter.java (93%)
 rename src/main/java/kieker/gui/{model => common}/importer/stages/FailedTraceFilter.java (93%)
 rename src/main/java/kieker/gui/{model => common}/importer/stages/FailureContainingAggregatedTraceFilter.java (93%)
 rename src/main/java/kieker/gui/{model => common}/importer/stages/FailureContainingTraceFilter.java (93%)
 rename src/main/java/kieker/gui/{model => common}/importer/stages/RecordSimplificator.java (95%)
 rename src/main/java/kieker/gui/{model => common}/importer/stages/TraceAggregator.java (93%)
 rename src/main/java/kieker/gui/{model => common}/importer/stages/TraceReconstructor.java (98%)
 rename src/main/java/kieker/gui/{view => mainview}/MainView.java (98%)
 rename src/main/java/kieker/gui/{controller => mainview}/MainViewController.java (88%)
 rename src/main/java/kieker/gui/{model => mainview}/MainViewModel.java (98%)
 rename src/main/java/kieker/gui/{controller => subview/aggregatedtraces}/AggregatedFailedTracesSubViewController.java (85%)
 rename src/main/java/kieker/gui/{view => subview/aggregatedtraces}/AggregatedTracesSubView.java (94%)
 rename src/main/java/kieker/gui/{controller => subview/aggregatedtraces}/AggregatedTracesSubViewController.java (85%)
 rename src/main/java/kieker/gui/{model => subview/aggregatedtraces}/AggregatedTracesSubViewModel.java (92%)
 rename src/main/java/kieker/gui/{controller => subview/aggregatedtraces}/FailureContainingAggregatedTracesSubViewController.java (85%)
 rename src/main/java/kieker/gui/{view => subview/aggregatedtraces}/util/AggregatedExecutionAvgDurationComparator.java (88%)
 rename src/main/java/kieker/gui/{view => subview/aggregatedtraces}/util/AggregatedExecutionCallComparator.java (88%)
 rename src/main/java/kieker/gui/{view => subview/aggregatedtraces}/util/AggregatedExecutionMaxDurationComparator.java (88%)
 rename src/main/java/kieker/gui/{view => subview/aggregatedtraces}/util/AggregatedExecutionMinDurationComparator.java (88%)
 rename src/main/java/kieker/gui/{view => subview/aggregatedtraces}/util/AggregatedExecutionTotalDurationComparator.java (72%)
 rename src/main/java/kieker/gui/{view => subview/records}/RecordsSubView.java (92%)
 rename src/main/java/kieker/gui/{controller => subview/records}/RecordsSubViewController.java (88%)
 rename src/main/java/kieker/gui/{view => subview/records}/util/RecordTimestampComparator.java (89%)
 rename src/main/java/kieker/gui/{view => subview/records}/util/RecordTypeComparator.java (89%)
 rename src/main/java/kieker/gui/{controller => subview/traces}/FailedTracesSubViewController.java (86%)
 rename src/main/java/kieker/gui/{controller => subview/traces}/FailureContainingTracesSubViewController.java (86%)
 rename src/main/java/kieker/gui/{view => subview/traces}/TracesSubView.java (95%)
 rename src/main/java/kieker/gui/{controller => subview/traces}/TracesSubViewController.java (86%)
 rename src/main/java/kieker/gui/{model => subview/traces}/TracesSubViewModel.java (93%)
 rename src/main/java/kieker/gui/{view => subview/traces}/util/ExecutionComponentComparator.java (88%)
 rename src/main/java/kieker/gui/{view => subview/traces}/util/ExecutionContainerComparator.java (88%)
 rename src/main/java/kieker/gui/{view => subview/traces}/util/ExecutionDurationComparator.java (89%)
 rename src/main/java/kieker/gui/{view => subview/traces}/util/ExecutionOperationComparator.java (88%)
 rename src/main/java/kieker/gui/{view => subview/traces}/util/ExecutionTraceIDComparator.java (89%)
 rename src/test/java/kieker/gui/{model => common}/importer/stages/RecordSimplificatorTest.java (91%)
 rename src/test/java/kieker/gui/{model => common}/importer/stages/TraceReconstructorTest.java (97%)

diff --git a/src/main/java/kieker/gui/Main.java b/src/main/java/kieker/gui/Main.java
index 2db67f8d..95c43610 100644
--- a/src/main/java/kieker/gui/Main.java
+++ b/src/main/java/kieker/gui/Main.java
@@ -16,7 +16,7 @@
 
 package kieker.gui;
 
-import kieker.gui.controller.MainViewController;
+import kieker.gui.mainview.MainViewController;
 
 /**
  * Contains the main method of this application.
diff --git a/src/main/java/kieker/gui/view/util/AbstractDirectedComparator.java b/src/main/java/kieker/gui/common/AbstractDirectedComparator.java
similarity index 97%
rename from src/main/java/kieker/gui/view/util/AbstractDirectedComparator.java
rename to src/main/java/kieker/gui/common/AbstractDirectedComparator.java
index e4f10fa8..9f0f10e9 100644
--- a/src/main/java/kieker/gui/view/util/AbstractDirectedComparator.java
+++ b/src/main/java/kieker/gui/common/AbstractDirectedComparator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.common;
 
 import java.util.Comparator;
 
diff --git a/src/main/java/kieker/gui/model/AbstractProxyDataModel.java b/src/main/java/kieker/gui/common/AbstractProxyDataModel.java
similarity index 95%
rename from src/main/java/kieker/gui/model/AbstractProxyDataModel.java
rename to src/main/java/kieker/gui/common/AbstractProxyDataModel.java
index 90a15b9c..73185a11 100644
--- a/src/main/java/kieker/gui/model/AbstractProxyDataModel.java
+++ b/src/main/java/kieker/gui/common/AbstractProxyDataModel.java
@@ -1,4 +1,4 @@
-package kieker.gui.model;
+package kieker.gui.common;
 
 import java.util.Observable;
 import java.util.Observer;
diff --git a/src/main/java/kieker/gui/model/DataModel.java b/src/main/java/kieker/gui/common/DataModel.java
similarity index 95%
rename from src/main/java/kieker/gui/model/DataModel.java
rename to src/main/java/kieker/gui/common/DataModel.java
index 252caaf0..08e5c348 100644
--- a/src/main/java/kieker/gui/model/DataModel.java
+++ b/src/main/java/kieker/gui/common/DataModel.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model;
+package kieker.gui.common;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -24,10 +24,10 @@ import java.util.Observable;
 import java.util.concurrent.TimeUnit;
 
 import kieker.common.record.misc.KiekerMetadataRecord;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.model.domain.Record;
-import kieker.gui.model.importer.ImportAnalysisConfiguration;
+import kieker.gui.common.domain.AggregatedExecution;
+import kieker.gui.common.domain.Execution;
+import kieker.gui.common.domain.Record;
+import kieker.gui.common.importer.ImportAnalysisConfiguration;
 import teetime.framework.Analysis;
 
 /**
diff --git a/src/main/java/kieker/gui/model/IModel.java b/src/main/java/kieker/gui/common/IModel.java
similarity index 87%
rename from src/main/java/kieker/gui/model/IModel.java
rename to src/main/java/kieker/gui/common/IModel.java
index 2a5370f6..2510980d 100644
--- a/src/main/java/kieker/gui/model/IModel.java
+++ b/src/main/java/kieker/gui/common/IModel.java
@@ -1,4 +1,4 @@
-package kieker.gui.model;
+package kieker.gui.common;
 
 import java.util.List;
 import java.util.Observer;
diff --git a/src/main/java/kieker/gui/controller/ISubController.java b/src/main/java/kieker/gui/common/ISubController.java
similarity index 93%
rename from src/main/java/kieker/gui/controller/ISubController.java
rename to src/main/java/kieker/gui/common/ISubController.java
index 240d92e7..a3a66da5 100644
--- a/src/main/java/kieker/gui/controller/ISubController.java
+++ b/src/main/java/kieker/gui/common/ISubController.java
@@ -14,9 +14,8 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.common;
 
-import kieker.gui.view.ISubView;
 
 /**
  * A commons interface for all sub-controllers to reduce dependencies.
diff --git a/src/main/java/kieker/gui/view/ISubView.java b/src/main/java/kieker/gui/common/ISubView.java
similarity index 97%
rename from src/main/java/kieker/gui/view/ISubView.java
rename to src/main/java/kieker/gui/common/ISubView.java
index 239d6715..7d7c76e5 100644
--- a/src/main/java/kieker/gui/view/ISubView.java
+++ b/src/main/java/kieker/gui/common/ISubView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view;
+package kieker.gui.common;
 
 import org.eclipse.swt.widgets.Composite;
 
diff --git a/src/main/java/kieker/gui/model/PropertiesModel.java b/src/main/java/kieker/gui/common/PropertiesModel.java
similarity index 98%
rename from src/main/java/kieker/gui/model/PropertiesModel.java
rename to src/main/java/kieker/gui/common/PropertiesModel.java
index 9a575245..56400c6f 100644
--- a/src/main/java/kieker/gui/model/PropertiesModel.java
+++ b/src/main/java/kieker/gui/common/PropertiesModel.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model;
+package kieker.gui.common;
 
 import java.util.Observable;
 
diff --git a/src/main/java/kieker/gui/view/util/TableColumnSortListener.java b/src/main/java/kieker/gui/common/TableColumnSortListener.java
similarity index 98%
rename from src/main/java/kieker/gui/view/util/TableColumnSortListener.java
rename to src/main/java/kieker/gui/common/TableColumnSortListener.java
index b6873cae..29e81abc 100644
--- a/src/main/java/kieker/gui/view/util/TableColumnSortListener.java
+++ b/src/main/java/kieker/gui/common/TableColumnSortListener.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.common;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/src/main/java/kieker/gui/view/util/TreeColumnSortListener.java b/src/main/java/kieker/gui/common/TreeColumnSortListener.java
similarity index 98%
rename from src/main/java/kieker/gui/view/util/TreeColumnSortListener.java
rename to src/main/java/kieker/gui/common/TreeColumnSortListener.java
index 620e7ae9..76a318cc 100644
--- a/src/main/java/kieker/gui/view/util/TreeColumnSortListener.java
+++ b/src/main/java/kieker/gui/common/TreeColumnSortListener.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.common;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/src/main/java/kieker/gui/model/domain/AbstractExecution.java b/src/main/java/kieker/gui/common/domain/AbstractExecution.java
similarity index 98%
rename from src/main/java/kieker/gui/model/domain/AbstractExecution.java
rename to src/main/java/kieker/gui/common/domain/AbstractExecution.java
index 9442155d..5ee4c195 100644
--- a/src/main/java/kieker/gui/model/domain/AbstractExecution.java
+++ b/src/main/java/kieker/gui/common/domain/AbstractExecution.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.domain;
+package kieker.gui.common.domain;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/main/java/kieker/gui/model/domain/AggregatedExecution.java b/src/main/java/kieker/gui/common/domain/AggregatedExecution.java
similarity index 98%
rename from src/main/java/kieker/gui/model/domain/AggregatedExecution.java
rename to src/main/java/kieker/gui/common/domain/AggregatedExecution.java
index cfd6a89e..2b46de91 100644
--- a/src/main/java/kieker/gui/model/domain/AggregatedExecution.java
+++ b/src/main/java/kieker/gui/common/domain/AggregatedExecution.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.domain;
+package kieker.gui.common.domain;
 
 public final class AggregatedExecution extends AbstractExecution<AggregatedExecution> {
 
diff --git a/src/main/java/kieker/gui/model/domain/Execution.java b/src/main/java/kieker/gui/common/domain/Execution.java
similarity index 99%
rename from src/main/java/kieker/gui/model/domain/Execution.java
rename to src/main/java/kieker/gui/common/domain/Execution.java
index 3fe50c15..1fccf080 100644
--- a/src/main/java/kieker/gui/model/domain/Execution.java
+++ b/src/main/java/kieker/gui/common/domain/Execution.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.domain;
+package kieker.gui.common.domain;
 
 import java.util.Iterator;
 
diff --git a/src/main/java/kieker/gui/model/domain/Record.java b/src/main/java/kieker/gui/common/domain/Record.java
similarity index 97%
rename from src/main/java/kieker/gui/model/domain/Record.java
rename to src/main/java/kieker/gui/common/domain/Record.java
index 673e4a0d..cfbfdfe3 100644
--- a/src/main/java/kieker/gui/model/domain/Record.java
+++ b/src/main/java/kieker/gui/common/domain/Record.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.domain;
+package kieker.gui.common.domain;
 
 /**
  * A simplified representation of a monitoring record.
diff --git a/src/main/java/kieker/gui/model/importer/ImportAnalysisConfiguration.java b/src/main/java/kieker/gui/common/importer/ImportAnalysisConfiguration.java
similarity index 92%
rename from src/main/java/kieker/gui/model/importer/ImportAnalysisConfiguration.java
rename to src/main/java/kieker/gui/common/importer/ImportAnalysisConfiguration.java
index 61bf4fdf..92e0aa22 100644
--- a/src/main/java/kieker/gui/model/importer/ImportAnalysisConfiguration.java
+++ b/src/main/java/kieker/gui/common/importer/ImportAnalysisConfiguration.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer;
+package kieker.gui.common.importer;
 
 import java.io.File;
 import java.util.List;
@@ -23,16 +23,16 @@ import java.util.Vector;
 import kieker.common.record.IMonitoringRecord;
 import kieker.common.record.flow.IFlowRecord;
 import kieker.common.record.misc.KiekerMetadataRecord;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.model.domain.Record;
-import kieker.gui.model.importer.stages.FailedAggregatedTraceFilter;
-import kieker.gui.model.importer.stages.FailedTraceFilter;
-import kieker.gui.model.importer.stages.FailureContainingAggregatedTraceFilter;
-import kieker.gui.model.importer.stages.FailureContainingTraceFilter;
-import kieker.gui.model.importer.stages.RecordSimplificator;
-import kieker.gui.model.importer.stages.TraceAggregator;
-import kieker.gui.model.importer.stages.TraceReconstructor;
+import kieker.gui.common.domain.AggregatedExecution;
+import kieker.gui.common.domain.Execution;
+import kieker.gui.common.domain.Record;
+import kieker.gui.common.importer.stages.FailedAggregatedTraceFilter;
+import kieker.gui.common.importer.stages.FailedTraceFilter;
+import kieker.gui.common.importer.stages.FailureContainingAggregatedTraceFilter;
+import kieker.gui.common.importer.stages.FailureContainingTraceFilter;
+import kieker.gui.common.importer.stages.RecordSimplificator;
+import kieker.gui.common.importer.stages.TraceAggregator;
+import kieker.gui.common.importer.stages.TraceReconstructor;
 import teetime.framework.AnalysisConfiguration;
 import teetime.framework.pipe.IPipeFactory;
 import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering;
diff --git a/src/main/java/kieker/gui/model/importer/stages/FailedAggregatedTraceFilter.java b/src/main/java/kieker/gui/common/importer/stages/FailedAggregatedTraceFilter.java
similarity index 93%
rename from src/main/java/kieker/gui/model/importer/stages/FailedAggregatedTraceFilter.java
rename to src/main/java/kieker/gui/common/importer/stages/FailedAggregatedTraceFilter.java
index 3b360120..c8958943 100644
--- a/src/main/java/kieker/gui/model/importer/stages/FailedAggregatedTraceFilter.java
+++ b/src/main/java/kieker/gui/common/importer/stages/FailedAggregatedTraceFilter.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.domain.AggregatedExecution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/FailedTraceFilter.java b/src/main/java/kieker/gui/common/importer/stages/FailedTraceFilter.java
similarity index 93%
rename from src/main/java/kieker/gui/model/importer/stages/FailedTraceFilter.java
rename to src/main/java/kieker/gui/common/importer/stages/FailedTraceFilter.java
index 62c0e017..a4039182 100644
--- a/src/main/java/kieker/gui/model/importer/stages/FailedTraceFilter.java
+++ b/src/main/java/kieker/gui/common/importer/stages/FailedTraceFilter.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.Execution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/FailureContainingAggregatedTraceFilter.java b/src/main/java/kieker/gui/common/importer/stages/FailureContainingAggregatedTraceFilter.java
similarity index 93%
rename from src/main/java/kieker/gui/model/importer/stages/FailureContainingAggregatedTraceFilter.java
rename to src/main/java/kieker/gui/common/importer/stages/FailureContainingAggregatedTraceFilter.java
index bf4a071a..352d4cb2 100644
--- a/src/main/java/kieker/gui/model/importer/stages/FailureContainingAggregatedTraceFilter.java
+++ b/src/main/java/kieker/gui/common/importer/stages/FailureContainingAggregatedTraceFilter.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.domain.AggregatedExecution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/FailureContainingTraceFilter.java b/src/main/java/kieker/gui/common/importer/stages/FailureContainingTraceFilter.java
similarity index 93%
rename from src/main/java/kieker/gui/model/importer/stages/FailureContainingTraceFilter.java
rename to src/main/java/kieker/gui/common/importer/stages/FailureContainingTraceFilter.java
index 9293e0c5..6ce1c1be 100644
--- a/src/main/java/kieker/gui/model/importer/stages/FailureContainingTraceFilter.java
+++ b/src/main/java/kieker/gui/common/importer/stages/FailureContainingTraceFilter.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.Execution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/RecordSimplificator.java b/src/main/java/kieker/gui/common/importer/stages/RecordSimplificator.java
similarity index 95%
rename from src/main/java/kieker/gui/model/importer/stages/RecordSimplificator.java
rename to src/main/java/kieker/gui/common/importer/stages/RecordSimplificator.java
index 45e68aa5..8a455e86 100644
--- a/src/main/java/kieker/gui/model/importer/stages/RecordSimplificator.java
+++ b/src/main/java/kieker/gui/common/importer/stages/RecordSimplificator.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
 import kieker.common.record.IMonitoringRecord;
-import kieker.gui.model.domain.Record;
+import kieker.gui.common.domain.Record;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/TraceAggregator.java b/src/main/java/kieker/gui/common/importer/stages/TraceAggregator.java
similarity index 93%
rename from src/main/java/kieker/gui/model/importer/stages/TraceAggregator.java
rename to src/main/java/kieker/gui/common/importer/stages/TraceAggregator.java
index a02c8c0e..15f94627 100644
--- a/src/main/java/kieker/gui/model/importer/stages/TraceAggregator.java
+++ b/src/main/java/kieker/gui/common/importer/stages/TraceAggregator.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
 import java.util.HashMap;
 import java.util.Map;
 
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.AggregatedExecution;
+import kieker.gui.common.domain.Execution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/TraceReconstructor.java b/src/main/java/kieker/gui/common/importer/stages/TraceReconstructor.java
similarity index 98%
rename from src/main/java/kieker/gui/model/importer/stages/TraceReconstructor.java
rename to src/main/java/kieker/gui/common/importer/stages/TraceReconstructor.java
index cfd54850..b2c1a5a7 100644
--- a/src/main/java/kieker/gui/model/importer/stages/TraceReconstructor.java
+++ b/src/main/java/kieker/gui/common/importer/stages/TraceReconstructor.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
 import java.util.Deque;
 import java.util.HashMap;
@@ -27,7 +27,7 @@ import kieker.common.record.flow.trace.operation.AbstractOperationEvent;
 import kieker.common.record.flow.trace.operation.AfterOperationEvent;
 import kieker.common.record.flow.trace.operation.AfterOperationFailedEvent;
 import kieker.common.record.flow.trace.operation.BeforeOperationEvent;
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.Execution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/view/MainView.java b/src/main/java/kieker/gui/mainview/MainView.java
similarity index 98%
rename from src/main/java/kieker/gui/view/MainView.java
rename to src/main/java/kieker/gui/mainview/MainView.java
index 493ad1ec..64c72819 100644
--- a/src/main/java/kieker/gui/view/MainView.java
+++ b/src/main/java/kieker/gui/mainview/MainView.java
@@ -14,14 +14,13 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view;
+package kieker.gui.mainview;
 
 import java.util.Observable;
 import java.util.Observer;
 
-import kieker.gui.controller.MainViewController;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.MainViewModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubView;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
diff --git a/src/main/java/kieker/gui/controller/MainViewController.java b/src/main/java/kieker/gui/mainview/MainViewController.java
similarity index 88%
rename from src/main/java/kieker/gui/controller/MainViewController.java
rename to src/main/java/kieker/gui/mainview/MainViewController.java
index 84440f3b..c265b005 100644
--- a/src/main/java/kieker/gui/controller/MainViewController.java
+++ b/src/main/java/kieker/gui/mainview/MainViewController.java
@@ -14,14 +14,20 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
-
-import kieker.gui.model.DataModel;
-import kieker.gui.model.MainViewModel;
-import kieker.gui.model.MainViewModel.SubView;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.view.ISubView;
-import kieker.gui.view.MainView;
+package kieker.gui.mainview;
+
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.mainview.MainViewModel.SubView;
+import kieker.gui.subview.aggregatedtraces.AggregatedFailedTracesSubViewController;
+import kieker.gui.subview.aggregatedtraces.AggregatedTracesSubViewController;
+import kieker.gui.subview.aggregatedtraces.FailureContainingAggregatedTracesSubViewController;
+import kieker.gui.subview.records.RecordsSubViewController;
+import kieker.gui.subview.traces.FailedTracesSubViewController;
+import kieker.gui.subview.traces.FailureContainingTracesSubViewController;
+import kieker.gui.subview.traces.TracesSubViewController;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/model/MainViewModel.java b/src/main/java/kieker/gui/mainview/MainViewModel.java
similarity index 98%
rename from src/main/java/kieker/gui/model/MainViewModel.java
rename to src/main/java/kieker/gui/mainview/MainViewModel.java
index 68158107..f79ee70d 100644
--- a/src/main/java/kieker/gui/model/MainViewModel.java
+++ b/src/main/java/kieker/gui/mainview/MainViewModel.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model;
+package kieker.gui.mainview;
 
 import java.util.Observable;
 
diff --git a/src/main/java/kieker/gui/controller/AggregatedFailedTracesSubViewController.java b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedFailedTracesSubViewController.java
similarity index 85%
rename from src/main/java/kieker/gui/controller/AggregatedFailedTracesSubViewController.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedFailedTracesSubViewController.java
index f2e475a2..56f6a417 100644
--- a/src/main/java/kieker/gui/controller/AggregatedFailedTracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedFailedTracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.aggregatedtraces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.AggregatedTracesSubViewModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.view.AggregatedTracesSubView;
-import kieker.gui.view.ISubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/view/AggregatedTracesSubView.java b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubView.java
similarity index 94%
rename from src/main/java/kieker/gui/view/AggregatedTracesSubView.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubView.java
index a4a08f2f..58d2570d 100644
--- a/src/main/java/kieker/gui/view/AggregatedTracesSubView.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubView.java
@@ -14,25 +14,25 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view;
+package kieker.gui.subview.aggregatedtraces;
 
 import java.util.List;
 import java.util.Observable;
 import java.util.Observer;
 
-import kieker.gui.model.AggregatedTracesSubViewModel;
-import kieker.gui.model.IModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.view.util.AggregatedExecutionAvgDurationComparator;
-import kieker.gui.view.util.AggregatedExecutionCallComparator;
-import kieker.gui.view.util.AggregatedExecutionMaxDurationComparator;
-import kieker.gui.view.util.AggregatedExecutionMinDurationComparator;
-import kieker.gui.view.util.AggregatedExecutionTotalDurationComparator;
-import kieker.gui.view.util.ExecutionComponentComparator;
-import kieker.gui.view.util.ExecutionContainerComparator;
-import kieker.gui.view.util.ExecutionOperationComparator;
-import kieker.gui.view.util.TreeColumnSortListener;
+import kieker.gui.common.IModel;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.TreeColumnSortListener;
+import kieker.gui.common.domain.AggregatedExecution;
+import kieker.gui.subview.aggregatedtraces.util.AggregatedExecutionAvgDurationComparator;
+import kieker.gui.subview.aggregatedtraces.util.AggregatedExecutionCallComparator;
+import kieker.gui.subview.aggregatedtraces.util.AggregatedExecutionMaxDurationComparator;
+import kieker.gui.subview.aggregatedtraces.util.AggregatedExecutionMinDurationComparator;
+import kieker.gui.subview.aggregatedtraces.util.AggregatedExecutionTotalDurationComparator;
+import kieker.gui.subview.traces.util.ExecutionComponentComparator;
+import kieker.gui.subview.traces.util.ExecutionContainerComparator;
+import kieker.gui.subview.traces.util.ExecutionOperationComparator;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
diff --git a/src/main/java/kieker/gui/controller/AggregatedTracesSubViewController.java b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewController.java
similarity index 85%
rename from src/main/java/kieker/gui/controller/AggregatedTracesSubViewController.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewController.java
index 111e16e8..6a1e55a8 100644
--- a/src/main/java/kieker/gui/controller/AggregatedTracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.aggregatedtraces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.AggregatedTracesSubViewModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.view.AggregatedTracesSubView;
-import kieker.gui.view.ISubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/model/AggregatedTracesSubViewModel.java b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewModel.java
similarity index 92%
rename from src/main/java/kieker/gui/model/AggregatedTracesSubViewModel.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewModel.java
index 4d7199f4..d505a8ed 100644
--- a/src/main/java/kieker/gui/model/AggregatedTracesSubViewModel.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewModel.java
@@ -16,11 +16,11 @@ kieker-monitoring.net)
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model;
+package kieker.gui.subview.aggregatedtraces;
 
 import java.util.Observable;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.domain.AggregatedExecution;
 
 public final class AggregatedTracesSubViewModel extends Observable {
 
diff --git a/src/main/java/kieker/gui/controller/FailureContainingAggregatedTracesSubViewController.java b/src/main/java/kieker/gui/subview/aggregatedtraces/FailureContainingAggregatedTracesSubViewController.java
similarity index 85%
rename from src/main/java/kieker/gui/controller/FailureContainingAggregatedTracesSubViewController.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/FailureContainingAggregatedTracesSubViewController.java
index af999e30..5ca5406b 100644
--- a/src/main/java/kieker/gui/controller/FailureContainingAggregatedTracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/FailureContainingAggregatedTracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.aggregatedtraces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.AggregatedTracesSubViewModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.view.AggregatedTracesSubView;
-import kieker.gui.view.ISubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/view/util/AggregatedExecutionAvgDurationComparator.java b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionAvgDurationComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/AggregatedExecutionAvgDurationComparator.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionAvgDurationComparator.java
index 4ad8a57c..85ea757c 100644
--- a/src/main/java/kieker/gui/view/util/AggregatedExecutionAvgDurationComparator.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionAvgDurationComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.aggregatedtraces.util;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/AggregatedExecutionCallComparator.java b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionCallComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/AggregatedExecutionCallComparator.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionCallComparator.java
index 74a4a0bc..3efcedbc 100644
--- a/src/main/java/kieker/gui/view/util/AggregatedExecutionCallComparator.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionCallComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.aggregatedtraces.util;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/AggregatedExecutionMaxDurationComparator.java b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMaxDurationComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/AggregatedExecutionMaxDurationComparator.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMaxDurationComparator.java
index 8b3a4825..d8fb4520 100644
--- a/src/main/java/kieker/gui/view/util/AggregatedExecutionMaxDurationComparator.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMaxDurationComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.aggregatedtraces.util;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/AggregatedExecutionMinDurationComparator.java b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMinDurationComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/AggregatedExecutionMinDurationComparator.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMinDurationComparator.java
index 3f2bf7a4..5e7635ad 100644
--- a/src/main/java/kieker/gui/view/util/AggregatedExecutionMinDurationComparator.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMinDurationComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.aggregatedtraces.util;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/AggregatedExecutionTotalDurationComparator.java b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionTotalDurationComparator.java
similarity index 72%
rename from src/main/java/kieker/gui/view/util/AggregatedExecutionTotalDurationComparator.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionTotalDurationComparator.java
index 9f78ef5b..6e1662a9 100644
--- a/src/main/java/kieker/gui/view/util/AggregatedExecutionTotalDurationComparator.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionTotalDurationComparator.java
@@ -1,6 +1,7 @@
-package kieker.gui.view.util;
+package kieker.gui.subview.aggregatedtraces.util;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/RecordsSubView.java b/src/main/java/kieker/gui/subview/records/RecordsSubView.java
similarity index 92%
rename from src/main/java/kieker/gui/view/RecordsSubView.java
rename to src/main/java/kieker/gui/subview/records/RecordsSubView.java
index b9904e5a..f8ff2535 100644
--- a/src/main/java/kieker/gui/view/RecordsSubView.java
+++ b/src/main/java/kieker/gui/subview/records/RecordsSubView.java
@@ -14,18 +14,18 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view;
+package kieker.gui.subview.records;
 
 import java.util.List;
 import java.util.Observable;
 import java.util.Observer;
 
-import kieker.gui.controller.RecordsSubViewController;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.domain.Record;
-import kieker.gui.view.util.RecordTimestampComparator;
-import kieker.gui.view.util.RecordTypeComparator;
-import kieker.gui.view.util.TableColumnSortListener;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.TableColumnSortListener;
+import kieker.gui.common.domain.Record;
+import kieker.gui.subview.records.util.RecordTimestampComparator;
+import kieker.gui.subview.records.util.RecordTypeComparator;
 
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.swt.SWT;
diff --git a/src/main/java/kieker/gui/controller/RecordsSubViewController.java b/src/main/java/kieker/gui/subview/records/RecordsSubViewController.java
similarity index 88%
rename from src/main/java/kieker/gui/controller/RecordsSubViewController.java
rename to src/main/java/kieker/gui/subview/records/RecordsSubViewController.java
index f671060f..a9664392 100644
--- a/src/main/java/kieker/gui/controller/RecordsSubViewController.java
+++ b/src/main/java/kieker/gui/subview/records/RecordsSubViewController.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.records;
 
-import kieker.gui.model.DataModel;
-import kieker.gui.view.ISubView;
-import kieker.gui.view.RecordsSubView;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
 
 /**
  * The sub-controller responsible for the sub-view presenting the available records.
diff --git a/src/main/java/kieker/gui/view/util/RecordTimestampComparator.java b/src/main/java/kieker/gui/subview/records/util/RecordTimestampComparator.java
similarity index 89%
rename from src/main/java/kieker/gui/view/util/RecordTimestampComparator.java
rename to src/main/java/kieker/gui/subview/records/util/RecordTimestampComparator.java
index 36e10c0d..0d6da9d3 100644
--- a/src/main/java/kieker/gui/view/util/RecordTimestampComparator.java
+++ b/src/main/java/kieker/gui/subview/records/util/RecordTimestampComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.records.util;
 
-import kieker.gui.model.domain.Record;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.Record;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/RecordTypeComparator.java b/src/main/java/kieker/gui/subview/records/util/RecordTypeComparator.java
similarity index 89%
rename from src/main/java/kieker/gui/view/util/RecordTypeComparator.java
rename to src/main/java/kieker/gui/subview/records/util/RecordTypeComparator.java
index 92055188..bd9989af 100644
--- a/src/main/java/kieker/gui/view/util/RecordTypeComparator.java
+++ b/src/main/java/kieker/gui/subview/records/util/RecordTypeComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.records.util;
 
-import kieker.gui.model.domain.Record;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.Record;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/controller/FailedTracesSubViewController.java b/src/main/java/kieker/gui/subview/traces/FailedTracesSubViewController.java
similarity index 86%
rename from src/main/java/kieker/gui/controller/FailedTracesSubViewController.java
rename to src/main/java/kieker/gui/subview/traces/FailedTracesSubViewController.java
index efd3588f..befa9cf5 100644
--- a/src/main/java/kieker/gui/controller/FailedTracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/traces/FailedTracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.traces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.TracesSubViewModel;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.view.ISubView;
-import kieker.gui.view.TracesSubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.Execution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/controller/FailureContainingTracesSubViewController.java b/src/main/java/kieker/gui/subview/traces/FailureContainingTracesSubViewController.java
similarity index 86%
rename from src/main/java/kieker/gui/controller/FailureContainingTracesSubViewController.java
rename to src/main/java/kieker/gui/subview/traces/FailureContainingTracesSubViewController.java
index 3f8b340b..09d08d1e 100644
--- a/src/main/java/kieker/gui/controller/FailureContainingTracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/traces/FailureContainingTracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.traces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.TracesSubViewModel;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.view.ISubView;
-import kieker.gui.view.TracesSubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.Execution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/view/TracesSubView.java b/src/main/java/kieker/gui/subview/traces/TracesSubView.java
similarity index 95%
rename from src/main/java/kieker/gui/view/TracesSubView.java
rename to src/main/java/kieker/gui/subview/traces/TracesSubView.java
index 34c5a6fb..49c391d1 100644
--- a/src/main/java/kieker/gui/view/TracesSubView.java
+++ b/src/main/java/kieker/gui/subview/traces/TracesSubView.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view;
+package kieker.gui.subview.traces;
 
 import java.util.List;
 import java.util.Observable;
 import java.util.Observer;
 
-import kieker.gui.model.IModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.TracesSubViewModel;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.view.util.ExecutionComponentComparator;
-import kieker.gui.view.util.ExecutionContainerComparator;
-import kieker.gui.view.util.ExecutionDurationComparator;
-import kieker.gui.view.util.ExecutionOperationComparator;
-import kieker.gui.view.util.ExecutionTraceIDComparator;
-import kieker.gui.view.util.TreeColumnSortListener;
+import kieker.gui.common.IModel;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.TreeColumnSortListener;
+import kieker.gui.common.domain.Execution;
+import kieker.gui.subview.traces.util.ExecutionComponentComparator;
+import kieker.gui.subview.traces.util.ExecutionContainerComparator;
+import kieker.gui.subview.traces.util.ExecutionDurationComparator;
+import kieker.gui.subview.traces.util.ExecutionOperationComparator;
+import kieker.gui.subview.traces.util.ExecutionTraceIDComparator;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
diff --git a/src/main/java/kieker/gui/controller/TracesSubViewController.java b/src/main/java/kieker/gui/subview/traces/TracesSubViewController.java
similarity index 86%
rename from src/main/java/kieker/gui/controller/TracesSubViewController.java
rename to src/main/java/kieker/gui/subview/traces/TracesSubViewController.java
index dda0c8af..ed8d6b7e 100644
--- a/src/main/java/kieker/gui/controller/TracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/traces/TracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.traces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.TracesSubViewModel;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.view.ISubView;
-import kieker.gui.view.TracesSubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.Execution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/model/TracesSubViewModel.java b/src/main/java/kieker/gui/subview/traces/TracesSubViewModel.java
similarity index 93%
rename from src/main/java/kieker/gui/model/TracesSubViewModel.java
rename to src/main/java/kieker/gui/subview/traces/TracesSubViewModel.java
index ab967ebc..2a00dc1c 100644
--- a/src/main/java/kieker/gui/model/TracesSubViewModel.java
+++ b/src/main/java/kieker/gui/subview/traces/TracesSubViewModel.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model;
+package kieker.gui.subview.traces;
 
 import java.util.Observable;
 
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.Execution;
 
 public final class TracesSubViewModel extends Observable {
 
diff --git a/src/main/java/kieker/gui/view/util/ExecutionComponentComparator.java b/src/main/java/kieker/gui/subview/traces/util/ExecutionComponentComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/ExecutionComponentComparator.java
rename to src/main/java/kieker/gui/subview/traces/util/ExecutionComponentComparator.java
index b308ed1a..7717cfa7 100644
--- a/src/main/java/kieker/gui/view/util/ExecutionComponentComparator.java
+++ b/src/main/java/kieker/gui/subview/traces/util/ExecutionComponentComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.traces.util;
 
-import kieker.gui.model.domain.AbstractExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AbstractExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/ExecutionContainerComparator.java b/src/main/java/kieker/gui/subview/traces/util/ExecutionContainerComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/ExecutionContainerComparator.java
rename to src/main/java/kieker/gui/subview/traces/util/ExecutionContainerComparator.java
index c1b0516a..9e1c1b00 100644
--- a/src/main/java/kieker/gui/view/util/ExecutionContainerComparator.java
+++ b/src/main/java/kieker/gui/subview/traces/util/ExecutionContainerComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.traces.util;
 
-import kieker.gui.model.domain.AbstractExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AbstractExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/ExecutionDurationComparator.java b/src/main/java/kieker/gui/subview/traces/util/ExecutionDurationComparator.java
similarity index 89%
rename from src/main/java/kieker/gui/view/util/ExecutionDurationComparator.java
rename to src/main/java/kieker/gui/subview/traces/util/ExecutionDurationComparator.java
index 2e566209..a9d00945 100644
--- a/src/main/java/kieker/gui/view/util/ExecutionDurationComparator.java
+++ b/src/main/java/kieker/gui/subview/traces/util/ExecutionDurationComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.traces.util;
 
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.Execution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/ExecutionOperationComparator.java b/src/main/java/kieker/gui/subview/traces/util/ExecutionOperationComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/ExecutionOperationComparator.java
rename to src/main/java/kieker/gui/subview/traces/util/ExecutionOperationComparator.java
index 1a0f2e66..8898978c 100644
--- a/src/main/java/kieker/gui/view/util/ExecutionOperationComparator.java
+++ b/src/main/java/kieker/gui/subview/traces/util/ExecutionOperationComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.traces.util;
 
-import kieker.gui.model.domain.AbstractExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AbstractExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/ExecutionTraceIDComparator.java b/src/main/java/kieker/gui/subview/traces/util/ExecutionTraceIDComparator.java
similarity index 89%
rename from src/main/java/kieker/gui/view/util/ExecutionTraceIDComparator.java
rename to src/main/java/kieker/gui/subview/traces/util/ExecutionTraceIDComparator.java
index ea31cb39..58b83111 100644
--- a/src/main/java/kieker/gui/view/util/ExecutionTraceIDComparator.java
+++ b/src/main/java/kieker/gui/subview/traces/util/ExecutionTraceIDComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.traces.util;
 
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.Execution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/test/java/kieker/gui/model/importer/stages/RecordSimplificatorTest.java b/src/test/java/kieker/gui/common/importer/stages/RecordSimplificatorTest.java
similarity index 91%
rename from src/test/java/kieker/gui/model/importer/stages/RecordSimplificatorTest.java
rename to src/test/java/kieker/gui/common/importer/stages/RecordSimplificatorTest.java
index 8277b753..3fac242a 100644
--- a/src/test/java/kieker/gui/model/importer/stages/RecordSimplificatorTest.java
+++ b/src/test/java/kieker/gui/common/importer/stages/RecordSimplificatorTest.java
@@ -1,4 +1,4 @@
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
 import static org.hamcrest.Matchers.hasSize;
 import static org.hamcrest.Matchers.is;
@@ -8,7 +8,8 @@ import java.util.ArrayList;
 import java.util.List;
 
 import kieker.common.record.flow.trace.operation.BeforeOperationEvent;
-import kieker.gui.model.domain.Record;
+import kieker.gui.common.domain.Record;
+import kieker.gui.common.importer.stages.RecordSimplificator;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/kieker/gui/model/importer/stages/TraceReconstructorTest.java b/src/test/java/kieker/gui/common/importer/stages/TraceReconstructorTest.java
similarity index 97%
rename from src/test/java/kieker/gui/model/importer/stages/TraceReconstructorTest.java
rename to src/test/java/kieker/gui/common/importer/stages/TraceReconstructorTest.java
index a008e929..c344c0d5 100644
--- a/src/test/java/kieker/gui/model/importer/stages/TraceReconstructorTest.java
+++ b/src/test/java/kieker/gui/common/importer/stages/TraceReconstructorTest.java
@@ -1,4 +1,4 @@
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
 import static org.hamcrest.Matchers.hasSize;
 import static org.hamcrest.Matchers.is;
@@ -12,7 +12,8 @@ import kieker.common.record.flow.trace.TraceMetadata;
 import kieker.common.record.flow.trace.operation.AfterOperationEvent;
 import kieker.common.record.flow.trace.operation.AfterOperationFailedEvent;
 import kieker.common.record.flow.trace.operation.BeforeOperationEvent;
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.Execution;
+import kieker.gui.common.importer.stages.TraceReconstructor;
 
 import org.junit.Before;
 import org.junit.Test;
-- 
GitLab