From 1f29cca7e4b29d8c49fcd5eb62630b9af66622e1 Mon Sep 17 00:00:00 2001
From: Tiziano Munaro <munaro@fortiss.org>
Date: Mon, 25 Sep 2023 14:45:17 +0200
Subject: [PATCH] GREEN/RED

Issue-Ref: 4323
Issue-Url: https://git.fortiss.org/af3/af3/-/issues/4323

Signed-off-by: Tiziano Munaro <munaro@fortiss.org>
---
 .../src/org/fortiss/tooling/base/ui/utils/.ratings           | 2 +-
 .../src/org/fortiss/tooling/ext/reuse/utils/.ratings         | 2 +-
 .../tooling/ext/reuse/utils/ReuseLibraryUtilsBasics.java     | 1 +
 .../src/org/fortiss/tooling/kernel/extension/base/.ratings   | 2 +-
 .../tooling/kernel/extension/base/PrototypeProviderBase.java | 3 +++
 .../src/org/fortiss/tooling/kernel/extension/data/.ratings   | 2 +-
 .../org/fortiss/tooling/kernel/extension/data/Prototype.java | 5 +++++
 7 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/.ratings b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/.ratings
index fa8755c7e..63b9e58ee 100644
--- a/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/.ratings
+++ b/org.fortiss.tooling.base.ui/src/org/fortiss/tooling/base/ui/utils/.ratings
@@ -1,6 +1,6 @@
 AbstractNameEditingSupport.java c57336a0e0da18711a1610ca667dfea76728807f GREEN
 ActionUtils.java 322f43d4f92f992daef8ac88eb0f9197c840c89b GREEN
-ContextMenuUtils.java 824b943c3f888d8aa1a427131f0bee3e9ad6e8c8 YELLOW
+ContextMenuUtils.java 824b943c3f888d8aa1a427131f0bee3e9ad6e8c8 GREEN
 EllipseLayoutUIUtils.java 0af2cfc038661828b1bb8c51c0a3816d453e8313 GREEN
 FXDNDUtils.java 6ce94e239e68f9e2b3cc0524b072606f4a120076 GREEN
 FontUtils.java a167a05bdaa8da9853705cc5134f30f6d81bc9f2 GREEN
diff --git a/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/.ratings b/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/.ratings
index 38cd9e2f3..407db1b3d 100644
--- a/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/.ratings
+++ b/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/.ratings
@@ -1,3 +1,3 @@
 ReuseLibraryModelElementFactory.java 4ee3eb7449e212643992a3dec6cfb8f4278efb70 GREEN
-ReuseLibraryUtilsBasics.java c077150bba8303aecbde635e35117cc247d0c07e YELLOW
+ReuseLibraryUtilsBasics.java 3e38a8dab13499aef8dd4706636df298fbc15bc9 RED
 ReuseLibraryUtilsManipulation.java 77a646db5a63ba7c61664dbcaf34a9036003fde5 GREEN
diff --git a/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/ReuseLibraryUtilsBasics.java b/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/ReuseLibraryUtilsBasics.java
index c077150bb..3e38a8dab 100644
--- a/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/ReuseLibraryUtilsBasics.java
+++ b/org.fortiss.tooling.ext.reuse/src/org/fortiss/tooling/ext/reuse/utils/ReuseLibraryUtilsBasics.java
@@ -118,6 +118,7 @@ public class ReuseLibraryUtilsBasics {
 	 *            The reuse element whose library's name is searched
 	 * @return Display name as string (with UUID!) or empty string
 	 */
+	// TODO (TM): This method is never used. Can it be removed?
 	public static String getIDNameOfFirstRelatedLibrary(EObject element) {
 		ReuseElementSpec spec = getFirstReuseSpec(element);
 		if(spec != null) {
diff --git a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/.ratings b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/.ratings
index f73f914a3..6ce4c1017 100644
--- a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/.ratings
+++ b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/.ratings
@@ -3,6 +3,6 @@ ConstraintViolationBase.java ec66973ab2183623f0cd4a85c59c886dddad6cf6 GREEN
 DialogMessage.java 8420640e999e4fb15fa644333e5d71e1d16c2559 GREEN
 ElementCompositorBase.java 7a445e5adde11878fe0515baca8b915287149b28 GREEN
 MultiViolationConstraintCheckerBase.java 30886a94c99cf8948f64401b1db821abe06e1e6c GREEN
-PrototypeProviderBase.java e33c931185a01c6115f4cebd4a3cdc8552ea971e YELLOW
+PrototypeProviderBase.java 00003fe21515ca93ee863960d653c5239ec47fdd RED
 TransformationContextChainBase.java 1ef37880ab275778c563928e80ba378fec964cb6 GREEN
 TransformationProviderBase.java 9e91100cc1f2c8fbd8d41af55aedfea34e02ff71 GREEN
diff --git a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/PrototypeProviderBase.java b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/PrototypeProviderBase.java
index e33c93118..00003fe21 100644
--- a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/PrototypeProviderBase.java
+++ b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/base/PrototypeProviderBase.java
@@ -63,6 +63,9 @@ public abstract class PrototypeProviderBase implements IPrototypeProvider {
 	/** Registers all prototypes. Sub-classes must override. */
 	protected abstract void registerPrototypes();
 
+	// TODO (TM): The following four methods are basically clones. If there was one private method
+	// `registerPrototype(String name, EObject prototype, String categoryName, bool isPrimary, int
+	// priority)`, all other methods could be reduced to one line, and code duplication avoided.
 	/** Registers the given {@link EObject} with the given name and category. */
 	protected final void registerPrototype(String name, EObject prototype, String categoryName) {
 		Prototype prototypeObject = new Prototype(name, prototype, false);
diff --git a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/data/.ratings b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/data/.ratings
index a75537abb..372cbca5c 100644
--- a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/data/.ratings
+++ b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/data/.ratings
@@ -7,7 +7,7 @@ ITransformationContext.java f00a0ab19a410c3ae2fc6256483aeb4207a86395 GREEN
 LogMessage.java 14204ed9d51b356f50be52362247cfbbe0cbd5c7 GREEN
 ModelElementTransformationContext.java 5a41bd3a75ce434c3174d50d2fdfab28b66f09f2 GREEN
 ModelStorageError.java 2aef480044047e960e64811111a7f27310011cc2 GREEN
-Prototype.java dd4951fa6cbe1b05ea349e6de6c84eae875b3eb9 YELLOW
+Prototype.java 97d0fe467887fbbd96664ee8d3639f5a9df6d745 RED
 PrototypeCategory.java ca500b4816ed42b9536488669aeab89561d2f08c GREEN
 TransformationProviderChain.java 67ec6d0b4c23d295323572649606d79f3b897437 GREEN
 TutorialAtomicStep.java 09c0d6597d542b431b5bbdc790ee9e533d9f77fb GREEN
diff --git a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/data/Prototype.java b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/data/Prototype.java
index dd4951fa6..97d0fe467 100644
--- a/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/data/Prototype.java
+++ b/org.fortiss.tooling.kernel/src/org/fortiss/tooling/kernel/extension/data/Prototype.java
@@ -36,6 +36,8 @@ public class Prototype {
 	private final boolean isPrimary;
 
 	/** Stores the priority of the category. Is important for sorting: lower value = lower prio. */
+	// TODO (TM): Is there a reason why this instance variable is not `final`? In my opinion it
+	// should be, just like the others.
 	private int prototypePriority;
 
 	/** Constructor. */
@@ -43,6 +45,9 @@ public class Prototype {
 		this.name = name;
 		this.prototype = prototype;
 		this.isPrimary = isPrimary;
+		// TODO (TM): Is there any reason, while this instance variable is not accessed using `this`
+		// like the others? I would suggest to so (here and everywhere else in this file), as it
+		// makes it explicit, that this is an instance variable rather than a local one.
 		prototypePriority = 0;
 	}
 
-- 
GitLab