Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [wtp-incubator-dev] EMF2DOMSSE

David Carver wrote:
Konstantin Komissarchik wrote:
Yes, the EMF2DOM infrastructure is definitely built on assumption that you are mapping to specific java types based on element names. Good fit if your model represents a particular schema, but probably not for cases where you are trying to model arbitrary XML.

So why not just use DOM with SSE extensions directly if your editor manipulates generic XML? That gives you structure plus offset information. What would be gained by introducing another model and then having to deal with bi-directional synchronization problems?
The problem is that the offset information is completely different between the VEX Visual Editor and the DOM Structured Text Editor. They are representing two different types of models though modeling similar concepts.

I don't quite follow what you mean about offset information...
However, I'm doing something similar to what you had suggested after talking with Ed Merks, basically doing a wrapper, and handling the notifications within the EMF classes themselves. It's similar to the wrapping concept that you mentioned earlier. I originally thought about just extending the existing SSEDOM to handle the other information I needed (i.e. different offsets, etc) but that was going to mean reimplementing much of the WTP DOM implementation which was more than I wanted to deal with.
It sounds to me like you are looking to implement the same kind of technique as was used in the Mule IDE, where an adapter layer is used. The adapter layer uses the meta-information present in the ECore model, and effectively uses the XMLSave and XMLLoad implementations (and related helpers) to provide much of this mapping - EMF adapters added to update the SSE DOM and SSE DOM listeners which update the ECore model.

We actually made it update an EMF model so well that a GMF based editor could pick up the changes. BUT the framework ended up mirroring lot of generic EMF save/load code, and it was following the old (EMF 2.3) metadata, not including the latest extensions to the XML metadata added by Ed and others.

-Jesper


Back to the top