diff options
author | Ansgar Radermacher | 2014-09-11 15:17:22 +0000 |
---|---|---|
committer | Ansgar Radermacher | 2014-09-15 08:17:22 +0000 |
commit | 252f1b316da367e70ed6312385b6006330012ea5 (patch) | |
tree | 582f8ac250a547f6e2faef5aae225f1cdaf1dc3e | |
parent | 6ace73dd3a914645d70f9746856018ae5bd028ed (diff) | |
download | org.eclipse.papyrus-252f1b316da367e70ed6312385b6006330012ea5.tar.gz org.eclipse.papyrus-252f1b316da367e70ed6312385b6006330012ea5.tar.xz org.eclipse.papyrus-252f1b316da367e70ed6312385b6006330012ea5.zip |
436296 - [Validation] DSML plugin generation is broken
10 files changed, 61 insertions, 79 deletions
diff --git a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.generator/src/org/eclipse/papyrus/dsml/validation/generator/main/generate.emtl b/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.generator/src/org/eclipse/papyrus/dsml/validation/generator/main/generate.emtl index 50df88e318b..a26cc4ff465 100644 --- a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.generator/src/org/eclipse/papyrus/dsml/validation/generator/main/generate.emtl +++ b/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.generator/src/org/eclipse/papyrus/dsml/validation/generator/main/generate.emtl @@ -409,7 +409,7 @@ <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/> </argument> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".selectors;

import org.eclipse.emf.validation.model.IClientSelector;
import org.eclipse.papyrus.dsml.validation.StereotypeUtil;

/**
 * This class filters (selects) passed stereotype applications. It returns true, if the
 * associated stereotype (or one of its super-stereotypes) has the name '"/> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".selectors;

import org.eclipse.emf.validation.model.IClientSelector;
import org.eclipse.papyrus.uml.service.validation.StereotypeUtil;

/**
 * This class filters (selects) passed stereotype applications. It returns true, if the
 * associated stereotype (or one of its super-stereotypes) has the name '"/> <body xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <source xsi:type="ocl.ecore:VariableExp" name="stereotype" referredVariable="/0/generateValidationContext/stereotype"> @@ -417,7 +417,7 @@ </source> <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="'. 
 * @generated
 */
public class "/> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="'.
 *
 * @generated
 */
public class "/> <body xsi:type="ocl.ecore:PropertyCallExp"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <source xsi:type="ocl.ecore:VariableExp" name="stereotype" referredVariable="/0/generateValidationContext/stereotype"> @@ -433,7 +433,7 @@ </source> <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/> </body> - <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=""); //$NON-NLS-1$
	}
}

"/> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=""); //$NON-NLS-1$
	}
}
"/> <fileUrl xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> <source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+"> @@ -1525,12 +1525,12 @@ </eAnnotations> <eAnnotations source="positions.144" references="/0/generateValidationContext"> <details key="start" value="3583"/> - <details key="end" value="4478"/> + <details key="end" value="4485"/> <details key="line" value="86"/> </eAnnotations> <eAnnotations source="positions.145" references="/0/generateValidationContext/%"> <details key="start" value="3652"/> - <details key="end" value="4466"/> + <details key="end" value="4473"/> <details key="line" value="87"/> </eAnnotations> <eAnnotations source="positions.146" references="/0/generateValidationContext/%/%"> @@ -1550,53 +1550,53 @@ </eAnnotations> <eAnnotations source="positions.149" references="/0/generateValidationContext/%/%.2"> <details key="start" value="3880"/> - <details key="end" value="4175"/> + <details key="end" value="4182"/> <details key="line" value="93"/> </eAnnotations> <eAnnotations source="positions.150" references="/0/generateValidationContext/%/%.3"> - <details key="start" value="4176"/> - <details key="end" value="4191"/> + <details key="start" value="4183"/> + <details key="end" value="4198"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.151" references="/0/generateValidationContext/%/%.3/stereotype"> - <details key="start" value="4176"/> - <details key="end" value="4186"/> + <details key="start" value="4183"/> + <details key="end" value="4193"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.152" references="/0/generateValidationContext/%/%.4"> - <details key="start" value="4193"/> - <details key="end" value="4229"/> + <details key="start" value="4200"/> + <details key="end" value="4237"/> <details key="line" value="100"/> </eAnnotations> <eAnnotations source="positions.153" references="/0/generateValidationContext/%/%.5"> - <details key="start" value="4230"/> - <details key="end" value="4245"/> + <details key="start" value="4238"/> + <details key="end" value="4253"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.154" references="/0/generateValidationContext/%/%.5/stereotype"> - <details key="start" value="4230"/> - <details key="end" value="4240"/> + <details key="start" value="4238"/> + <details key="end" value="4248"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.155" references="/0/generateValidationContext/%/%.6"> - <details key="start" value="4247"/> - <details key="end" value="4417"/> - <details key="line" value="103"/> + <details key="start" value="4255"/> + <details key="end" value="4425"/> + <details key="line" value="104"/> </eAnnotations> <eAnnotations source="positions.156" references="/0/generateValidationContext/%/%.7"> - <details key="start" value="4418"/> - <details key="end" value="4433"/> + <details key="start" value="4426"/> + <details key="end" value="4441"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.157" references="/0/generateValidationContext/%/%.7/stereotype"> - <details key="start" value="4418"/> - <details key="end" value="4428"/> + <details key="start" value="4426"/> + <details key="end" value="4436"/> <details key="line" value="0"/> </eAnnotations> <eAnnotations source="positions.158" references="/0/generateValidationContext/%/%.8"> - <details key="start" value="4435"/> - <details key="end" value="4459"/> - <details key="line" value="106"/> + <details key="start" value="4443"/> + <details key="end" value="4466"/> + <details key="line" value="107"/> </eAnnotations> <eAnnotations source="positions.159" references="/0/generateValidationContext/%/%.9"> <details key="start" value="3659"/> diff --git a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.generator/src/org/eclipse/papyrus/dsml/validation/generator/main/generate.mtl b/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.generator/src/org/eclipse/papyrus/dsml/validation/generator/main/generate.mtl index b1b81d4f886..de4e6bb9cbb 100644 --- a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.generator/src/org/eclipse/papyrus/dsml/validation/generator/main/generate.mtl +++ b/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.generator/src/org/eclipse/papyrus/dsml/validation/generator/main/generate.mtl @@ -93,7 +93,7 @@ public class [constraint.name.toUpperFirst() + 'Constraint'/] extends AbstractMo package [getPluginID(stereotype)/].selectors; import org.eclipse.emf.validation.model.IClientSelector; -import org.eclipse.papyrus.dsml.validation.StereotypeUtil; +import org.eclipse.papyrus.uml.service.validation.StereotypeUtil; /** * This class filters (selects) passed stereotype applications. It returns true, if the diff --git a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.wizard/src/org/eclipse/papyrus/dsml/validation/wizard/ValidationPluginGenerator.java b/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.wizard/src/org/eclipse/papyrus/dsml/validation/wizard/ValidationPluginGenerator.java index 153db773d9f..e3416e856fe 100644 --- a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.wizard/src/org/eclipse/papyrus/dsml/validation/wizard/ValidationPluginGenerator.java +++ b/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation.wizard/src/org/eclipse/papyrus/dsml/validation/wizard/ValidationPluginGenerator.java @@ -89,7 +89,7 @@ public class ValidationPluginGenerator { private static final String EMF_VALIDATION_PLUGIN = "org.eclipse.emf.validation"; //$NON-NLS-1$
- private static final String DSML_VALIDATION_PLUGIN = "org.eclipse.papyrus.dsml.validation"; //$NON-NLS-1$
+ private static final String UML_VALIDATION_PLUGIN = "org.eclipse.papyrus.uml.service.validation"; //$NON-NLS-1$
private static final String UML_URL = "http://www.eclipse.org/uml2/5.0.0/UML"; //$NON-NLS-1$
@@ -139,7 +139,7 @@ public class ValidationPluginGenerator { editor.addNatures(natures);
editor.getManifestEditor().addDependency(EMF_VALIDATION_PLUGIN);
- editor.getManifestEditor().addDependency(DSML_VALIDATION_PLUGIN);
+ editor.getManifestEditor().addDependency(UML_VALIDATION_PLUGIN);
editor.getManifestEditor().addDependency(UML_PLUGIN);
Element constraintProviderExtension =
diff --git a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/META-INF/MANIFEST.MF b/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/META-INF/MANIFEST.MF index 6b3e8124bdd..2a3446ca5d9 100644 --- a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/META-INF/MANIFEST.MF +++ b/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/META-INF/MANIFEST.MF @@ -2,19 +2,14 @@ Manifest-Version: 1.0 Export-Package: org.eclipse.papyrus.dsml.validation,
org.eclipse.papyrus.dsml.validation.PapyrusDSMLValidationRule,
org.eclipse.papyrus.dsml.validation.PapyrusDSMLValidationRule.impl,
- org.eclipse.papyrus.dsml.validation.PapyrusDSMLValidationRule.util,
- org.eclipse.papyrus.dsml.validation.oclpivot
+ org.eclipse.papyrus.dsml.validation.PapyrusDSMLValidationRule.util
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.emf.ecore.xmi;visibility:=reexport,
org.eclipse.uml2.types;visibility:=reexport,
org.eclipse.uml2.uml;bundle-version="5.0.0",
- org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.0.1",
- org.eclipse.emf.validation;bundle-version="1.8.0",
- org.eclipse.ocl.examples.pivot;bundle-version="3.4.0",
- org.eclipse.ocl;bundle-version="3.4.0",
- org.eclipse.ocl.ecore;bundle-version="3.3.100"
+ org.eclipse.papyrus.uml.extensionpoints;bundle-version="1.0.1"
Bundle-Vendor: %pluginProvider
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
diff --git a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/plugin.xml b/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/plugin.xml index e25eaf08f44..4e36d434130 100644 --- a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/plugin.xml +++ b/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/plugin.xml @@ -32,12 +32,4 @@ provider="Eclipse Modeling Project">
</profile>
</extension>
-
- <extension
- point="org.eclipse.emf.validation.constraintParsers">
- <constraintParser
- class="org.eclipse.papyrus.dsml.validation.oclpivot.OCLConstraintParser"
- lang="OCLpivot">
- </constraintParser>
- </extension>
</plugin>
diff --git a/plugins/uml/org.eclipse.papyrus.uml.service.validation/META-INF/MANIFEST.MF b/plugins/uml/org.eclipse.papyrus.uml.service.validation/META-INF/MANIFEST.MF index 1e5bbeaeda4..50586e7b1bb 100644 --- a/plugins/uml/org.eclipse.papyrus.uml.service.validation/META-INF/MANIFEST.MF +++ b/plugins/uml/org.eclipse.papyrus.uml.service.validation/META-INF/MANIFEST.MF @@ -1,6 +1,7 @@ Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.uml.service.validation,
- org.eclipse.papyrus.uml.service.validation.handler
+ org.eclipse.papyrus.uml.service.validation.handler,
+ org.eclipse.papyrus.uml.service.validation.oclpivot
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.papyrus.infra.services.validation;bundle-version="1.0.1",
@@ -8,7 +9,8 @@ Require-Bundle: org.eclipse.ui, org.eclipse.uml2.uml;bundle-version="4.1.0",
org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="1.0.1",
org.eclipse.gmf.runtime.emf.commands.core;bundle-version="1.4.0",
- org.eclipse.ocl.examples.pivot;bundle-version="3.4.0"
+ org.eclipse.ocl.examples.pivot;bundle-version="3.4.0",
+ org.eclipse.ocl;bundle-version="3.4.0"
Bundle-Vendor: %pluginProvider
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.0.1.qualifier
diff --git a/plugins/uml/org.eclipse.papyrus.uml.service.validation/plugin.xml b/plugins/uml/org.eclipse.papyrus.uml.service.validation/plugin.xml index 2e18251a7a3..dcd811f74ff 100644 --- a/plugins/uml/org.eclipse.papyrus.uml.service.validation/plugin.xml +++ b/plugins/uml/org.eclipse.papyrus.uml.service.validation/plugin.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
-
<extension
point="org.eclipse.ui.handlers">
<handler
@@ -41,4 +40,11 @@ </activeWhen>
</handler>
</extension>
+ <extension
+ point="org.eclipse.emf.validation.constraintParsers">
+ <constraintParser
+ class="org.eclipse.papyrus.uml.service.validation.oclpivot.OCLpivotConstraintParser"
+ lang="OCLpivot">
+ </constraintParser>
+ </extension>
</plugin>
diff --git a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/src/org/eclipse/papyrus/dsml/validation/StereotypeUtil.java b/plugins/uml/org.eclipse.papyrus.uml.service.validation/src/org/eclipse/papyrus/uml/service/validation/StereotypeUtil.java index a5c9a9c2edd..ce1cfe6a7ed 100644 --- a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/src/org/eclipse/papyrus/dsml/validation/StereotypeUtil.java +++ b/plugins/uml/org.eclipse.papyrus.uml.service.validation/src/org/eclipse/papyrus/uml/service/validation/StereotypeUtil.java @@ -12,7 +12,7 @@ * *****************************************************************************/ -package org.eclipse.papyrus.dsml.validation; +package org.eclipse.papyrus.uml.service.validation; import org.eclipse.emf.ecore.EObject; import org.eclipse.uml2.uml.Class; diff --git a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/src/org/eclipse/papyrus/dsml/validation/oclpivot/AbstractOCLModelConstraint.java b/plugins/uml/org.eclipse.papyrus.uml.service.validation/src/org/eclipse/papyrus/uml/service/validation/oclpivot/AbstractOCLpivotModelConstraint.java index ef8a4c68535..34ec0e76510 100644 --- a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/src/org/eclipse/papyrus/dsml/validation/oclpivot/AbstractOCLModelConstraint.java +++ b/plugins/uml/org.eclipse.papyrus.uml.service.validation/src/org/eclipse/papyrus/uml/service/validation/oclpivot/AbstractOCLpivotModelConstraint.java @@ -15,7 +15,7 @@ * </copyright> */ -package org.eclipse.papyrus.dsml.validation.oclpivot; +package org.eclipse.papyrus.uml.service.validation.oclpivot; import java.lang.ref.Reference; import java.lang.ref.WeakReference; @@ -27,8 +27,6 @@ import org.eclipse.emf.validation.IValidationContext; import org.eclipse.emf.validation.model.ConstraintStatus; import org.eclipse.emf.validation.model.IModelConstraint; import org.eclipse.emf.validation.service.IConstraintDescriptor; -import org.eclipse.ocl.EnvironmentFactory; -import org.eclipse.ocl.Query; import org.eclipse.ocl.examples.pivot.ExpressionInOCL; import org.eclipse.ocl.examples.pivot.NamedElement; import org.eclipse.ocl.examples.pivot.OCL; @@ -41,23 +39,14 @@ import org.eclipse.uml2.uml.Stereotype; import org.eclipse.uml2.uml.util.UMLUtil; /** - * <p> - * An OCL-language implementation of the {@link org.eclipse.emf.validation.model.IModelConstraint} interface. This class considers the OCL constraint text as a context-free expression, possibly targeting multiple model types (because the validation framework - * permits declaration of any number of targets). A separate OCL {@link Query} is created and cached for each of these target types as required. - * </p> - * <p> - * Any problems in parsing or executing the OCL will result in the constraint being disabled at run-time. - * </p> - * <p> - * This class is intended to be used by clients of the validation framework that need to customize the OCL parsing environment for their constraints. - * </p> - * <p> - * The generic type parameters declared by this class correspond to the like-named parameters of the {@link EnvironmentFactory} interface. - * </p> - * - * @author Christian W. Damus (cdamus) + * This class is based on the AbstractOCLModelConstraint in org.eclipse.emf.validation.ocl. The main difference is that it enforces + * the validation with the pivot OCL variant, see bug 436296 - [Validation] DSML plugin generation is broken + * + * @link org.eclipse.emf.validation.ocl.AbstractOCLModelConstraint + * + * @author Ansgar Radermacher */ -public abstract class AbstractOCLModelConstraint implements IModelConstraint { +public abstract class AbstractOCLpivotModelConstraint implements IModelConstraint { private final IConstraintDescriptor descriptor; @@ -80,7 +69,7 @@ public abstract class AbstractOCLModelConstraint implements IModelConstraint { * the descriptor, which must contain an OCL expression in its * body */ - public AbstractOCLModelConstraint(IConstraintDescriptor descriptor) { + public AbstractOCLpivotModelConstraint(IConstraintDescriptor descriptor) { this.descriptor = descriptor; } diff --git a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/src/org/eclipse/papyrus/dsml/validation/oclpivot/OCLConstraintParser.java b/plugins/uml/org.eclipse.papyrus.uml.service.validation/src/org/eclipse/papyrus/uml/service/validation/oclpivot/OCLpivotConstraintParser.java index b260cdf7cc9..d56d55c9ffd 100644 --- a/extraplugins/dsml.validation/org.eclipse.papyrus.dsml.validation/src/org/eclipse/papyrus/dsml/validation/oclpivot/OCLConstraintParser.java +++ b/plugins/uml/org.eclipse.papyrus.uml.service.validation/src/org/eclipse/papyrus/uml/service/validation/oclpivot/OCLpivotConstraintParser.java @@ -16,7 +16,7 @@ * $Id: OCLConstraintParser.java,v 1.5 2007/06/06 22:28:11 cdamus Exp $ */ -package org.eclipse.papyrus.dsml.validation.oclpivot; +package org.eclipse.papyrus.uml.service.validation.oclpivot; import org.eclipse.emf.validation.model.IModelConstraint; import org.eclipse.emf.validation.service.IConstraintDescriptor; @@ -24,21 +24,19 @@ import org.eclipse.emf.validation.service.IParameterizedConstraintDescriptor; import org.eclipse.emf.validation.service.IParameterizedConstraintParser; /** - * <p> - * Simple constraint parser for creation of OCL-language constraints from the XML. - * </p> - * <p> - * This class is not intended to be used by clients of the validation framework. - * </p> + * Variant of the OCLConstraintParser, it enforces the use of pivot variant of OCL + * + * + * @link org.eclipse.emf.validation.internal.ocl.OCLConstraintParser * - * @author Christian W. Damus (cdamus) + * @author Ansgar Radermacher */ -public class OCLConstraintParser implements IParameterizedConstraintParser { +public class OCLpivotConstraintParser implements IParameterizedConstraintParser { /** * Initializes me. */ - public OCLConstraintParser() { + public OCLpivotConstraintParser() { super(); } @@ -53,7 +51,7 @@ public class OCLConstraintParser implements IParameterizedConstraintParser { * * @author Christian W. Damus (cdamus) */ - private static class EcoreOCLConstraint extends AbstractOCLModelConstraint { + private static class EcoreOCLConstraint extends AbstractOCLpivotModelConstraint { EcoreOCLConstraint(IConstraintDescriptor descriptor) { super(descriptor); |