[EOL] Model objects manipulation (copying...) [message #1065765] |
Thu, 27 June 2013 08:31  |
Eclipse User |
|
|
|
Hi guys,
I'm trying to make some operations upon models inside an EOL script and I need some guidance here. My problem should be common but I haven't seen anything in book/articles/forum about it.
A little background
I'm trying to copy a model IN to a model OUT. My eol script is run with both model described correctly in the eclipse run configuration.
Problem:
I can't find a proper way of copying model instances. I tried the following Native tools:
- ECoreUtil.copy
EmfTool.getECoreUtil().copy(...my root in IN...);
I get a copy of instances but they still relate to the IN model (via owningModel()) and I can't change it.
- EmfTool.createModel2
System.context.getModelRepository().removeModel(OUT);
var m = EmfTool.createModel2(...my root in IN..., "OUT", fileURI);
m.readOnLoad = false;
m.storedOnDisposal = true;
This one works to make the copy, the stored file is valid. However I can't navigate the model in the rest of the script. For instance, if I write OUT!A.all, I get zero instances even though my model has some.
Is my approach to the problem wrong, or have I missed a trivial solution to the problem?
Subsidiary questions
- Could you give me pointers for java native tools? The article that introduces them doesn't give any doc of them and looking at the sources only lead me to uncertain guesses.
- I don't understand the behaviour of the OUT variable. How does the script engine resolve model names? It looks like it is dynamically resolved to an IModel instance based on the model repository. However, I checked in debug, my context seems to be ok.
Moreover, I don't get why the script crashes if I try to write m!A when m is an IModel variable and A a concept name.
Thanks a lot
Cheers
[Updated on: Thu, 27 June 2013 08:35] by Moderator
|
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.08335 seconds