From 3270203bc66d549fd6fca9b386f770b7958989ae Mon Sep 17 00:00:00 2001
From: Andreas Bayha <bayha@fortiss.org>
Date: Fri, 24 Nov 2023 18:49:12 +0100
Subject: [PATCH] Variability: Fixed bug in variant configuration dialog

The cross feature constrains were not checked, correctly.

Issue-ref: 4348
Issue-URL: https://git.fortiss.org/af3/af3/-/issues/4348

Signed-off-by: Andreas Bayha <bayha@fortiss.org>
---
 .../src/org/fortiss/variability/bind/.ratings     |  2 +-
 .../org/fortiss/variability/bind/BindUtils.java   | 15 +++++++++++----
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/org.fortiss.variability/src/org/fortiss/variability/bind/.ratings b/org.fortiss.variability/src/org/fortiss/variability/bind/.ratings
index 3605be12a..41205ae0d 100644
--- a/org.fortiss.variability/src/org/fortiss/variability/bind/.ratings
+++ b/org.fortiss.variability/src/org/fortiss/variability/bind/.ratings
@@ -1 +1 @@
-BindUtils.java 733569d1499274091ed59d06aaacbe386fdfcc94 GREEN
+BindUtils.java 70f1f62f7eca035d5c84f28ddfac26bf639c27cd GREEN
diff --git a/org.fortiss.variability/src/org/fortiss/variability/bind/BindUtils.java b/org.fortiss.variability/src/org/fortiss/variability/bind/BindUtils.java
index 733569d14..70f1f62f7 100644
--- a/org.fortiss.variability/src/org/fortiss/variability/bind/BindUtils.java
+++ b/org.fortiss.variability/src/org/fortiss/variability/bind/BindUtils.java
@@ -140,8 +140,11 @@ public class BindUtils {
 			final CompositionalFeatureConfiguration compConf =
 					(CompositionalFeatureConfiguration)conf;
 
-			return checkVariantConfigurationForCompositionalFeature(selectedFeatures,
-					requiredFeatures, excludedFeatures, compFeature, compConf);
+			Pair<String, List<EObject>> res = checkVariantConfigurationForCompositionalFeature(
+					selectedFeatures, requiredFeatures, excludedFeatures, compFeature, compConf);
+			if(res != null) {
+				return res;
+			}
 		}
 		if(feature instanceof AbstractAlternativeFeature) {
 			final AbstractAlternativeFeature altFeature = (AbstractAlternativeFeature)feature;
@@ -156,8 +159,12 @@ public class BindUtils {
 			final AlternativeFeatureConfiguration altConf = (AlternativeFeatureConfiguration)conf;
 			final IFeatureConfiguration<?> altSelectedConf = altConf.getSelectedConfiguration();
 
-			return checkVariantConfigurationForAlternativeFeature(selectedFeatures,
-					requiredFeatures, excludedFeatures, altFeature, altSelectedConf);
+			Pair<String, List<EObject>> res =
+					checkVariantConfigurationForAlternativeFeature(selectedFeatures,
+							requiredFeatures, excludedFeatures, altFeature, altSelectedConf);
+			if(res != null) {
+				return res;
+			}
 		}
 
 		// Check constraints
-- 
GitLab