Difference between revisions of "OCL/New and Noteworthy/Neon"
(→Pivot UML) |
(→Pivot UML) |
||
(16 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Eclipse OCL New and Noteworthy items for the Neon | + | Eclipse OCL New and Noteworthy items for the Neon 6.1.0 release. |
==Release Overview== | ==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== | ==Milestone 1== | ||
Line 38: | Line 44: | ||
==Milestone 3== | ==Milestone 3== | ||
+ | |||
+ | ===Pivot=== | ||
+ | * [https://bugs.eclipse.org/479405 479405] Names using special sequences such as :: may now be used. | ||
+ | * [https://bugs.eclipse.org/480018 480018] DataTypes no longer convert to their behavioral type prematurely. | ||
+ | * [https://bugs.eclipse.org/480635 480635] EnumLiterals may now have annotations. | ||
==Milestone 4== | ==Milestone 4== | ||
+ | Many fixes relate to support for auto-generation in conjunction with the QVTd project. | ||
+ | |||
+ | ===Pivot=== | ||
+ | * [https://bugs.eclipse.org/480567 480567] oclContainer/oclContents library properties added | ||
+ | * [https://bugs.eclipse.org/482264 482264] silent syntax errors in profiles diagnosed | ||
+ | * [https://bugs.eclipse.org/482788 482788] iterator variable names can now use arbitrary characters | ||
==Milestone 5== | ==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=== | ||
+ | * [https://bugs.eclipse.org/485225 485225] allInstances() now works for Stereotypes | ||
+ | * [https://bugs.eclipse.org/485586 485586] OCL parsing no longer fails for too simple UML models | ||
==Milestone 6== | ==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=== | ||
+ | * [https://bugs.eclipse.org/488278 488278] Long Integers are now correctly persisted - needed by QVTo. | ||
+ | |||
+ | ===Pivot=== | ||
+ | * [https://bugs.eclipse.org/487181 487181] CS models may now have embedded OCL. | ||
+ | * [https://bugs.eclipse.org/487217 487217] Imports are now relocated with respect to their importing module. | ||
+ | * [https://bugs.eclipse.org/487320 487320] Complex unary expressions now parenthesized after AS2CS conversion. | ||
+ | * [https://bugs.eclipse.org/487322 487322] Import of a Model now imports its top level packages. | ||
+ | * [https://bugs.eclipse.org/487342 487342] ShadowExp names are now qualified after AS2CS conversion. | ||
+ | * [https://bugs.eclipse.org/487797 487797] oclAsModelType() supports use of types at the same meta-level. | ||
+ | * [https://bugs.eclipse.org/488374 488374] Abstract collection types such as UniqueCollection cannot be a most derived common type solution. | ||
+ | * [https://bugs.eclipse.org/488879 488879] OclEnumeration introduced rather than Enumeration as the implicit user Enumeration supertype. | ||
+ | * [https://bugs.eclipse.org/489948 489948] OperationCallExp.isVirtual added to the Pivot model. | ||
+ | |||
+ | ===Pivot UML=== | ||
+ | * [https://bugs.eclipse.org/485471 485471] OclStereotype added as the implicit supertype of all user Stereotypes. aStereotype allInstances() works. | ||
+ | |||
+ | ===OCLstdlib=== | ||
+ | * [https://bugs.eclipse.org/456235 456235] Hovertext for Java class references no longer gives a UI freeze. | ||
+ | * [https://bugs.eclipse.org/489310 489310] Extension oclstdlib operations can now have a useable ClassLoader. | ||
==Milestone 7== | ==Milestone 7== | ||
+ | |||
+ | ===Editors=== | ||
+ | * [https://bugs.eclipse.org/473825 473825] Reload problems mitigated by tolerating a UI freeze on open. | ||
+ | * [https://bugs.eclipse.org/491966 491966] Type-diagnosing hovertext takes precedence over marker hovertext. | ||
+ | |||
+ | ===OCLinEcore=== | ||
+ | * [https://bugs.eclipse.org/492800 492800] Template parameters may now be used with bidirectional properties. | ||
+ | |||
+ | ===Pivot=== | ||
+ | * [https://bugs.eclipse.org/492293 492293] Collections are now null-free by default. | ||
+ | |||
+ | ===Pivot UML=== | ||
+ | * [https://bugs.eclipse.org/423905 423905] Navigation to/from Associations/AssociationClasses is supported. | ||
==RC1== | ==RC1== | ||
+ | |||
+ | ===Complete OCL=== | ||
+ | * [https://bugs.eclipse.org/491845 491845] A Complete OCL load failure no longer re-fails while attempting to report the failure. | ||
+ | |||
+ | ===OCLinEcore=== | ||
+ | * [https://bugs.eclipse.org/492960 492960] References to EKeys are now persisted in Ecore. | ||
==RC2== | ==RC2== | ||
+ | |||
+ | ===Pivot=== | ||
+ | * [https://bugs.eclipse.org/494227 494227] Problems with unresolved pivot proxies in the Sample Ecore Editor resolved.. | ||
==RC3== | ==RC3== | ||
Line 57: | Line 137: | ||
== SR1== | == SR1== | ||
− | Eclipse OCL New and Noteworthy items for the Neon | + | Eclipse OCL New and Noteworthy items for the Neon 6.1.1 SR1 release. |
+ | |||
+ | ===Classic Console=== | ||
+ | * [https://bugs.eclipse.org/499347 499347] Obscure NPE for ResourceSet-less Resources fixed | ||
+ | |||
+ | ===Pivot=== | ||
+ | * [https://bugs.eclipse.org/484231 484231] Repeated Complete OCL validations are no longer ignored | ||
+ | |||
+ | ===Pivot UML=== | ||
+ | * [https://bugs.eclipse.org/496210 496210] allInstances() may now be used for Signals | ||
+ | * [https://bugs.eclipse.org/496251 496251] OCL expressions now generally available for UMLElement again | ||
+ | * [https://bugs.eclipse.org/496383 496383] Association-derived Pivot properties have an ESObject back link again | ||
+ | * [https://bugs.eclipse.org/498970 498970] Obscure NPE for PackageImport labels fixed | ||
==SR2== | ==SR2== | ||
− | Eclipse OCL New and Noteworthy items for the Neon | + | Eclipse OCL New and Noteworthy items for the Neon 6.1.2 SR2 release. |
+ | |||
+ | ===Pivot UML=== | ||
+ | * [https://bugs.eclipse.org/506191 506191] Multi-language OpaqueExpressions now use the OCL language | ||
+ | * [https://bugs.eclipse.org/507406 507406] Evaluations of redefined properties with changed multiplicities no longer fail |
Latest revision as of 15:21, 11 November 2016
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.