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