Tree: fix exception with nested delete all events

Use case:
Tree with following structure:
A
|-B 
  |-C with Table

1. RemoveChildNodes for B -> allChildNodesDeleted event for B
2. RemoveChildNodes for A -> allChildNodesDeleted event for A

TreeEventBuffer will remove first event so JsonOutline only processes
the second one. It should now dispose the table for node C, but this
won't happen because B.getChildNodes().size() will return the actual
child node size which is 0 because they are removed from the model.

Solution: JsonOutline needs to keep track of the child/parent link so
that really all nodes are disposed on a delete event.

215123

Change-Id: I2bb3878ad3ca721462685874221b345f15a635c1
Reviewed-on: https://git.eclipse.org/r/106525
Tested-by: Hudson CI
Reviewed-by: Beat Schwarzentrub <bsh@bsiag.com>
4 files changed
tree: cec2ceef88a7519f73c031c21ccb860714c61bd7
  1. license_files/
  2. org.eclipse.scout.dev.jetty/
  3. org.eclipse.scout.dev.jetty.test/
  4. org.eclipse.scout.dev.jetty.test.affix/
  5. org.eclipse.scout.jaxws.apt/
  6. org.eclipse.scout.json/
  7. org.eclipse.scout.rt/
  8. org.eclipse.scout.rt-settings/
  9. org.eclipse.scout.rt.client/
  10. org.eclipse.scout.rt.client.test/
  11. org.eclipse.scout.rt.mom/
  12. org.eclipse.scout.rt.mom.api/
  13. org.eclipse.scout.rt.mom.api.test/
  14. org.eclipse.scout.rt.mom.jms/
  15. org.eclipse.scout.rt.mom.jms.test/
  16. org.eclipse.scout.rt.platform/
  17. org.eclipse.scout.rt.platform.test/
  18. org.eclipse.scout.rt.server/
  19. org.eclipse.scout.rt.server.commons/
  20. org.eclipse.scout.rt.server.commons.test/
  21. org.eclipse.scout.rt.server.jaxws/
  22. org.eclipse.scout.rt.server.jaxws.test/
  23. org.eclipse.scout.rt.server.jdbc/
  24. org.eclipse.scout.rt.server.jdbc.test/
  25. org.eclipse.scout.rt.server.jms/
  26. org.eclipse.scout.rt.server.test/
  27. org.eclipse.scout.rt.serverbridge/
  28. org.eclipse.scout.rt.shared/
  29. org.eclipse.scout.rt.shared.test/
  30. org.eclipse.scout.rt.svg.client/
  31. org.eclipse.scout.rt.svg.client.test/
  32. org.eclipse.scout.rt.svg.ui.html/
  33. org.eclipse.scout.rt.team-project-set/
  34. org.eclipse.scout.rt.ui.html/
  35. org.eclipse.scout.rt.ui.html.scriptprocessor/
  36. org.eclipse.scout.rt.ui.html.scriptprocessor.test/
  37. org.eclipse.scout.rt.ui.html.selenium/
  38. org.eclipse.scout.rt.ui.html.test/
  39. shell_scripts/
  40. .gitattributes
  41. .gitignore
  42. .gitreview
  43. CONTRIBUTING.md
  44. pom.xml
  45. README.md
README.md

Eclipse Scout - RT

[Eclipse Scout] 1 is a mature and open framework for modern, service oriented business applications. It substantially boosts developer productivity and is simple to learn.

This Repository Eclipse Scout RT contains the source for the runtime components embedded in the applications build on top of the Eclipse Scout Framework.

Downloads

The content of this repository is build on the Eclipse infrastructure and the different versions are available on several [P2 Update Sites] 2.

The easiest way to start with Eclipse Scout is to download Eclipse for Scout Developers Eclipse for Scout Developers on the [Eclipse downloads page] 3.

Documentation & Links

  • [Eclipse Scout Wiki] 4
  • [Eclipse Scout Forum] 5
  • [Eclipse Bugzilla] 6 (Product=Scout; Component=Scout)

Contribution Guidelines

We welcome any kind of contributions (Bug report, documentation, code contribution...). Please read the [Eclipse Scout Contribution page] 7 to know more about it.

The contribution process of Eclipse Scout is hosted on tools deployed by the Eclipse Foundation (involing [Bugzilla] 6, Gerrit, Hudson, MediaWiki...).

External tools like the GitHub tracker and pull requests are not supported.

Get in Touch

To get in touch with the Eclipse Scout community, please open a thread in the [Eclipse Scout Forum] 5 or send a mail to [our mailing list] 8: scout-dev@eclipse.org

License

[Eclipse Public License (EPL) v1.0] 9