| Summary: | Cache the INode model | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] TMF | Reporter: | Mark Christiaens <mark.g.j.christiaens> | ||||||||||||
| Component: | Xtext | Assignee: | Jan Koehnlein <jan> | ||||||||||||
| Status: | CLOSED FIXED | QA Contact: | |||||||||||||
| Severity: | enhancement | ||||||||||||||
| Priority: | P3 | CC: | hendrik, jan, lieven.lemiengre, sebastian.zarnekow, tmf.xtext-inbox | ||||||||||||
| Version: | 2.1.0 | Flags: | sebastian.zarnekow:
juno+
|
||||||||||||
| Target Milestone: | M7 | ||||||||||||||
| Hardware: | All | ||||||||||||||
| OS: | All | ||||||||||||||
| Whiteboard: | |||||||||||||||
| Attachments: |
|
||||||||||||||
|
Description
Mark Christiaens
Created attachment 204504 [details]
Patch to support EMF and INode model caching
This is a patch against rev. 5a7287712012ad3f53839bdabfc244955e0e990d
Preliminary scheduled for m6. For now we should just go for the serialization support for the node model. This allows clients to apply an own caching strategy / use your support code from github. The generic EMF model caching leaves too many open ends when it comes to derived state aware resources. Could you please update the patch accordingly? Created attachment 212336 [details]
Patch to update Xtext with basic support to marshall the node model
Path against Xtext head rev. 039b9a800666687c677f4202ec84641ac7b4b8af
Mark, thanks for the updated patch. At a first glance it contains classes like Cache, ProfilingClusteringBuilderState et al. Those shouldn't be necessary to serialize the node model, are they? (In reply to comment #4) > Mark, > > thanks for the updated patch. > At a first glance it contains classes like Cache, > ProfilingClusteringBuilderState et al. Those shouldn't be necessary to > serialize the node model, are they? Mark, did I miss something obvious here? I'm taking over from Mark. I expect to have a clean patch ready by tomorow Great news, Lieven. Looking forward to the patch. Created attachment 212630 [details]
cleaned patch
Lieven, thanks for the updated patch. Unfortunately it still contains code for the caching itself. Please see comment #2. We should only extend the node model to allow serialization / deserialization. The caching itself should be up to the client for now. If I'm not mistaken, only the node infrastructure is currently too closed for the client world to allow a caching strategy as described thus only this part of the framework should be affected by the patch. Please let me know if I misunderstood something. Created attachment 212778 [details]
cleaned patch
This is a patch with only the node serialization.
Thanks, Lieven. I'm still not fond of the ISerializationService (especially the parameter- and return types, see here: https://github.com/mark-christiaens/xtext/issues/30) but I think we can go ahead with a second reviewer (any volunteers) and meanwhile file a CQ. (In reply to comment #11) > Thanks, Lieven. I'm still not fond of the ISerializationService (especially the > parameter- and return types, see here: > https://github.com/mark-christiaens/xtext/issues/30) but I think we can go > ahead with a second reviewer (any volunteers) and meanwhile file a CQ. I think that I can remove the ISerializationService and DefaultSerializationService. Created attachment 212979 [details]
Patch without ISerializationService & DefaultSerializationService
CQ filed: http://dev.eclipse.org/ipzilla/show_bug.cgi?id=6405 Mark, Lieven, could you please comment on this bugzilla according to http://www.eclipse.org/tm/development/committer_howto.php#external_contrib I, Lieven Lemiengre, declare that I developed attached code from scratch, without referencing any 3rd party materials except material licensed under the EPL. I am authorized by my employer to make this contribution under the EPL. I, Mark Christiaens, declare that I developed attached code from scratch, without referencing any 3rd party materials except material licensed under the EPL. I am authorized by my employer to make this contribution under the EPL. Applied patch. Thanks a lot. I marked the new serialize API as internal. Requested via bug 522520. -M. Requested via bug 522520. -M. |