From a1af8e1a3aeb710e9e793a8c27371a882f1ec1d5 Mon Sep 17 00:00:00 2001
From: Andreas Bayha <bayha@fortiss.org>
Date: Fri, 14 Jul 2023 18:18:06 +0200
Subject: [PATCH] YELLOW

Issue-ref: 4299
Issue-Url: https://git.fortiss.org/af3/af3/-/issues/4299

Signed-off-by: Andreas Bayha <bayha@fortiss.org>
---
 .../org/fortiss/tooling/base/ui/editor/.ratings |  2 +-
 .../editor/SourceEditorConfigurationBase.java   | 17 +++++++++--------
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/.ratings b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/.ratings
index f7bdaa735..3c972e10f 100644
--- a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/.ratings
+++ b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/.ratings
@@ -2,6 +2,6 @@ AdvancedTreeViewerEditorBase.java 9d9eded6848ee78991d1416592d1136efd71d2b7 GREEN
 FormsEditorBase.java b113501b98ffffcac362ca9f474ad02a42bde186 GREEN
 GEFEditorBase.java e668f596f45f07215994cbbd3929a9438331718f GREEN
 SourceEditorBase.java 47e69e2e6788b9897339c384cd03f9a22755037c GREEN
-SourceEditorConfigurationBase.java edb5eaa20d3f6c060600422b841c668b5efccabf YELLOW
+SourceEditorConfigurationBase.java f7cf7c51d7a5ef5ab997ad842e7255995aae9a60 YELLOW
 SourceEditorUndoRedo.java 08127a8e0afb4f9c2f4c21294ca3220282c25bf0 GREEN
 TreeViewerEditorBase.java 1c59689ff57c4f3cc180d85f13021fc03461ecb0 GREEN
diff --git a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/SourceEditorConfigurationBase.java b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/SourceEditorConfigurationBase.java
index edb5eaa20..f7cf7c51d 100644
--- a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/SourceEditorConfigurationBase.java
+++ b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/editor/SourceEditorConfigurationBase.java
@@ -22,7 +22,6 @@ import static org.eclipse.wb.swt.SWTResourceManager.getColor;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.commons.lang3.ArrayUtils;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.jface.text.presentation.IPresentationReconciler;
 import org.eclipse.jface.text.presentation.PresentationReconciler;
@@ -114,24 +113,26 @@ public abstract class SourceEditorConfigurationBase<T extends EObject>
 		/*
 		 * FIXME (AB): Wouldn't it be cleaner and more efficient, to collect all rules in one List
 		 * that can be converted to an array at once?
+		 * 
 		 * Answer (SeBe): Yes, but you cannot directly cast the whole list to the more generic
 		 * IRule. Either, I would need to go through all lists and cast each WordRule and each
 		 * PatternRule separately to an IRule before I could merge them in one List, or I would need
 		 * to turn every initial List directly into an array and then concatenate these arrays. Both
 		 * needs more effort and computation power than the current solution.
 		 * I would therefore suggest to leave it like it is now.
+		 * 
+		 * Answer (AB): Isn't this equivalent? This way, there is no cast necessary.
 		 */
+		List<IRule> allRules = new ArrayList<IRule>();
+
 		// word rules
-		List<WordRule> wordRules = getCommonRules();
-		wordRules.add(getRuleSpecificToEditor());
+		allRules.addAll(getCommonRules());
+		allRules.add(getRuleSpecificToEditor());
 
 		// pattern rules
-		List<PatternRule> patternRules = new ArrayList<>();
-		patternRules.add(getCommentRuleSpecificToEditor());
+		allRules.add(getCommentRuleSpecificToEditor());
 
-		IRule[] wordRuleArray = wordRules.toArray(new IRule[0]);
-		IRule[] patternRuleArray = patternRules.toArray(new IRule[0]);
-		IRule[] rules = ArrayUtils.addAll(wordRuleArray, patternRuleArray);
+		IRule[] rules = allRules.toArray(new IRule[0]);
 
 		RuleBasedScanner scanner = new RuleBasedScanner();
 		scanner.setRules(rules);
-- 
GitLab