Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

OCL/New and Noteworthy/Juno

Eclipse OCL New and Noteworthy items for the Juno 4.0.0 release.

Release Overview

Ecore and UML

The core Ecore and UML functionality is substantially unchanged.

  • bug fixes including
    • deep static operation overload resolution
    • optional dynamic operation dispatch for evaluation
  • additional Collection library iterations
    • selectByKind, selectByType
  • missing OCL 2.2 String library operations
    • +, at, characters, indexOf, substring
  • additional String library operations
    • endsWith, lastIndexOf, startsWith, substituteAll, substituteFirst, tokenize
  • additional String library regex operations
    • matches, replaceAll, replaceFirst
  • Window->Preference page for options

Pivot Examples

The examples Pivot functionality is steadily evolving towards UML alignment

  • as above as for Ecore and UML
  • experimental Direct to Java Code Generation
    • see the Code Generation Tutorial in the OCL Documentation
  • Complete OCL documents can be loaded into other modeling tools
    • see the Complete OCL Tutorial in the OCL Documentation

Milestone 1

Project

  • 349114 GIT is now used to manage source code

Language

  • 349125 OclSelf introduced
  • 350894 URI namespace qualification introduced

Editors

  • 353519 Markups in comments introduced

OCLinEcore Editor

  • 353793 Inter-resource references no longer lost on load
  • 354210 Initial module declaration no longer necessary
  • 354290 Package reference errors after editing fixed
  • 354336 Source-less EAnnotations supported

Ecore

  • 352964 EcoreEvaluationEnvironment extensible for QVTo collections
  • 353171 NPE for solitary Query delegate

Pivot

  • 349758 PrettyPrinter introduced

Milestone 2

The MDT/UML2 project now supports UML 2.4 and so Eclipse OCL is therefore also now based on UML 2.4.

OCLinEcore Editor

  • 351578 Inherited constraints no longer ignored
  • 355471 Distinct SaveAS/SaveIn Ecore introduced

Pivot

  • 354907 Polymorphic int/long/BigInteger values introduced
  • 355790 Duplicate TypeManager registrations eliminated

Milestone 3

This new direct OCL 2 Java Code Generator Component supports genmodelling of direct Java code for OCL delegate annotations giving a major perfotmance improvement, typically 5 to 50 times improvmenet in evaluation speed and eliminating the run-time costs of OCL parsing. The Code Generator is packaged in the separate OCL Tools feature since it has a dependency on Acceleo which has a dependency on OCL-ecore.

OCLinEcore Editor

  • 328288 reference keyword added for EAnnotation references
  • 358915 /** */ Comments persist as GenModel documentation EAnnotations
  • 362620 Nested packages prefixes no longer corrupted on load

Ecore

  • 324765 Delegate initialization routine added
  • 360072 'pivot' as well as 'ecore' OCL delegates can be intermixed

Pivot

TypeManager has been renamed as MetaModelManager, but remains as a deprecated subclass.

  • 324765 Delegate initialization routine added
  • 349962 Moniker-based synchronization replaced by CS URIs
  • 349964 All Values have a type
  • 352950 Numeric down-casts are now errors
  • 360072 'pivot' as well as 'ecore' OCL delegates can be intermixed

Code Generator

  • 279638 Code generator introduced

Milestone 4

Pivot

  • 351512 collect() now provides a flattened return type
  • 358713 ecore::EByte, EByteObject, EChar, ECharacterObject supported

Milestone 5

Ecore

  • 363638 Delegate memory leakage addressed

Pivot

  • 309459 selectByKind, selectByType added

Milestone 6

UI

  • 360354 Workspace preferences introduced for OCL parsing and evaluation options

Ecore, UML

  • 372908 Use of closure() no longer generates a warning by default

Complete OCL

  • 368612 Complete OCL can be loaded into other editors

Editors

  • 345282 Completion proposals are now generally available

Console (Xtext)

  • 370397 Multi-line entry possible using Shift or Ctrl Enter

Milestone 7

Ecore, UML

  • 378577 Overloads now resolve to best rather than first match
  • 377374 import statements ignored in Complete OCL for pivot compatibility
  • 367822 Dynamic dispatch evaluation option added
  • 350493 Internal Ecore implementation of Tuple reuses UML approach
  • 344368 Long generally useable in place of Integer

Pivot

  • 378205 Datatypes can be constructed and serialised toString
  • 373289 String::tokenize() added

OCLinEcore

  • 362517 Ecore.ecore loadable again

RC1

Ecore

OCLinEcore

  • 363273 Save of bad *.oclinecore as *.ecore prevented

SR1

Eclipse OCL New and Noteworthy items for the Juno 4.0.1 SR1 release.

SR2

Eclipse OCL New and Noteworthy items for the Juno 4.0.2 SR2 release.

Back to the top