From 2f99ca49235b4369d36c8bff3f8ed5d5dee155c2 Mon Sep 17 00:00:00 2001
From: Andreas Bayha <bayha@fortiss.org>
Date: Thu, 3 Aug 2023 11:42:24 +0200
Subject: [PATCH] Variability: Deprecated old product-line analysis.

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

Signed-off-by: Andreas Bayha <bayha@fortiss.org>
---
 .../ext/variability/analysis/ProductLineAnalysisBase.java  | 7 +++++--
 .../variability/analysis/ProductLineTranslationBase.java   | 2 ++
 .../analysis/GenericProductLineTranslation.java            | 4 ++--
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/org.fortiss.tooling.ext.variability/src/org/fortiss/tooling/ext/variability/analysis/ProductLineAnalysisBase.java b/org.fortiss.tooling.ext.variability/src/org/fortiss/tooling/ext/variability/analysis/ProductLineAnalysisBase.java
index 3ba719df6..fe879e177 100644
--- a/org.fortiss.tooling.ext.variability/src/org/fortiss/tooling/ext/variability/analysis/ProductLineAnalysisBase.java
+++ b/org.fortiss.tooling.ext.variability/src/org/fortiss/tooling/ext/variability/analysis/ProductLineAnalysisBase.java
@@ -33,6 +33,8 @@ import org.fortiss.variability.analysis.ProductLineConstraintViolation;
 /**
  * Base class for all tooling kernel based product-line analyses.
  * 
+ * @deprecated
+ * 
  * @author bayha
  */
 public abstract class ProductLineAnalysisBase extends GenericProductLineAnalysis {
@@ -43,7 +45,8 @@ public abstract class ProductLineAnalysisBase extends GenericProductLineAnalysis
 	public ProductLineAnalysisBase(EObject model) {
 		this(model, new ProductLineTranslationBase());
 
-		translation.addExcludedClasses(asList(LayoutPackage.eINSTANCE.getILayoutData()));
+		((ProductLineTranslationBase)translation)
+				.addExcludedClasses(asList(LayoutPackage.eINSTANCE.getILayoutData()));
 	}
 
 	/**
@@ -70,7 +73,7 @@ public abstract class ProductLineAnalysisBase extends GenericProductLineAnalysis
 			}
 		}
 
-		translation.addExcludedClasses(excludedClasses);
+		((ProductLineTranslationBase)translation).addExcludedClasses(excludedClasses);
 
 		return super.doCheck();
 	}
diff --git a/org.fortiss.tooling.ext.variability/src/org/fortiss/tooling/ext/variability/analysis/ProductLineTranslationBase.java b/org.fortiss.tooling.ext.variability/src/org/fortiss/tooling/ext/variability/analysis/ProductLineTranslationBase.java
index 5bce6903d..3da2e75a3 100644
--- a/org.fortiss.tooling.ext.variability/src/org/fortiss/tooling/ext/variability/analysis/ProductLineTranslationBase.java
+++ b/org.fortiss.tooling.ext.variability/src/org/fortiss/tooling/ext/variability/analysis/ProductLineTranslationBase.java
@@ -26,6 +26,8 @@ import org.fortiss.variability.model.presence.PresenceConditionTerm;
  * Adjusts the generic implementation of the translation to the variation point translation with
  * {@link IModelElementSpecification}s.
  * 
+ * @deprecated
+ * 
  * @author bayha
  */
 public class ProductLineTranslationBase extends GenericProductLineTranslation {
diff --git a/org.fortiss.variability/src/org/fortiss/variability/analysis/GenericProductLineTranslation.java b/org.fortiss.variability/src/org/fortiss/variability/analysis/GenericProductLineTranslation.java
index 8cf8565a2..e00248a4b 100644
--- a/org.fortiss.variability/src/org/fortiss/variability/analysis/GenericProductLineTranslation.java
+++ b/org.fortiss.variability/src/org/fortiss/variability/analysis/GenericProductLineTranslation.java
@@ -55,6 +55,8 @@ import com.microsoft.z3.Symbol;
  * Base class that implements the translation of model product-lines to SMT in order to perform
  * product-line analysis via constraint lifting.
  * 
+ * @deprecated
+ * 
  * @author bayha
  */
 public class GenericProductLineTranslation implements IProductLineTranslation {
@@ -839,8 +841,6 @@ public class GenericProductLineTranslation implements IProductLineTranslation {
 		return expr2EObject.get(expr);
 	}
 
-	/** {@inheritDoc} */
-	@Override
 	public FuncDecl<?> getSelectionFunction(EClass cls) {
 		return eClass2SelectionFunction.get(cls);
 	}
-- 
GitLab