1) With Uzi's help, we have finally managed to create a
working version of our custom Xcore+IncQuery Reflective Model
editor that works well with dynamic resources and query-based
derived features.
The trick is that when this editor is initialized, it will
scan the project of the instance model file, and attempt to load
all .eiq files from there, so that the Query Specification
Registry can be (dynamically) initialized. The loading of .eiqs
is done with a specially prepared Xtext resourceset (and this
resourceset is completely separate from the "main" resourceset
of the editor, i.e. into which the dynamic instance will be
loaded later on).
I have tested with the library example, with both normal
and "problematic" derived feature queries, and everything
seems to work well. However, unfortunately, this approach does
not support a combination of .eiq files that link to each
other, so the library example will have to be refactored to
avoid this. Again, multiple .eiqs can be used, just make sure
that there are no direct interlinks (= find to a different
.eiq file) between these.
I have also tested whether indirect interlinking (i.e. by
using query-based derived features inside the queries) works,
and unfortunately no. Abel, do you have a clue why? Might this
be related to Tomi's question about the caching?
2) On a slightly related note, the previously seen "cyclic
linking error" seems to be gone, I cannot reproduce it
anymore…
3) Regarding the problems with eval(), I haven't checked
Tomi's error reports from below, but he said to me that he
only tested in the dynamic configuration, so they might be
resolved now (or, they should be tested in the generated
configuration as well).
4) As agreed on the last meeting, I have now merged the
xtext-2.5 branch into master. Everything should be done on
master from now on.
So, in summary, currently both the dynamic and generated
configurations should work equivalently, making it possible to
finalize the library example itself.
Istvan
--
Istvan
RATH, PhD
Research
fellow
Budapest University of Technology and Economics
Fault
Tolerant Systems Research Group