Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
OCL/New and Noteworthy/Neon
Eclipse OCL New and Noteworthy items for the Neon 6.1.0 release.
Contents
Release Overview
This minor release fixes many bugs and provides enhanced extensibility for OCL-based applications such as QVT.
The Pivot code base has moved to Java 8 to exploit the type-based @NonNull annotations and eliminate the need to distribute a clone of the Java 7 support. Java 7 related support such as org.eclipse.ocl.jdt.annotation7 and org.eclipse.ocl.examples.codegen.asm3 are no longer distributed; only ASM 5 is supported.
The Classic Ecore/UML support retains Java 5 source compatibility.
The Neon release is installable on Luna, Mars and Neon platforms; movement to Java 8 terminates Helios, Indigo, Juno and Kepler installability.
Milestone 1
Code Generation
- 471118 _ no longer used as an identifier (avoiding Java 8 deprecation)
- 471948 Custom messages are supported again in code generated validations
- 474307 EList returns no longer inhibit Ecore Editor delete commands
Editors
- 469967 Concurrent editor no longer leads to a stuck /* Please Wait */
- 471785 Problem in imported files no longer shown at local lines
- 473249 Unresolved references due to stale Complete OCL context fixed
Pivot
- 473632 CollectionRange to a more negative last no longer includes first
Pivot UML
- 470805 Operations are no longer ignored for UML DataTypes
- 472261 Constraints may be specified for Signals
- 472469 UML DataType generals treated as superclasses
- 474085 Stereotypes are no longer ignored in the Xtext OCL Console
Milestone 2
Pivot
- 476438 *.oclas no longer requires explicit registration for standalone usage
- 477283 Complete OCL references to subpackages no longer fail
Pivot UML
- 476463 Post-Mars regression preventing use of OCL editor in Papyrus fixed
- 476662 InstanceSpecification EnumerationLiteral properties no longer malfunction
- 476769 OCLforUML::Validation at last controls Papyrus InstanceSpecification validation
- 478416 Non-OCL Constraints are now tolerated
Milestone 3
Pivot
- 479405 Names using special sequences such as :: may now be used.
- 480018 DataTypes no longer convert to their behavioral type prematurely.
- 480635 EnumLiterals may now have annotations.
Milestone 4
Many fixes relate to support for auto-generation in conjunction with the QVTd project.
Pivot
- 480567 oclContainer/oclContents library properties added
- 482264 silent syntax errors in profiles diagnosed
- 482788 iterator variable names can now use arbitrary characters
Milestone 5
The code base for the Pivot plugins now requires a Java 8 BREE and uses the standard org.eclipse.jdt.annotation.@NonNull rather than the legacy clone org.eclipse.ocl.jdt.annotation7.@NonNull.
Pivot UML
- 485225 allInstances() now works for Stereotypes
- 485586 OCL parsing no longer fails for too simple UML models
Milestone 6
In conventional metamodeling, myElement.oclAsType(MyDerivedElement) supports casting myElement to the type MyDerivedElement. myElement is typically an M1 instance of the M2 class MyDerivedElement.
In a UML Object Diagram, an InstanceValue may need to be cast to an instance of a type defined in the same diagram, same meta-level. This was previously supported by some pragmatic functionality that endeavored to be helpful in identifying which meta-levels were actually in use. Such pragmatic functionality was of course flaky, difficult to understand and ambiguous for e.g. an InstanceSpecification.
The M6 support for the Pivot-based OCL introduces the new library operation oclAsModelType(aType) which may be used to cast to a type defined in the model. oclAsType(aType) may now only be used to cast to a type in the metamodel.
Using oclAsModelType() in the Xtext OCL Console gives similar but more undertstandable functionality to the M1/M2 pull-down menu option of the OCL Console.
The oclTypes() operation is also provided in anticipation of multi-classification for SMOF.
The oclModelTypes() operation supports the multi-classification of UML.
The oclModelType() and oclIsModelKindOf() counterparts to oclType() and oclIsKIndOf() are also provided.
Ecore/UML
- 488278 Long Integers are now correctly persisted - needed by QVTo.
Pivot
- 487181 CS models may now have embedded OCL.
- 487217 Imports are now relocated with respect to their importing module.
- 487320 Complex unary expressions now parenthesized after AS2CS conversion.
- 487322 Import of a Model now imports its top level packages.
- 487342 ShadowExp names are now qualified after AS2CS conversion.
- 487797 oclAsModelType() supports use of types at the same meta-level.
- 488374 Abstract collection types such as UniqueCollection cannot be a most derived common type solution.
- 488879 OclEnumeration introduced rather than Enumeration as the implicit user Enumeration supertype.
- 489948 OperationCallExp.isVirtual added to the Pivot model.
Pivot UML
- 485471 OclStereotype added as the implicit supertype of all user Stereotypes. aStereotype allInstances() works.
OCLstdlib
- 456235 Hovertext for Java class references no longer gives a UI freeze.
- 489310 Extension oclstdlib operations can now have a useable ClassLoader.
Milestone 7
Editors
- 473825 Reload problems mitigated by tolerating a UI freeze on open.
- 491966 Type-diagnosing hovertext takes precedence over marker hovertext.
OCLinEcore
- 492800 Template parameters may now be used with bidirectional properties.
Pivot
- 492293 Collections are now null-free by default.
Pivot UML
- 423905 Navigation to/from Associations/AssociationClasses is supported.
RC1
Complete OCL
- 491845 A Complete OCL load failure no longer re-fails while attempting to report the failure.
OCLinEcore
- 492960 References to EKeys are now persisted in Ecore.
RC2
Pivot
- 494227 Problems with unresolved pivot proxies in the Sample Ecore Editor resolved..
RC3
RC4
SR1
Eclipse OCL New and Noteworthy items for the Neon 6.1.1 SR1 release.
Classic Console
- 499347 Obscure NPE for ResourceSet-less Resources fixed
Pivot
- 484231 Repeated Complete OCL validations are no longer ignored
Pivot UML
- 496210 allInstances() may now be used for Signals
- 496251 OCL expressions now generally available for UMLElement again
- 496383 Association-derived Pivot properties have an ESObject back link again
- 498970 Obscure NPE for PackageImport labels fixed
SR2
Eclipse OCL New and Noteworthy items for the Neon 6.1.2 SR2 release.