Graphiti "New and Noteworthy" for Eclipse Mars

Last revised January 20, 2016

This document describes the new development topics that were addressed during the milestones towards the release 0.12.2 within the Mars release train.

Mars.2

The main focus for this milestone has been set on fixing bugs.
Bug 477659 A potential NullPointerException in DefaultRefreshBehavior on refresh has been fixed.

Mars.1

The main focus for this milestone has been set on fixing bugs.
Bug 470038 A potential NullPointerException in DiagramBehavior on unregistering listeners has been fixed.
Bug 470150 A potential NullPointerException in DiagramBehavior adaptation mechanism has been fixed.
Bug 470455 A bug causing problems in creating connections when the top shape has no anchor has been fixed.
Bug 472219 ImageServices now handles bundleentry and bundleresource urls correctly.
Bug 473087 A potential ClassCastException in diagram loading has been fixed.
Bug 475133 A potential NullPointerException in ShapeEditPart while creating edit policies has been fixed.
Bug 475240 A bug in the undo/redo handling of Graphiti has been fixed.
Bug 477083 A bug in transaction reuse handling has been fixed. Read-only transactions and transactions owned by other threads will not be used any more.
Bug 477132 A potential stack overflow in diagram update has been fixed.
Bug 477420 A potential NullPointerException painting the diagram grid has been fixed.
Bug 477526 A potential NullPointerException in the Graphiti GEF change handling has been fixed.

RC3

The main focus for this milestone has been set on fixing bugs.
Bug 467824 Graphiti needs to consume org.apache.batik.dom version 1.7.1 instead of 1.7.0 in order to fix a security releated issue in that library.

RC2

The main focus for this milestone has been set on fixing bugs.
Bug 467502 A potential NullPointerException in DiagramComposite.getWorkbenchPart().getSite() has been fixed.
Bug 467824 To consume a security fix in org.apache.batik.dom Graphiti needed to update the batik dependency from 1.7.0 to 1.7.1

RC1

The main focus for this milestone has been set on fixing bugs.
Bug 464857 A bug in image handling causing a resource leak has been fixed.
Bug 466953 A potential NullPointerException in disposing the configuration provider has been fixed.
Bug 467476 A bug that allows the wrong initialization of the Graphiti palette root instance has been fixed.

M7

The main focus for this milestone has been set on fixing bugs.
Bug 459386 A bug causing rendering decorators on connections not being refreshed has been fixed.
Bug 459511 A NullPointerException in intersection calculation for anchors using a Polygon as graphics algorithm has been fixed.
Bug 463303 A NullPointerException in retrieving the editing domain for closing down editors has been fixed.
Bug 464596 An IndexOutOfBoundsException has been fixed in undo/redo handling.

M6

The main focus for this milestone has been set on fixing bugs.
Behavior classes rework The class DiagramBehavior and DiagramRefreshBehavior have been reworked to allow for easier subclassing and overriding. Some before protected or private members and methods are now accessible from subclasses and/or other behavior classes. This is a minor API change.
Bug 460019 A bug in one of the translatable texts has been fixed.
Bug 460486 A bug in one of the translatable texts has been fixed.

M5

The main focus for this milestone has been set on fixing bugs.
Bug 458465 A bug in finding the child shape in a container has been fixed. In case of shapes that were sent to back, a wrong shape might have been returned.

M4

The main focus for this milestone has been set on implementing improvements and fixing bugs.
Provide an abort possibility for delete and remove features Delete and remove features now also support abortion after the preDelete and preRemove hooks.
Bug 450884 The Graphiti "view" menu added in the editor now has an ID that clients can use in case the want to add own entries.
Bug 450993 A rendering issue with the context button pad has been fixed that occurred when the associated shape was not high enough.

M3

The main focus for this milestone has been set on implementing improvements and bugfixing.
Improve undo/redo handling The client options to influence undo/redo handling have been improved. There are now hooks before and after the actual EMF undo to implement own functionality. Also it is possible to abort undo/redo.
Bug 449384 A bug in the enablement check of the print action that on Linux systems potentially caused a hanging Diagram editor during opening has been fixed.

M2

The main focus for this milestone has been set on implementing improvements and bugfixing.
Additional createDiagram method To ease diagram creation a new service method has been introduced.
TextBuilder A TextBuilder helper class has been introduced to ease the creation of TextStyleRegions.
Asynchronous feature execution To enable the asynchronous execution of long running custom features a new base class AbstractAsynchronousCustomFeature has been introduced.
Bug 407894 The configuration and initialization of the graphival viewer inside diagram editors and viewers that happened so far by a hack has been made more robust. This required a minor API change.
Bug 412858 The bug that canUpdate was not called before updatedNeeded in some situations has finally been fixed. Clients might need to adapt to the new behavior, before they only got a warning that they do not behave correctly.
Bug 429531 The Graphiti EMF model has been alingned with the generated coding. This caused no behavioral changes but removed the need for manual corrections (like version tags, comments) after re-generating.
Bug 429532 Deprecations introduced in previous releases in the Graphiti coding have been removed. This required a API change.
Bug 442879 The Graphiti dependencies to other project like Eclipse platforms, EMF, GEF have been increased. Now at least the versions that are part of the Luna release train are required.
Bug 442895 Graphiti now uses Batik 1.7.0 for SVG export, before it used Batik 1.6.0..
Bug 439689 A bug that caused invisible pictogram elements to become marked with a selection border on setting the selection in the editor has been fixed.
Bug 440796 A bug that caused incorrect notifications on changing the rotation attribute of AbstractText has been fixed.

M1

The main focus for this milestone has been set on bugfixing.
Bug 437933 A potential NullPointerExecption in the method isDirty() in DefaultPersistencyBehavior has been fixed.
Bug 436601 A potential race condition in the save logic of DiagramEditor has been fixed. It could have caused erroneous update and refresh behaviors in the editor that are hard to track down.