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.
Difference between revisions of "OCL/New and Noteworthy/Photon"
(→Milestone 2) |
|||
Line 14: | Line 14: | ||
===Pivot=== | ===Pivot=== | ||
+ | * [https://bugs.eclipse.org/500551 500551] OCL->Export Document menu entry allows embedded OCL to be saved as a distinct Complete OCL document. | ||
* [https://bugs.eclipse.org/519872 519872] XMI serialization of synthetic orphanage content is now accurate and less bloated. | * [https://bugs.eclipse.org/519872 519872] XMI serialization of synthetic orphanage content is now accurate and less bloated. | ||
* [https://bugs.eclipse.org/520886 520886] Non-default CollectionType lower/upper bounds are no longer default internally. | * [https://bugs.eclipse.org/520886 520886] Non-default CollectionType lower/upper bounds are no longer default internally. | ||
Line 19: | Line 20: | ||
* [https://bugs.eclipse.org/521588 521588] Complete OCL properties now have consistent xmi:ids. | * [https://bugs.eclipse.org/521588 521588] Complete OCL properties now have consistent xmi:ids. | ||
* [https://bugs.eclipse.org/521885 521885] Awkward identifiers are now correctly escaped. | * [https://bugs.eclipse.org/521885 521885] Awkward identifiers are now correctly escaped. | ||
+ | * [https://bugs.eclipse.org/522060 522060] "*" suffixed imports are no longer corrupted by a save. | ||
+ | * [https://bugs.eclipse.org/522087 522087] Integer literal initializers are now coerced to UnlimitedNatural when necessary. | ||
+ | * [https://bugs.eclipse.org/522106 522106] Many forms of unnecessary console logging resolved. | ||
+ | * [https://bugs.eclipse.org/522180 522180] An AS model with bad operation/property references is now saveable. | ||
+ | * [https://bugs.eclipse.org/522221 522211] A name ambiguously qualified by a package or alias is no longer ambiguous; the alias wins. | ||
+ | * [https://bugs.eclipse.org/522290 522290] Imports in the synthetic Complete OCL document no longer fail to resolve. | ||
− | === | + | ===Pivot UML=== |
− | * [https://bugs.eclipse.org/ | + | * [https://bugs.eclipse.org/521974 521974] Multi-package profiles such as SysML no longer fail to load. |
− | + | * [https://bugs.eclipse.org/521977 521977] Single pop-up now aggregates multiple loading problems. | |
− | + | * [https://bugs.eclipse.org/522256 522256] EnumerationLiterals in URI-less Profiles no longer try use the wrong EPackage URI. | |
− | * [https://bugs.eclipse.org/ | + | * [https://bugs.eclipse.org/522292 522292] Duplicate validation messages from applied profiles are now avoided. |
− | * [https://bugs.eclipse.org/ | + | |
− | + | ||
− | + | ||
− | * [https://bugs.eclipse.org/ | + | |
− | + | ||
==Milestone 3== | ==Milestone 3== |
Revision as of 04:57, 24 May 2018
Eclipse OCL New and Noteworthy items for the Photon 6.4.0 release.
Contents
Release Overview
This minor release fixes many bugs and provides enhanced extensibility for OCL-based applications such as QVT.
The Photon release is installable on Mars, Neon and Oxygen platforms provided Xtext 2.9 or greater is also installed.
Milestone 1
Pivot
- 521094 Multiple and alias-less imports now allowed in OCL stdlib files.
Milestone 2
Pivot
- 500551 OCL->Export Document menu entry allows embedded OCL to be saved as a distinct Complete OCL document.
- 519872 XMI serialization of synthetic orphanage content is now accurate and less bloated.
- 520886 Non-default CollectionType lower/upper bounds are no longer default internally.
- 520825 Locally Unique Semantically Sensitive IDs used to provide short stable determinstic xmi:ids.
- 521588 Complete OCL properties now have consistent xmi:ids.
- 521885 Awkward identifiers are now correctly escaped.
- 522060 "*" suffixed imports are no longer corrupted by a save.
- 522087 Integer literal initializers are now coerced to UnlimitedNatural when necessary.
- 522106 Many forms of unnecessary console logging resolved.
- 522180 An AS model with bad operation/property references is now saveable.
- 522211 A name ambiguously qualified by a package or alias is no longer ambiguous; the alias wins.
- 522290 Imports in the synthetic Complete OCL document no longer fail to resolve.
Pivot UML
- 521974 Multi-package profiles such as SysML no longer fail to load.
- 521977 Single pop-up now aggregates multiple loading problems.
- 522256 EnumerationLiterals in URI-less Profiles no longer try use the wrong EPackage URI.
- 522292 Duplicate validation messages from applied profiles are now avoided.
Milestone 3
Pivot UML
- 506191 Multi-language OpaqueExpressions now use the OCL language
Milestone 4
Pivot
- 474537 Operation call return types are now correctly specialized
- 507557 All class-typed properties have opposites - no exclusions for transient etc
- 507628 OCL Validation detects null feature types/names.
- 507658 LetVariable, IteratorVariable, ResultVariable introduced.
Pivot UML
- 507406 Evaluations of redefined properties with changed multiplicities no longer fail
Extensibility
- 412341 Extended validation may be merged into extended AS models
- 507425 Extended generation re-uses rather than corrupts base model elements
- 507843 Extended genmodels may use patform URIs
Milestone 5
Three subtle semantic changes.
The Pivot null-analysis exploits the common practice and UML mandate that Collections are null-free. If null content is required it must be declared.
The Pivot invalid-analysis now treats machine failures as fatal rather than invalid. Consequently a property navigation cannot return invalid, and a machine failure cannot be processed using oclIsInvalid().
The Pivot code generator is moving towards efficient inlining of Boolean operations. and/implies/not/or/xor can no longer be redefined.
Ecore
- 495621 User-defined Primitive types are now merged with regular Primitive types
- 509858 Opposite role name EAnnotation corrected for sensibly named Collection
- 510180 A zero lower bound for an EBoolean is ignored. It is always 1; not-null.
Pivot
- 467339 Null safety analysis now considers simple Boolean if/implies etc data flow
- 480060 elseif works
- 492293 Collections are null-free unless declared otherwise
- 495621 OCL can now be parsed in a user specified context
- 507628 OCL Validation detects null class names.
- 507628 OCL Validation detects that the closure body is assignable to the result.
- 509308 Shadow DataType elements may use a "value=" part with an arbitrary OCL expression.
- 509616 Collection return types are now modeled more accurately.
- 509670 Performance of Bags improved.
- 509713 Property navigation can no longer provide an invalid result.
- 510729 OCL library Pivot elements now have a stable corresponding Ecore element
Code Generator
- 509211 Constraints may now use lets to share common code for a tuple return of status and message
- 509222 Constraints may now use "context" as a variable name
- 509661 Boolean operations are not redefinable
Milestone 6
OCLinEcore
- 512452 OCL in Ecore validation now detects OCL validation as well as OCL parsing errors
Pivot
- 511536 The ParserContext is now extensible.
- 511782 Bounded collection bounds e.g. Set(T[4]) are now consistently inside the parentheses.
- 511992 Collections are never null (although they may have null elements)
- 512758 Collection multiplicities are more accurate for conversions such as oclAsSet().
Pivot UML
- 512448 Spurious no-invocationDelegates diagnosis for invariants removed
- 512449 Only the most recent stereotype EPackage is validated
- 512454 OCL in UML validation now detects OCL validation as well as OCL parsing errors
- 512545 Validation diagnostics now have UML context and so display sensibly in Papyrus
- 512553 Static class operations may now be used
- 512726 Navigable opposite properties may now be used
- 512910 Opposite properties of static profile stereotypes may now be used
Milestone 7
OCLinEcore
- 516274 Type bounds on Template Parameters are no longer lost when saving as Ecore
Pivot
- 515605 Unambiguous opposite properties no longer behave intermittently if their unqualified name is ambiguous.
Pivot UML
- 513773 Use of an Association end name no longer gices a ClassCastException
- 513824 Qualified names may now be partially qualified
- 514353 Associations nested within Classes are no longer ignored
- 516285 References to nested packages with URIs below packages with null URIs are no longer unresolved
Code Generation
- 514527 GenModel interface/implementation suffixes are now respected
Java 9, Guava 21
Milestone 7a
This cures a potential problem for users auto-generating Java code from OCL enriched models.
- 516797 @NonNull compilation errors detected by JDT M7 fixed
OCLinEcore
- 516301 OCL comments and GenModel documentation are now spliced as a single documnetation
RC1
Pivot
- 515027 Validation now fails if parsing fails
- 515050 Ambiguities due to same-named meta-properties are now resolved
- 516963 Unresolved proxies when editing AS files now diagnosed
- 517065 Irrelevant bad genmodels no longer cause failures
RC2
RC3
Code Generation
- 517119 Use of EInt with assertions enabled no longer fails
RC4
RC4a
Pivot UML
- 518130 Import of an unresolved profile is now diagnosed rather than an NPE