[cleanup] Ensure a predictable iteration order for Session views getters

Use a LinkedHashSet instead of an HashSet for Session.getOwnedViews()
and Session.getSeelctedViews(boolean) as HashSet does not provide "
guarantees as to the iteration order of the set; in particular, it does
not guarantee that the order will remain constant over time."

The issue has been seen on production with a random issue specific to a
client product (linked to the ViewpointRegistry instanciation in this
product). The bug was random due to this HashSet implementation which
was hiding the concrete issue.

Change-Id: Idcfa7c8b76fa61e4158f506058de6c32530ebfdf
Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
2 files changed
tree: 95385295cc0f1fc34ed52b52ebaca7419694a033
  1. packaging/
  2. plugins/
  3. releng/
  4. .gitattributes
  5. .gitignore
  6. .travis.yml
  7. build.sh
  8. CONTRIBUTING
  9. Jenkinsfile
  10. LICENSE
  11. NOTICE
  12. pom.xml
  13. 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.