From 3bf0b9d79fdd5e163d42ad7994291357dd56e13c Mon Sep 17 00:00:00 2001
From: Johannes Eder <eder@fortiss.org>
Date: Tue, 11 Aug 2020 14:52:27 +0200
Subject: [PATCH] cleaned up code

Issue-Ref: 4018
Issue-Url: https://af3-developer.fortiss.org/issues/4018

Signed-off-by: Johannes Eder <eder@fortiss.org>
---
 .../kernel/ui/internal/MarkerService.java     | 12 ++--
 .../ErrorViewFXLayoutController.java          | 63 ++++++++-----------
 .../ErrorViewFX/ErrorViewFXViewPart.java      | 10 +--
 .../MarkerViewFXContentProvider.java          | 26 ++++----
 .../ErrorViewFX/MarkerViewFXUIProvider.java   | 20 ++----
 5 files changed, 49 insertions(+), 82 deletions(-)

diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java
index 8d4f727c1..098a2f628 100644
--- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java
+++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java
@@ -43,7 +43,7 @@ import org.fortiss.tooling.kernel.extension.data.ITopLevelElement;
 import org.fortiss.tooling.kernel.service.IConstraintCheckerService;
 import org.fortiss.tooling.kernel.service.IPersistencyService;
 import org.fortiss.tooling.kernel.service.listener.IPersistencyServiceListener;
-import org.fortiss.tooling.kernel.ui.internal.views.ErrorViewFX.ErrorViewFXViewPart;
+import org.fortiss.tooling.kernel.ui.internal.views.ErrorViewFX.ErrorViewFXLayoutController;
 import org.fortiss.tooling.kernel.ui.service.IMarkerService;
 
 /**
@@ -77,8 +77,8 @@ public class MarkerService implements IMarkerService, IPersistencyServiceListene
 	private final UIJob updateUI = new UIJob("Update Model Decorators") {
 		@Override
 		public IStatus runInUIThread(IProgressMonitor monitor) {
-			if(markerView != null) {
-				markerView.refresh();
+			if(markerController != null) {
+				markerController.refresh();
 			}
 			return Status.OK_STATUS;
 		}
@@ -91,7 +91,7 @@ public class MarkerService implements IMarkerService, IPersistencyServiceListene
 	private final List<ITopLevelElement> invalidElements = new LinkedList<ITopLevelElement>();
 
 	/** Stores the marker view. */
-	private ErrorViewFXViewPart markerView;
+	private ErrorViewFXLayoutController markerController;
 
 	/** Stores the constraint checking job. */
 	private final Job constraintCheckerJob = new Job("Model Constraint Checker Job") {
@@ -139,8 +139,8 @@ public class MarkerService implements IMarkerService, IPersistencyServiceListene
 	}
 
 	/** Sets the current marker view. */
-	public void setMarkerViewPart(ErrorViewFXViewPart view) {
-		this.markerView = view;
+	public void setMarkerViewPart(ErrorViewFXLayoutController errorViewFXLayoutController) {
+		this.markerController = errorViewFXLayoutController;
 	}
 
 	/** {@inheritDoc} */
diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/ErrorViewFXLayoutController.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/ErrorViewFXLayoutController.java
index 2d36daaff..9a0fd322a 100644
--- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/ErrorViewFXLayoutController.java
+++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/ErrorViewFXLayoutController.java
@@ -15,9 +15,7 @@
 +--------------------------------------------------------------------------*/
 package org.fortiss.tooling.kernel.ui.internal.views.ErrorViewFX;
 
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 import org.fortiss.tooling.common.ui.javafx.control.treetableview.DynamicTreeContentProviderBase;
@@ -25,6 +23,8 @@ import org.fortiss.tooling.common.ui.javafx.control.treetableview.DynamicTreeTab
 import org.fortiss.tooling.common.ui.javafx.control.treetableview.DynamicTreeTableViewer;
 import org.fortiss.tooling.common.ui.javafx.layout.CompositeFXControllerBase;
 import org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity;
+import org.fortiss.tooling.kernel.ui.internal.MarkerService;
+import org.fortiss.tooling.kernel.ui.service.IMarkerService;
 
 import javafx.fxml.FXML;
 import javafx.scene.Node;
@@ -32,16 +32,10 @@ import javafx.scene.control.CheckBox;
 import javafx.scene.layout.BorderPane;
 
 /**
- * 
- * 
  * Controller class for the "marker view". References the FXML layout and contains all control
- * 
  * logic.
  * 
- * 
- * 
  * @author abid
- * 
  */
 
 public class ErrorViewFXLayoutController extends CompositeFXControllerBase<Node, Node> {
@@ -65,22 +59,16 @@ public class ErrorViewFXLayoutController extends CompositeFXControllerBase<Node,
 	@FXML
 	private BorderPane pane;
 
-	@SuppressWarnings("javadoc")
-	int btnOption = 0;
-
 	/** Toggle State */
-	@SuppressWarnings("unused")
 	private Map<ESeverity, Boolean> toggleState = new HashMap<ESeverity, Boolean>();
+	/** Tree table */
+	private DynamicTreeTableViewer<Object> treeTable;
 
-	/**  */
-	List<ESeverity> SevrList = new ArrayList<ESeverity>();
-
-	/**
-	 * @param toggleState
-	 */
+	/** Constructor. */
 	@SuppressWarnings("unchecked")
 	public ErrorViewFXLayoutController(Map<ESeverity, Boolean> toggleState) {
 		this.toggleState = toggleState;
+		((MarkerService)IMarkerService.getInstance()).setMarkerViewPart(this);
 	}
 
 	/** Called when debug checkbox is pushed. */
@@ -88,9 +76,9 @@ public class ErrorViewFXLayoutController extends CompositeFXControllerBase<Node,
 		if(!debugBtn.isSelected()) {
 			toggleState.put(ESeverity.DEBUG, true);
 		} else {
-			toggleState.remove(ESeverity.DEBUG);
+			toggleState.put(ESeverity.DEBUG, false);
 		}
-		initialize();
+		refresh();
 	}
 
 	/** Called when info check-box is pushed. */
@@ -98,20 +86,19 @@ public class ErrorViewFXLayoutController extends CompositeFXControllerBase<Node,
 		if(infoBtn.isSelected()) {
 			toggleState.put(ESeverity.INFO, true);
 		} else {
-			toggleState.remove(ESeverity.INFO);
+			toggleState.put(ESeverity.INFO, false);
 		}
-		initialize();
+		refresh();
 	}
 
 	/** Called when warning check-box is pushed. */
 	public void onWarningBtn() {
-
 		if(warningBtn.isSelected()) {
 			toggleState.put(ESeverity.WARNING, true);
 		} else {
-			toggleState.remove(ESeverity.WARNING);
+			toggleState.put(ESeverity.WARNING, false);
 		}
-		initialize();
+		refresh();
 	}
 
 	/** Called when error check-box is pushed. */
@@ -119,21 +106,19 @@ public class ErrorViewFXLayoutController extends CompositeFXControllerBase<Node,
 		if(errorBtn.isSelected()) {
 			toggleState.put(ESeverity.ERROR, true);
 		} else {
-			toggleState.remove(ESeverity.ERROR);
+			toggleState.put(ESeverity.ERROR, false);
 		}
-		initialize();
-
+		refresh();
 	}
 
 	/** Called when fatal check-box is pushed. */
 	public void onFatalBtn() {
 		if(fatalBtn.isSelected()) {
 			toggleState.put(ESeverity.FATAL, true);
+		} else {
+			toggleState.put(ESeverity.FATAL, false);
 		}
-		if(fatalBtn.isPressed()) {
-			toggleState.remove(ESeverity.FATAL);
-		}
-		initialize();
+		refresh();
 	}
 
 	/** {@inheritDoc} */
@@ -142,16 +127,18 @@ public class ErrorViewFXLayoutController extends CompositeFXControllerBase<Node,
 		return "ErrorViewFXLayout.fxml";
 	}
 
+	/** Refreshes the tree table. */
+	public void refresh() {
+		treeTable.update();
+	}
+
 	/** {@inheritDoc} */
 	@Override
 	public void initialize() {
-
 		DynamicTreeContentProviderBase<Object> contentProvider = new MarkerViewFXContentProvider();
-		DynamicTreeTableUIProviderBase<Object> uiProvider = new MarkerViewFXUIProvider(this);
-		SevrList.clear();
-		SevrList.addAll(toggleState.keySet());
-		DynamicTreeTableViewer<Object> treeTable =
-				new DynamicTreeTableViewer<Object>(SevrList, false, 2, contentProvider, uiProvider);
+		DynamicTreeTableUIProviderBase<Object> uiProvider = new MarkerViewFXUIProvider();
+		treeTable = new DynamicTreeTableViewer<Object>(toggleState, false, 2, contentProvider,
+				uiProvider);
 		treeTable.addColumn("Severity", 80);
 		treeTable.addColumn("Element", 80);
 		treeTable.addColumn("Explanation", 80);
diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/ErrorViewFXViewPart.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/ErrorViewFXViewPart.java
index d5f078f21..d3d31dd1d 100644
--- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/ErrorViewFXViewPart.java
+++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/ErrorViewFXViewPart.java
@@ -20,8 +20,6 @@ import java.util.Map;
 
 import org.fortiss.tooling.common.ui.javafx.AF3FXViewPart;
 import org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity;
-import org.fortiss.tooling.kernel.ui.internal.MarkerService;
-import org.fortiss.tooling.kernel.ui.service.IMarkerService;
 
 /**
  * 
@@ -31,7 +29,7 @@ import org.fortiss.tooling.kernel.ui.service.IMarkerService;
  * 
  * Wrapper for the {@link ErrorViewFXViewPart}. This class can be referenced in the
  * 
- * {@code plugins.xml} file to register the view.
+ * {@code plugin.xml} file to register the view.
  * 
  * 
  * 
@@ -51,16 +49,10 @@ public class ErrorViewFXViewPart extends AF3FXViewPart {
 
 	public ErrorViewFXViewPart() throws Exception {
 		super(new ErrorViewFXLayoutController(toggleState), null);
-		((MarkerService)IMarkerService.getInstance()).setMarkerViewPart(this);
-	}
-
-	/** Called when there are error marker updates. */
-	public void refresh() {
 	}
 
 	/** Returns toggleState. */
 	/* package */Boolean getToggleState(ESeverity sev) {
-
 		return toggleState.get(sev);
 	}
 }
diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/MarkerViewFXContentProvider.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/MarkerViewFXContentProvider.java
index 4465b0b29..200539a33 100644
--- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/MarkerViewFXContentProvider.java
+++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/MarkerViewFXContentProvider.java
@@ -17,7 +17,8 @@ package org.fortiss.tooling.kernel.ui.internal.views.ErrorViewFX;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
 
 import org.fortiss.tooling.common.ui.javafx.control.treetableview.DynamicTreeContentProviderBase;
 import org.fortiss.tooling.kernel.extension.data.IConstraintViolation;
@@ -30,24 +31,23 @@ import org.fortiss.tooling.kernel.ui.service.IMarkerService;
  */
 public class MarkerViewFXContentProvider extends DynamicTreeContentProviderBase<Object> {
 
-	private ErrorViewFXViewPart markerViewFXViewPart;
-
 	/** {@inheritDoc} */
+	@SuppressWarnings("unchecked")
 	@Override
 	public Collection<? extends Object> getChildren(Object parent) {
-		List<ESeverity> servList = new ArrayList<ESeverity>();
-		Collection<IConstraintViolation> violation_list = new ArrayList<IConstraintViolation>();
-
-		if(parent instanceof List) {
-			servList = (List)parent;
-			for(int i = 0; i < servList.size(); i++) {
-				violation_list.addAll(IMarkerService.getInstance()
-						.getAllViolationsWithSeverity((ESeverity)servList.get(i)));
+		Map<ESeverity, Boolean> servList;
+		Collection<IConstraintViolation<?>> violation_list =
+				new ArrayList<IConstraintViolation<?>>();
+		if(parent instanceof Map<?, ?>) {
+			servList = (Map<ESeverity, Boolean>)parent;
+			for(Entry<ESeverity, Boolean> e : servList.entrySet()) {
+				if(e.getValue()) {
+					violation_list.addAll(
+							IMarkerService.getInstance().getAllViolationsWithSeverity(e.getKey()));
+				}
 			}
 			return violation_list;
 		}
-
 		return null;
-
 	}
 }
diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/MarkerViewFXUIProvider.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/MarkerViewFXUIProvider.java
index 7c8fdec17..306294dc1 100644
--- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/MarkerViewFXUIProvider.java
+++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ErrorViewFX/MarkerViewFXUIProvider.java
@@ -33,16 +33,6 @@ import javafx.scene.control.ContextMenu;
  */
 public class MarkerViewFXUIProvider extends DynamicTreeTableUIProviderBase<Object> {
 
-	ErrorViewFXLayoutController errorViewFXLayoutController;
-
-	/**
-	 * @param errorViewFXLayoutController
-	 */
-	public MarkerViewFXUIProvider(ErrorViewFXLayoutController errorViewFXLayoutController) {
-		// TODO Auto-generated constructor stub
-		this.errorViewFXLayoutController = errorViewFXLayoutController;
-	}
-
 	/** {@inheritDoc} */
 	@Override
 	/** {@inheritDoc} */
@@ -72,10 +62,9 @@ public class MarkerViewFXUIProvider extends DynamicTreeTableUIProviderBase<Objec
 		if(element instanceof IConstraintViolation) {
 			switch(col) {
 				case 0: // Severity Column
-					return ((IConstraintViolation)element).getSeverity().toString();
+					return ((IConstraintViolation<?>)element).getSeverity().toString();
 				case 1: // Element Column
-					IConstraintViolation<? extends EObject> violation =
-							(IConstraintViolation<? extends EObject>)element;
+					IConstraintViolation<?> violation = (IConstraintViolation<?>)element;
 					IModelElementHandlerService hs = IModelElementHandlerService.getInstance();
 					IModelElementHandler<EObject> handler =
 							hs.getModelElementHandler(violation.getSource());
@@ -83,10 +72,9 @@ public class MarkerViewFXUIProvider extends DynamicTreeTableUIProviderBase<Objec
 						return handler.getName(violation.getSource());
 					}
 				case 2: // Explanation Column
-					return ((IConstraintViolation)element).getExplanation();
+					return ((IConstraintViolation<?>)element).getExplanation();
 				case 3: // Project Column
-					IConstraintViolation<? extends EObject> violation_prj =
-							(IConstraintViolation<? extends EObject>)element;
+					IConstraintViolation<?> violation_prj = (IConstraintViolation<?>)element;
 					IPersistencyService ps = IPersistencyService.getInstance();
 					ITopLevelElement topElement =
 							ps.getTopLevelElementFor(violation_prj.getSource());
-- 
GitLab