From 54011b4cd9cd5f789f8655e9ad2f5b2c387ec5bf Mon Sep 17 00:00:00 2001
From: Vincent Aravantinos <aravantinos@fortiss.org>
Date: Thu, 30 Jun 2016 14:54:59 +0000
Subject: [PATCH] first steps for (de)activate functions in constraints refs
 2620

---
 .../extension/base/ConstraintVerifierBase.java | 12 ++++++++++++
 .../ConstraintVerificationService.java         | 18 ++++++++++++++++++
 .../IConstraintVerificationService.java        |  6 ++++++
 3 files changed, 36 insertions(+)

diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/extension/base/ConstraintVerifierBase.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/extension/base/ConstraintVerifierBase.java
index 2b54489be..5e20a61e9 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/extension/base/ConstraintVerifierBase.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/extension/base/ConstraintVerifierBase.java
@@ -42,4 +42,16 @@ public abstract class ConstraintVerifierBase<T extends IConstraint> implements
 	public boolean isUsableForDevelopmentProcess() {
 		return true;
 	}
+
+	/** {@inheritDoc} */
+	@Override
+	public void activate() {
+		// TODO Auto-generated method stub
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public void deactivate() {
+		// TODO Auto-generated method stub
+	}
 }
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ConstraintVerificationService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ConstraintVerificationService.java
index 198b1fd49..b0aa70242 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ConstraintVerificationService.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/internal/ConstraintVerificationService.java
@@ -342,4 +342,22 @@ public final class ConstraintVerificationService extends
 	public Set<Class<?>> getDevelopmentProcessConstraintTypes() {
 		return this.handlerMap.keySet();
 	}
+
+	/** {@inheritDoc} */
+	@Override
+	public <T extends IConstraint> void activate(Class<T> constraintEltClass) {
+		IConstraintVerifier<IConstraint> verifier = getFirstVerifier(constraintEltClass);
+		if(verifier != null) {
+			verifier.activate();
+		}
+	}
+
+	/** {@inheritDoc} */
+	@Override
+	public <T extends IConstraint> void deactivate(Class<T> constraintEltClass) {
+		IConstraintVerifier<IConstraint> verifier = getFirstVerifier(constraintEltClass);
+		if(verifier != null) {
+			verifier.deactivate();
+		}
+	}
 }
diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/service/IConstraintVerificationService.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/service/IConstraintVerificationService.java
index e4d09cc57..2db174cfe 100644
--- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/service/IConstraintVerificationService.java
+++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/service/IConstraintVerificationService.java
@@ -128,4 +128,10 @@ public interface IConstraintVerificationService {
 
 	/** Gets the constraint types which can be used for constraint-based development process. */
 	public <T extends IConstraint> Set<Class<T>> getDevelopmentProcessConstraintTypes();
+
+	/** Activates the constraint type. */
+	public <T extends IConstraint> void activate(Class<T> constraintEltClass);
+
+	/** Deactivates the constraint type. */
+	public <T extends IConstraint> void deactivate(Class<T> constraintEltClass);
 }
-- 
GitLab