As explained in the EclipseZone forum exchange on the topic, two strategies are available to listen to changes on an EMF model:
- EContentAdapter (from the EMF core)
- ResourceSetListener (from the EMF/transaction)
The EContentAdapter notifies of change on any EMF object (EObject). This requires to have a direct access on the object, what does not help much to listen on third-party changes (external editor on anything else). A tutorial by Lars Vogel details how to use it.
The ResourceSetListener solution, far more complete on the transaction point of view, helps to listen on external editor changes. It is observer pattern. An access to the editor's editing domain is required, it must be of type TransactionalEditingDomain in order to expose the registration method.