From 156d21fe9667dce8d19a33f49750202e1db33c58 Mon Sep 17 00:00:00 2001
From: Nils Christian Ehmke <nie@informatik.uni-kiel.de>
Date: Wed, 17 Dec 2014 17:09:53 +0100
Subject: [PATCH] Moved more logic from the main view to the main controller.
---
.../java/kieker/gui/mainview/Controller.java | 41 +++++++-----
src/main/java/kieker/gui/mainview/Model.java | 14 ++--
src/main/java/kieker/gui/mainview/View.java | 67 ++++---------------
3 files changed, 41 insertions(+), 81 deletions(-)
diff --git a/src/main/java/kieker/gui/mainview/Controller.java b/src/main/java/kieker/gui/mainview/Controller.java
index 0b0a9279..0026df57 100644
--- a/src/main/java/kieker/gui/mainview/Controller.java
+++ b/src/main/java/kieker/gui/mainview/Controller.java
@@ -16,9 +16,11 @@
package kieker.gui.mainview;
+import java.util.HashMap;
+import java.util.Map;
+
import kieker.gui.common.model.DataModel;
import kieker.gui.common.model.PropertiesModel;
-import kieker.gui.mainview.Model.SubView;
import kieker.gui.subview.ISubController;
import kieker.gui.subview.ISubView;
@@ -53,17 +55,18 @@ public final class Controller implements SelectionListener {
final ISubController subViewController7 = new kieker.gui.subview.aggregatedtraces.FailureController(this.dataModel, this.propertiesModel);
// Get the sub-views from the controllers
- final ISubView subView1 = subViewController1.getView();
- final ISubView subView2 = subViewController2.getView();
- final ISubView subView3 = subViewController3.getView();
- final ISubView subView4 = subViewController4.getView();
- final ISubView subView5 = subViewController5.getView();
- final ISubView subView6 = subViewController6.getView();
- final ISubView subView7 = subViewController7.getView();
+ final Map<String, ISubView> subViews = new HashMap<>();
+ subViews.put(SubView.RECORDS_SUB_VIEW.name(), subViewController1.getView());
+ subViews.put(SubView.AGGREGATED_TRACES_SUB_VIEW.name(), subViewController2.getView());
+ subViews.put(SubView.FAILED_TRACES_SUB_VIEW.name(), subViewController3.getView());
+ subViews.put(SubView.TRACES_SUB_VIEW.name(), subViewController4.getView());
+ subViews.put(SubView.FAILURE_CONTAINING_TRACES_SUB_VIEW.name(), subViewController5.getView());
+ subViews.put(SubView.FAILED_AGGREGATED_TRACES_SUB_VIEW.name(), subViewController6.getView());
+ subViews.put(SubView.FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW.name(), subViewController7.getView());
// Create the main model and the main view
this.mainViewModel = new Model();
- this.mainView = new View(this.dataModel, this.mainViewModel, this, subView1, subView2, subView3, subView4, subView5, subView6, subView7);
+ this.mainView = new View(this.dataModel, this.mainViewModel, this, subViews);
}
public void showView() {
@@ -108,28 +111,28 @@ public final class Controller implements SelectionListener {
private void handlePotentialTreeSelection(final SelectionEvent e) {
if (e.item == this.mainView.getTrtmExplorer()) {
- this.mainViewModel.setCurrentActiveSubView(SubView.NONE);
+ this.mainViewModel.setCurrentActiveSubView(SubView.NONE.name());
}
if (e.item == this.mainView.getTrtmRecords()) {
- this.mainViewModel.setCurrentActiveSubView(SubView.RECORDS_SUB_VIEW);
+ this.mainViewModel.setCurrentActiveSubView(SubView.RECORDS_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmTraces()) {
- this.mainViewModel.setCurrentActiveSubView(SubView.TRACES_SUB_VIEW);
+ this.mainViewModel.setCurrentActiveSubView(SubView.TRACES_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmAggregatedTraces()) {
- this.mainViewModel.setCurrentActiveSubView(SubView.AGGREGATED_TRACES_SUB_VIEW);
+ this.mainViewModel.setCurrentActiveSubView(SubView.AGGREGATED_TRACES_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmJustFailedTraces()) {
- this.mainViewModel.setCurrentActiveSubView(SubView.FAILED_TRACES_SUB_VIEW);
+ this.mainViewModel.setCurrentActiveSubView(SubView.FAILED_TRACES_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmJustTracesContaining()) {
- this.mainViewModel.setCurrentActiveSubView(SubView.FAILURE_CONTAINING_TRACES_SUB_VIEW);
+ this.mainViewModel.setCurrentActiveSubView(SubView.FAILURE_CONTAINING_TRACES_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmJustFailedAggTraces()) {
- this.mainViewModel.setCurrentActiveSubView(SubView.FAILED_AGGREGATED_TRACES_SUB_VIEW);
+ this.mainViewModel.setCurrentActiveSubView(SubView.FAILED_AGGREGATED_TRACES_SUB_VIEW.name());
}
if (e.item == this.mainView.getTrtmJustAggTracesContaining()) {
- this.mainViewModel.setCurrentActiveSubView(SubView.FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW);
+ this.mainViewModel.setCurrentActiveSubView(SubView.FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW.name());
}
}
@@ -138,4 +141,8 @@ public final class Controller implements SelectionListener {
// Nothing to do here. This method is just required by the interface.
}
+ public enum SubView {
+ RECORDS_SUB_VIEW, TRACES_SUB_VIEW, FAILED_TRACES_SUB_VIEW, AGGREGATED_TRACES_SUB_VIEW, NONE, FAILURE_CONTAINING_TRACES_SUB_VIEW, FAILED_AGGREGATED_TRACES_SUB_VIEW, FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW
+ }
+
}
diff --git a/src/main/java/kieker/gui/mainview/Model.java b/src/main/java/kieker/gui/mainview/Model.java
index 9d9751d0..a3d5a348 100644
--- a/src/main/java/kieker/gui/mainview/Model.java
+++ b/src/main/java/kieker/gui/mainview/Model.java
@@ -20,21 +20,17 @@ import java.util.Observable;
public final class Model extends Observable {
- private SubView currentActiveSubView = SubView.NONE;
+ private String currentActiveSubViewKey = "";
- public SubView getCurrentActiveSubView() {
- return this.currentActiveSubView;
+ public String getCurrentActiveSubViewKey() {
+ return this.currentActiveSubViewKey;
}
- public void setCurrentActiveSubView(final SubView currentActiveSubView) {
- this.currentActiveSubView = currentActiveSubView;
+ public void setCurrentActiveSubView(final String currentActiveSubViewKey) {
+ this.currentActiveSubViewKey = currentActiveSubViewKey;
this.setChanged();
this.notifyObservers();
}
- public enum SubView {
- RECORDS_SUB_VIEW, TRACES_SUB_VIEW, FAILED_TRACES_SUB_VIEW, AGGREGATED_TRACES_SUB_VIEW, NONE, FAILURE_CONTAINING_TRACES_SUB_VIEW, FAILED_AGGREGATED_TRACES_SUB_VIEW, FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW
- }
-
}
diff --git a/src/main/java/kieker/gui/mainview/View.java b/src/main/java/kieker/gui/mainview/View.java
index b8aa552a..13e09a6e 100644
--- a/src/main/java/kieker/gui/mainview/View.java
+++ b/src/main/java/kieker/gui/mainview/View.java
@@ -16,6 +16,7 @@
package kieker.gui.mainview;
+import java.util.Map;
import java.util.Observable;
import java.util.Observer;
@@ -39,14 +40,8 @@ public class View implements Observer {
private final DataModel dataModel;
private final Model mainViewModel;
- private final ISubView recordsSubView;
- private final ISubView tracesSubView;
- private final ISubView failedTracesSubView;
- private final ISubView aggregatedTracesSubView;
- private final ISubView failureContainingTracesSubView;
- private final ISubView subView6;
- private final ISubView subView7;
private final Controller controller;
+ private final Map<String, ISubView> subViews;
private Shell shell;
private Composite subViewComposite;
@@ -69,18 +64,10 @@ public class View implements Observer {
private TreeItem trtmJustFailedAggTraces;
private TreeItem trtmJustAggTracesContaining;
- public View(final DataModel dataModel, final Model mainViewModel, final Controller controller, final ISubView recordsSubView, final ISubView tracesSubView,
- final ISubView failedTracesSubView, final ISubView aggregatedTracesSubView, final ISubView failureContainingTracesSubView, final ISubView subView6,
- final ISubView subView7) {
+ public View(final DataModel dataModel, final Model mainViewModel, final Controller controller, final Map<String, ISubView> subViews) {
this.dataModel = dataModel;
this.mainViewModel = mainViewModel;
- this.recordsSubView = recordsSubView;
- this.tracesSubView = tracesSubView;
- this.failureContainingTracesSubView = failureContainingTracesSubView;
- this.failedTracesSubView = failedTracesSubView;
- this.aggregatedTracesSubView = aggregatedTracesSubView;
- this.subView6 = subView6;
- this.subView7 = subView7;
+ this.subViews = subViews;
this.controller = controller;
}
@@ -214,13 +201,9 @@ public class View implements Observer {
this.subViewComposite.setLayout(this.subViewLayout);
sashForm.setWeights(new int[] { 1, 4 });
- this.recordsSubView.createComposite(this.subViewComposite);
- this.tracesSubView.createComposite(this.subViewComposite);
- this.failedTracesSubView.createComposite(this.subViewComposite);
- this.aggregatedTracesSubView.createComposite(this.subViewComposite);
- this.failureContainingTracesSubView.createComposite(this.subViewComposite);
- this.subView6.createComposite(this.subViewComposite);
- this.subView7.createComposite(this.subViewComposite);
+ for (final ISubView subview : this.subViews.values()) {
+ subview.createComposite(this.subViewComposite);
+ }
final Menu menu = new Menu(this.shell, SWT.BAR);
this.shell.setMenuBar(menu);
@@ -288,38 +271,12 @@ public class View implements Observer {
}
private void handleChangedSubView() {
- final Composite subViewToShow;
- switch (this.mainViewModel.getCurrentActiveSubView()) {
- case NONE:
- subViewToShow = null;
- break;
- case RECORDS_SUB_VIEW:
- subViewToShow = this.recordsSubView.getComposite();
- break;
- case TRACES_SUB_VIEW:
- subViewToShow = this.tracesSubView.getComposite();
- break;
- case AGGREGATED_TRACES_SUB_VIEW:
- subViewToShow = this.aggregatedTracesSubView.getComposite();
- break;
- case FAILED_TRACES_SUB_VIEW:
- subViewToShow = this.failedTracesSubView.getComposite();
- break;
- case FAILURE_CONTAINING_TRACES_SUB_VIEW:
- subViewToShow = this.failureContainingTracesSubView.getComposite();
- break;
- case FAILED_AGGREGATED_TRACES_SUB_VIEW:
- subViewToShow = this.subView6.getComposite();
- break;
- case FAILURE_CONTAINING_AGGREGATED_TRACES_SUB_VIEW:
- subViewToShow = this.subView7.getComposite();
- break;
- default:
- subViewToShow = null;
- break;
- }
+ final String subViewKey = this.mainViewModel.getCurrentActiveSubViewKey();
+
+ final ISubView subViewToShow = this.subViews.get(subViewKey);
+ final Composite compositeToShow = (subViewToShow != null) ? subViewToShow.getComposite() : null;
- this.subViewLayout.topControl = subViewToShow;
+ this.subViewLayout.topControl = compositeToShow;
this.subViewComposite.layout();
}
}
--
GitLab