Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBelqassim Djafer2014-11-19 14:17:31 +0000
committerMaxime Porhel2014-11-25 15:13:19 +0000
commit27d445d0f5bd5efa03d5ab2a3e6b9515ce39d05e (patch)
tree479e0d4a5b40050c8638443a1bdcafc9e1d5fd05
parent567748df6788cfc70e9fc320e9e42de49c529e81 (diff)
downloadorg.eclipse.sirius-27d445d0f5bd5efa03d5ab2a3e6b9515ce39d05e.tar.gz
org.eclipse.sirius-27d445d0f5bd5efa03d5ab2a3e6b9515ce39d05e.tar.xz
org.eclipse.sirius-27d445d0f5bd5efa03d5ab2a3e6b9515ce39d05e.zip
[452286] Fix VSM validation to check the Domain class name
Validation should fails when the domain class name is invalid. Bug: 452286 Change-Id: I0268464a82676f96088d7c6dd42780d3ba6c6478 Signed-off-by: Belqassim Djafer <belqassim.djafer@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/tools/internal/validation/description/constraints/ExistingDomainClassConstraint.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/tools/internal/validation/description/constraints/ExistingDomainClassConstraint.java b/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/tools/internal/validation/description/constraints/ExistingDomainClassConstraint.java
index cc95d3198b..fced9ef482 100644
--- a/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/tools/internal/validation/description/constraints/ExistingDomainClassConstraint.java
+++ b/plugins/org.eclipse.sirius.diagram/src-core/org/eclipse/sirius/diagram/tools/internal/validation/description/constraints/ExistingDomainClassConstraint.java
@@ -24,6 +24,7 @@ import org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor;
import org.eclipse.sirius.tools.internal.validation.AbstractConstraint;
import org.eclipse.sirius.viewpoint.SiriusPlugin;
import org.eclipse.sirius.viewpoint.ViewpointPackage;
+import org.eclipse.sirius.viewpoint.description.DescriptionPackage;
/**
* Validate that a DomainClass exist.
@@ -44,11 +45,9 @@ public class ExistingDomainClassConstraint extends AbstractConstraint {
public IStatus validate(final IValidationContext ctx) {
final EObject eObj = ctx.getTarget();
final EMFEventType eventType = ctx.getEventType();
-
// In the case of batch mode.
if (eventType == EMFEventType.NULL) {
- if ((eObj.eClass().getEPackage().getNsURI().startsWith(ViewpointPackage.eINSTANCE.getNsURI()) || eObj.eClass().getEPackage().getNsURI().startsWith(DiagramPackage.eINSTANCE.getNsURI()))
- && isElementContainedInAKnownMetamodel(eObj)) {
+ if (isValidNsURI(eObj) && isElementContainedInAKnownMetamodel(eObj)) {
final EStructuralFeature domainClassFeature = eObj.eClass().getEStructuralFeature(DOMAIN_CLASS_FEATURE);
if (domainClassFeature != null) {
final Object[] result = checkError(domainClassFeature, eObj);
@@ -94,7 +93,7 @@ public class ExistingDomainClassConstraint extends AbstractConstraint {
@Override
protected EObject getParentDescription(final EObject instance) {
- if (instance.eClass().getEPackage().getNsURI().startsWith(ViewpointPackage.eINSTANCE.getNsURI()) || instance.eClass().getEPackage().getNsURI().startsWith(DiagramPackage.eINSTANCE.getNsURI())) {
+ if (isValidNsURI(instance)) {
EObject container = instance.eContainer();
while (container != null) {
if (container instanceof DiagramDescription || container instanceof DiagramExtensionDescription) {
@@ -105,4 +104,10 @@ public class ExistingDomainClassConstraint extends AbstractConstraint {
}
return null;
}
+
+ private boolean isValidNsURI(EObject eObj) {
+ return eObj.eClass().getEPackage().getNsURI().startsWith(ViewpointPackage.eINSTANCE.getNsURI()) || eObj.eClass().getEPackage().getNsURI().startsWith(DescriptionPackage.eINSTANCE.getNsURI())
+ || eObj.eClass().getEPackage().getNsURI().startsWith(org.eclipse.sirius.diagram.description.DescriptionPackage.eINSTANCE.getNsURI())
+ || eObj.eClass().getEPackage().getNsURI().startsWith(DiagramPackage.eINSTANCE.getNsURI());
+ }
}

Back to the top