Sirius 6.4.2rc5
[571249] Update tests to correctly managed OffscreenEditPart

Currently the lifecycle of the OffscreenEditPart (and associated
EditPartViewer, Shell, Listeners, ...) is not correctly managed in tests
of MappingBasedSiriusFormatManagerFactory.
The Shell is disposed too early. As consequence, when the postCommit
listeners are called, the EditParts, especially DEdgeEditParts, are no
longer recorded as listeners. So they are not notified, and the effect
on Draw2D edges are not done. The final consequence is that the Draw2D
points list recorded for edges in tests were wrong. As we compared with
an expected result, generated from the tests themselves, we had not seen
this problem before.

The steps are now similar to:
* Get the offscreen edit part (by creating a new Shell)
* Execute the RecordingCommand (the post commit listeners are called at
the commit of the transaction)
* Deal with the offscreen edit part (mainly store the format data)
* Undo the command (to let the session, more or less, in its previous
state)
* Clean and dispose the offscreen edit part (and its associated Shell)

This commit contains also a change in
MappingBasedSiriusFormatManagerFactory: only to create one shell per
OffscreenEditPart. In reality, there is no impact with this modification
because there is only one Diagram for each DRepresentation. But the code
is now cleaner.

Bug: 571249
Change-Id: I74a706c5b1017d8688cc7327df30ca8f0d5af844
Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
61 files changed
tree: ecfa3c6e1de457dfdb3839b5a8786e042aa32de8
  1. packaging/
  2. plugins/
  3. releng/
  4. .gitattributes
  5. .gitignore
  6. build.sh
  7. CONTRIBUTING
  8. Jenkinsfile
  9. LICENSE
  10. NOTICE
  11. pom.xml
  12. README.md
README.md

Eclipse Sirius

Build Status

Sirius enables the specification of a modeling workbench in terms of graphical, table or tree editors with validation rules and actions using declarative descriptions.

For more details see the project page and the main wiki page.

Building

The build uses Tycho. To launch a complete build, issue

mvn clean package

from the top-level directory. The resulting update-site (p2 repository) can be found in packaging/org.eclipse.sirius.update/target/repository.

By default the build uses a Neon-based target platform. You can specify a different platform like this:

mvn clean package -Dplatform-version-name=name

where name can be any of the following values:

  • mars (Eclipse 4.5)
  • neon (Eclipse 4.6, the default and reference target platform)
  • canary (uses nightly builds of all our dependencies, only used for testing)

The corresponding target platform definitions can be found in releng/org.eclipse.sirius.targets.