From ae09fe5f23e93ca5f6e43ce7f4d534763582bcc7 Mon Sep 17 00:00:00 2001
From: Simon Barner <barner@fortiss.org>
Date: Wed, 18 Mar 2020 00:12:49 +0100
Subject: [PATCH] Make dynamic tree content provider filter case insensitive

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

Signed-off-by: Simon Barner <barner@fortiss.org>
---
 .../common/ui/javafx/control/treetableview/.ratings       | 2 +-
 .../treetableview/DynamicTreeContentProviderBase.java     | 8 +++++++-
 .../org/fortiss/tooling/kernel/ui/internal/views/.ratings | 2 +-
 .../kernel/ui/internal/views/ModelElementsViewFX.java     | 2 +-
 4 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/.ratings b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/.ratings
index d62ac3736..cb3298c07 100644
--- a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/.ratings
+++ b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/.ratings
@@ -1,4 +1,4 @@
-DynamicTreeContentProviderBase.java e801da995a1b6e5a1b757247c1638bafb6073e6d GREEN
+DynamicTreeContentProviderBase.java 6760a6dc5721175b1dada8f30fd9da05f7bcc4b3 YELLOW
 DynamicTreeItem.java 75dc5534b119ffdb3c10a65810c2a0f330b7955e GREEN
 DynamicTreeTableUIProviderBase.java 75ddf3e91c08fd6a5853ab261593040d1039d774 GREEN
 DynamicTreeTableViewer.java 431ac62cbd6ad7df25852fce1b5a62a05ba510e3 GREEN
diff --git a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeContentProviderBase.java b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeContentProviderBase.java
index e801da995..6760a6dc5 100644
--- a/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeContentProviderBase.java
+++ b/org.fortiss.tooling.common.ui/src/org/fortiss/tooling/common/ui/javafx/control/treetableview/DynamicTreeContentProviderBase.java
@@ -62,7 +62,13 @@ public abstract class DynamicTreeContentProviderBase<T> {
 
 	/** Sub-classes may override to implement simple filter behavior. */
 	protected boolean filter(T element, String filterValue) {
-		return element != null && element.toString().contains(filterValue);
+		if(element == null) {
+			return false;
+		}
+		if(filterValue == null || "".equals(filterValue)) {
+			return true;
+		}
+		return element.toString().toLowerCase().contains(filterValue.toLowerCase());
 	}
 
 	/** Returns the sorter comparator. */
diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/.ratings b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/.ratings
index 9384c7140..d4e0a83c3 100644
--- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/.ratings
+++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/.ratings
@@ -5,7 +5,7 @@ LibraryViewDragSourceAdapter.java 56ef61b214ef5d6cb5b751791a92158bda0391ec GREEN
 LinkWithEditorPartListener.java c5ab74424378e7b158a805c4dd14fc03c8abeded GREEN
 MarkerViewContentProvider.java 4cb1192baebe21bca951c439c163d0c171512515 GREEN
 MarkerViewPart.java cbb650271b6877af205421b7cb11f930440a7ef9 GREEN
-ModelElementsViewFX.java 5e1b3217eaa69c6d54c4300cdd1c744e36b3495b GREEN
+ModelElementsViewFX.java b1d03d57b67bf2c7b1d8da0ad3b16ea7d59efab5 YELLOW
 NavigatorNewMenu.java a35e391960d1dacbe7f77982e53e1891e9382d5a GREEN
 NavigatorTreeContentComparator.java d9f1354cfdff78b104b28887d2397e5ca0e9755b GREEN
 NavigatorTreeContentProvider.java 1fbe97bebf3805cc1af190cecd784fc1cfd12306 GREEN
diff --git a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ModelElementsViewFX.java b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ModelElementsViewFX.java
index 5e1b3217e..b1d03d57b 100644
--- a/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ModelElementsViewFX.java
+++ b/org.fortiss.tooling.kernel.ui/src/org/fortiss/tooling/kernel/ui/internal/views/ModelElementsViewFX.java
@@ -188,7 +188,7 @@ public final class ModelElementsViewFX extends FXViewPart {
 				}
 				if(element instanceof Prototype) {
 					Prototype proto = (Prototype)element;
-					return proto.getName().contains(filterValue);
+					return proto.getName().toLowerCase().contains(filterValue.toLowerCase());
 				}
 			}
 			return false;
-- 
GitLab