diff options
author | Ansgar Radermacher | 2014-03-03 14:47:27 +0000 |
---|---|---|
committer | Ansgar Radermacher | 2014-03-03 14:51:10 +0000 |
commit | 1c33f80f4c00d6c657b913743eecb42959141b3e (patch) | |
tree | 40728f437d737294def00b040d9c09da15a3dad1 /plugins/uml/textedit | |
parent | a179dc12d1daa0f046fcefd37f63d38ba83bad21 (diff) | |
download | org.eclipse.papyrus-1c33f80f4c00d6c657b913743eecb42959141b3e.tar.gz org.eclipse.papyrus-1c33f80f4c00d6c657b913743eecb42959141b3e.tar.xz org.eclipse.papyrus-1c33f80f4c00d6c657b913743eecb42959141b3e.zip |
Bug 427025 - [OCL For Papyrus] Cannot create OCL constraints in Luna
- set context element, in case of OCL editor
- assure that objectToEdit is not null, when selected via the model explorer
- fix NPE in decoration service
Diffstat (limited to 'plugins/uml/textedit')
1 files changed, 10 insertions, 0 deletions
diff --git a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.constraintwithessentialocl.xtext/src/org/eclipse/papyrus/uml/textedit/constraintwithessentialocl/xtext/EssentialOCLEditorConfiguration.java b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.constraintwithessentialocl.xtext/src/org/eclipse/papyrus/uml/textedit/constraintwithessentialocl/xtext/EssentialOCLEditorConfiguration.java index 7ddf06b123b..d89e2415436 100644 --- a/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.constraintwithessentialocl.xtext/src/org/eclipse/papyrus/uml/textedit/constraintwithessentialocl/xtext/EssentialOCLEditorConfiguration.java +++ b/plugins/uml/textedit/org.eclipse.papyrus.uml.textedit.constraintwithessentialocl.xtext/src/org/eclipse/papyrus/uml/textedit/constraintwithessentialocl/xtext/EssentialOCLEditorConfiguration.java @@ -44,6 +44,7 @@ import org.eclipse.swt.SWT; import org.eclipse.uml2.uml.Constraint;
import org.eclipse.uml2.uml.Element;
import org.eclipse.uml2.uml.LiteralString;
+import org.eclipse.uml2.uml.Namespace;
import org.eclipse.uml2.uml.UMLFactory;
import org.eclipse.xtext.resource.XtextResource;
@@ -109,6 +110,12 @@ public class EssentialOCLEditorConfiguration extends DefaultXtextDirectEditorCon opaqueExpression.getBodies().add(indexOfOCLBody, newTextualRepresentation);
}
constraint.setSpecification(opaqueExpression);
+
+ // update context object, if null (TODO: clarify, if responsibility of textual editor).
+ EObject context = getContextProvider().getContextObject();
+ if ((constraint.getContext() == null) && (context instanceof Namespace)) {
+ constraint.setContext((Namespace) context);
+ }
return CommandResult.newOKCommandResult(constraint);
}
}
@@ -169,6 +176,9 @@ public class EssentialOCLEditorConfiguration extends DefaultXtextDirectEditorCon @Override
public IParser createParser(final EObject semanticObject) {
+ if (objectToEdit == null) {
+ objectToEdit = semanticObject;
+ }
final IParser defaultParser = super.createParser(semanticObject);
return new IParser() {
|