Hi Juergen,
could you please file a bug on EMF Transaction.
I'll have to evaluate the impact of the proposed change.
Thanks,
Boris
"Juergen Aschenbrenner" <juergen.aschenbrenner@xxxxxxxxx> wrote in
message news:h4ubcp$5ep$1@xxxxxxxxxxxxxxxxxxxx
When deleting a resource from workspace, the workspace synchronizer
will fire handleResourceChanged events events on all resources though
they havent been changed.
This is because in the workspace synchronizer in the processDelta
operation in the IResourceDelta.CHANGED case does not check if the
contents actually have been changed.
I find this a bit myself esoteric but it seems thats the eay how
resource change events work with eclipse: When a resource is deleted
the ResourcePlugin puts the entire workspace into the resource delta
one is required to visit in order to figure out in what the actual
change consists in.
To check if a resource has actualy changed on has the check
if ((delta.getFlags() & IResourceDelta.CONTENT) != 0) [1]
This would avoid a lot of unload and reload operations, especialy when
it comes to GMF after a diagram is deleted and this events ripples
through all editing domains with their attached resource sets causing
the lag
[1]
http://www.eclipse.org/articles/Article-Resource-deltas/resource-deltas.html