Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » OCL » Re: [EMF] How to create an instance of an ecore model
Re: [EMF] How to create an instance of an ecore model [message #66576] Thu, 05 February 2009 12:58 Go to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33218
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------040000050301020605090905
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Miguel,

I don't know much about OCL. I've added the OCL newsgroup to the "to"
list of the reply. Do doubt Christian will see it...


Miguel Angel Garcia de Dios wrote:
> Ih Ed Merks,
> I've changed the property volatile of the "people" ERefeference of
> "People" class, which is my container of Person. Then I can generate
> instances of Person from "people" EReference but now I have a new
> different problem: with the "OCL Interpreter Console" plugin installed
> I have made many OCL queries but I've obtained an unexpected value
> attached as a screenshot: Having three instances of Person, the OCL
> query "Person.allInstances()" returns an empty result. But if I write
> "self.name" (being the context an instance of Person) I obtain the
> desired result ('Ada' for example). I think I have any wrong property
> value because it seems like Person isntances are no related ro
> something similar.
>
> Thank you!
>
> Miguel Angel Garcia de Dios wrote:
>> Ed Merks,
>> Yes, I did. I marked the feature as volatile.
>> I think it cannot be so complicated. Maybe any value of a property is
>> not correct so, to ensure that I'm going to attach screenshots for
>> everything (it is not so much).
>>
>> I am really concerned with that because I think it should be easier.
>> Thank you in advance!
>>
>> Ed Merks wrote:
>>> Miguel,
>>>
>>> Did you mark the feature as volatile such that no code is generated
>>> for it?
>>>
>>>
>>> Miguel Angel Garcia de Dios wrote:
>>>> Ed Merks,
>>>> I have the containment property of my desired container class in
>>>> true, the GenFeature properties are also update: containment=true
>>>> and the GenEdit properties contains children=true and create
>>>> children=true.
>>>> I hope you can be more explicity with the solution of my problem
>>>> please.
>>>> The last error I've obtained is when I create My.container file
>>>> from a Poeple object. Hten I click on it and I get the nex error:
>>>>
>>>> Unhandled event loop exception:
>>>> java.lang.UnsupportedOperationException
>>>> at Container.impl.PeopleImpl.getPeople(PeopleImpl.java:113)
>>>> at Container.impl.PeopleImpl.eGet(PeopleImpl.java:141)
>>>> at
>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1012)
>>>>
>>>> at
>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1004)
>>>>
>>>> at
>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:999)
>>>>
>>>> at
>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:338)
>>>>
>>>> at
>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:397)
>>>>
>>>> at
>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:384)
>>>>
>>>> at
>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.hasChildren(AdapterFactoryContentProvider.java:198)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2076)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer .java:582)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2102)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(Abst ractTreeViewer.java:2752)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.j ava:842)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:828)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractT reeViewer.java:802)
>>>>
>>>> at
>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createChildren( AbstractTreeViewer.java:776)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewer.createChildren(TreeView er.java:634)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpan d(AbstractTreeViewer.java:1442)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeVi ewer.java:927)
>>>>
>>>> at
>>>> org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded( AbstractTreeViewer.java:1453)
>>>>
>>>> at
>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:126)
>>>>
>>>> at
>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1182)
>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1167)
>>>> at
>>>> org.eclipse.swt.widgets.Tree.gtk_test_expand_row(Tree.java:2 026)
>>>> at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1572)
>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4105 )
>>>> at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native
>>>> Method)
>>>> at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:57 92)
>>>> at org.eclipse.swt.widgets.Display.eventProc(Display.java:1177)
>>>> at
>>>> org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Na tive
>>>> Method)
>>>> at
>>>> org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS. java:1550)
>>>> at
>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3031)
>>>> at
>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>> at
>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>
>>>> at
>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>
>>>> at
>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>> at
>>>> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>>>>
>>>> at
>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>>>>
>>>> at
>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>>>>
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>>>>
>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>> at
>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>
>>>> A lot of thanks!
>>>> And always sorry for my bad English.
>>>>
>>>> Ed Merks wrote:
>>>>> Miguel,
>>>>>
>>>>> Comments below.
>>>>>
>>>>>
>>>>> Miguel Angel Garcia de Dios wrote:
>>>>>> Hi,
>>>>>> I think my question is easy for us but i have spend too much time
>>>>>> in it:
>>>>>> I want to create a simply ecore model and then i want to
>>>>>> instanciate it and check some OCL queries on it.
>>>>>> My purpose is to create an instance of an ecore model which
>>>>>> contains as instances of a class named Person as I want.
>>>>>> These are my steps:
>>>>>> 1.- Create the ecore model. It is compoused by two classes:
>>>>>> -People, which contains an EReference with multiplicity
>>>>>> 0..* to the EClass Person.
>>>>>> -Person, which contains only an EAttribute named "name"
>>>>>> with String type.
>>>>>> 2.- Create automatically the .genmodel file from the ecore
>>>>>> model .
>>>>>> 3.- Generate the Java code aotumatically fron the .genmodel.
>>>>>> 4.- Launch an Eclipse application from the project.
>>>>>> 5.- Create an instance of the ecore model.
>>>>>> My probles is in the last step: I begin the model with an
>>>>>> instance of People and hten I desire to create as number of
>>>>>> instances of Person as I want but I cannot do that. I don't know
>>>>>> the reason. I've seen the EXTLibrary example too many times but I
>>>>>> cannot get my desired result.
>>>>> The lack of there being a containment reference is the likely
>>>>> reason. And note that even if you change it in the Ecore model,
>>>>> the GenFeature properties for the feature will *not *change, so
>>>>> you'll need to update those as well to support children and child
>>>>> creation.
>>>>>> Being more exaclty, the idea is to be a EClass which can generate
>>>>>> as many Person as I want. That class is People. I've tried many
>>>>>> possibilies changing the class properties obtaining different
>>>>>> errors.
>>>>>> Can somebody tell me how to create an ecore model that has an
>>>>>> EClass which can generates as many instances of another class as
>>>>>> I want?
>>>>>> Thank you in advance!
>>>>>>
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>>
>> ------------------------------------------------------------ ------------
>>
>
>
> ------------------------------------------------------------ ------------
>

--------------040000050301020605090905
Content-Type: multipart/related;
boundary="------------050408000005020407060604"


--------------050408000005020407060604
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Miguel,<br>
<br>
I don't know much about OCL.&nbsp; I've added the OCL newsgroup to the "to"
list of the reply.&nbsp; Do doubt Christian will see it...<br>
<br>
<br>
Miguel Angel Garcia de Dios wrote:
<blockquote cite="mid:gmeemi$n7a$1@build.eclipse.org" type="cite">Ih Ed
Merks,
<br>
I've changed the property volatile of the "people" ERefeference of
"People" class, which is my container of Person. Then I can generate
instances of Person from "people" EReference but now I have a new
different problem: with the "OCL Interpreter Console" plugin installed
I have made many OCL queries but I've obtained an unexpected value
attached as a screenshot: Having three instances of Person, the OCL
query "Person.allInstances()" returns an empty result. But if I write
"self.name" (being the context an instance of Person) I obtain the
desired result ('Ada' for example). I think I have any wrong property
value because it seems like Person isntances are no related ro
something similar.
<br>
<br>
Thank you!
<br>
<br>
Miguel Angel Garcia de Dios wrote:
<br>
<blockquote type="cite">Ed Merks,
<br>
Yes, I did. I marked the feature as volatile.
<br>
I think it cannot be so complicated. Maybe any value of a property is
not correct so, to ensure that I'm going to attach screenshots for
everything (it is not so much).
<br>
<br>
I am really concerned with that because I think it should be easier.
<br>
Thank you in advance!
<br>
<br>
Ed Merks wrote:
<br>
<blockquote type="cite">Miguel,
<br>
<br>
Did you mark the feature as volatile such that no code is generated for
it?
<br>
<br>
<br>
Miguel Angel Garcia de Dios wrote:
<br>
<blockquote type="cite">Ed Merks,
<br>
I have the containment property of my desired container class in true,
the GenFeature properties are also update: containment=true and the
GenEdit properties contains children=true and create children=true.
<br>
I hope you can be more explicity with the solution of my problem
please.
<br>
The last error I've obtained is when I create My.container file from a
Poeple object. Hten I click on it and I get the nex error:
<br>
<br>
Unhandled event loop exception:
<br>
java.lang.UnsupportedOperationException
<br>
&nbsp;&nbsp;&nbsp; at Container.impl.PeopleImpl.getPeople(PeopleImpl.java:113)
<br>
&nbsp;&nbsp;&nbsp; at Container.impl.PeopleImpl.eGet(PeopleImpl.java:141)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1012)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1004)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:999)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:338)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:397)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:384)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.hasChildren(AdapterFactoryContentProvider.java:198)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2076)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer .java:582)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2102)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(Abst ractTreeViewer.java:2752)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.j ava:842)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:828)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractT reeViewer.java:802)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.AbstractTreeViewer.createChildren( AbstractTreeViewer.java:776)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.TreeViewer.createChildren(TreeView er.java:634)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpan d(AbstractTreeViewer.java:1442)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeVi ewer.java:927)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded( AbstractTreeViewer.java:1453)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:126)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1182)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1167)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Tree.gtk_test_expand_row(Tree.java:2 026)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1572)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Display.windowProc(Display.java:4105 )
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native
Method)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:57 92)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.widgets.Display.eventProc(Display.java:1177)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Na tive
Method)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS. java:1550)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3031)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
<br>
&nbsp;&nbsp;&nbsp; at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
<br>
&nbsp;&nbsp;&nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
<br>
&nbsp;&nbsp;&nbsp; at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
<br>
&nbsp;&nbsp;&nbsp; at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
<br>
&nbsp;&nbsp;&nbsp; at java.lang.reflect.Method.invoke(Method.java:597)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
<br>
&nbsp;&nbsp;&nbsp; at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
<br>
<br>
A lot of thanks!
<br>
And always sorry for my bad English.
<br>
<br>
Ed Merks wrote:
<br>
<blockquote type="cite">Miguel,
<br>
<br>
Comments below.
<br>
<br>
<br>
Miguel Angel Garcia de Dios wrote:
<br>
<blockquote type="cite">Hi,
<br>
I think my question is easy for us but i have spend too much time in
it:
<br>
I want to create a simply ecore model and then i want to instanciate it
and check some OCL queries on it.
<br>
My purpose is to create an instance of an ecore model which contains as
instances of a class named Person as I want.
<br>
These are my steps:
<br>
&nbsp;&nbsp;&nbsp; 1.- Create the ecore model. It is compoused by two classes:
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; -People, which contains an EReference with multiplicity 0..* to
the EClass Person.
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; -Person, which contains only an EAttribute named "name" with
String type.
<br>
&nbsp;&nbsp;&nbsp; 2.- Create automatically the .genmodel file from the ecore model .
<br>
&nbsp;&nbsp;&nbsp; 3.- Generate the Java code aotumatically fron the .genmodel.
<br>
&nbsp;&nbsp;&nbsp; 4.- Launch an Eclipse application from the project.
<br>
&nbsp;&nbsp;&nbsp; 5.- Create an instance of the ecore model.
<br>
My probles is in the last step: I begin the model with an instance of
People and hten I desire to create as number of instances of Person as
I want but I cannot do that. I don't know the reason. I've seen the
EXTLibrary example too many times but I cannot get my desired result.
<br>
</blockquote>
The lack of there being a containment reference is the likely reason.&nbsp;
And note that even if you change it in the Ecore model, the GenFeature
properties for the feature will *not *change, so you'll need to update
those as well to support children and child creation.
<br>
<blockquote type="cite">Being more exaclty, the idea is to be
a EClass which can generate as many Person as I want. That class is
People. I've tried many possibilies changing the class properties
obtaining different errors.
<br>
Can somebody tell me how to create an ecore model that has an EClass
which can generates as many instances of another class as I want?
<br>
Thank you in advance!
<br>
&nbsp;&nbsp;&nbsp; </blockquote>
</blockquote>
</blockquote>
</blockquote>
<br>
<br>
------------------------------------------------------------ ------------
<br>
<br>
<br>
------------------------------------------------------------ ------------
<br>
<br>
<br>
------------------------------------------------------------ ------------
<br>
<br>
<br>
------------------------------------------------------------ ------------
<br>
<br>
<br>
------------------------------------------------------------ ------------
<br>
<br>
<br>
------------------------------------------------------------ ------------
<br>
<br>
</blockquote>
<br>
<br>
<hr size="4" width="90%"><br>
<center><img src="cid:part1.02050102.02090700@gmail.com"></center>
</blockquote>
</body>
</html>

--------------050408000005020407060604
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-ID: <part1.02050102.02090700@gmail.com>

iVBORw0KGgoAAAANSUhEUgAABkAAAASwCAYAAACjAYaXAAAAAXNSR0IArs4c 6QAAAAZiS0dE
AP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kCBQoK F8BQrI4AACAA
SURBVHja7N13XBTH3wfwD6D0Ir1YAMFCNGqMXYMYe6+o2GNXwAaoiAXsvWs0 MbFFjbHEHrFE
JMaujy3qTzSAhXYUjYKUO+75A1k5OLgDEY7j885rX97tzs7Mzu6R2fve7GhI pVIpiIiIiIiI
iIiIiIiI1Igmm4CIiIiIiIiIiIiIiNQNAyBERERERERERERERKR2GAAhIiIi IiIiIiIiIiK1
wwAIERERERERERERERGpnQpsAiKikvU6PgYAIIp5hUf3bqJRq3awq+bEhinj op4/w81L54T3
LvUawdKmMhuGiIiIyq3QM0cV9omy+8TdPcaywT6j4/t+YD9VRT4HlSxs2ChE RCVIQyqVStkM
REQl53V8DIMfai5nMIQ3mERERFSeFRQEye4Tdxs4hg1Vgk78+iP7qaX4OWAA hIioZDEAQkRU
wsIe3GLwo5zIDoTw5pKIiIjKM3lBECH4MWA0G6iUnNi/jf3UUvgc1Kj7NRuD iKgEcQ4QIiKi
z8SumhMatWqHR/duIvTMUYhiXrFRiIiIiHKQ8r9S+6/rgFHspxIRkdrjCBAi ohJ2bO9Wjv4o
hzgahIiIiMqz0DNH4dqhp8z7rv1HsmFUxMnffmY/tYQ+Bz0GjWNDEBGVIE6C TkREVAKyRoNA
mBuEN5dERERU3vH3mKqji/t3OHVgO/upRESkdhgAISJSISfXuRa4vevkUDZS GcYgCBEREZU0
U0tbpdIliaJLJB9l9OrdR+m0R34/zJNcTNQ5CFIWPwdERFQ8GAAhIlIx7Sde kLs+7LQ3Tq5z
ZRCkjGMQhIiIiEqaopEWGhoaJZqPMvnt2XNC4f6DB3cr0VEkVtY2iIuNUetr pXO/Efjj4A61
7Keq6ueAiIg+L06CTkSkQsRSDWRKpXIXbQNzOFSvq3CUSHlgampaamVraGgI S2G25ZRzcnRO
OElERERlRc6+jrylsKRSqdylOPL4HEtxlWdlbfNZ6qetoysshdmWe+nUdzj7 qSX4OSAios+L
I0CIiFSIWKKJzHzu+bQNzAEADtXr4tCqNujrcyHffExNTVGrVi1cuXJFphMu lUrRrFkzPHny
BElJSSpxzKampoWuS2nXPfsGWENDI9/XinAkCBEREZWU4vpStth/+V5AfmJx JoYP7wEDAwNU
qmQCMzNzWFpYwtLSAmbmZmjWrEuBeVjb2uWbd2x01Kc0glLJrG3t8i0nNjpK qXwKykOZfmra
+xQAgI6evmw/VYmyO/UZhtOHd6lVP1VlPwdERPRZMQBCRKRCMqSakEhk10U8 mwsHp/kw+9JL
WHf/fx0V5qWvr4/g4GB06tRJWHfq1CkYGBiwoYuJVCoVbnCK8vgFBkGIiIjo c1PluQikyL//
lJEhwbZtvwPI/qEJoPFhDw2NrO0F5RET/XH0go1tZZn3BZX7KXX+lLTFnUdB /VRl8+zYZyiC
D+9Wi34q5+QgIiq/+AgsIiIVkiHRQCYgLLdv/A18+Dfn+gyJ4l8VTZo0CWvX rpVZt3btWkye
PFl436VLFxw+LDtx5MuXL1G7dm38999/OW5AMxAQEABnZ2c4ODhg48aNwra0 tDRMnjwZ1apV
Q7Vq1TBlyhSkpaUJ201NTbF9+3bUq1cPVlZWcHV1xf3794Vt2f/mfKxVREQE PDw8UKVKFdjY
2KBfv34QiUQyeSqTPwBIJBIEBQWhRo0asLW1xahRo/Du3TuZ/Tdv3ow6derA zMysUDeT2e9z
3lTmHAmiDD4Oi4iIiMotqVT+AiA9Q4zRo3tj8uQhmDt3Itatm4M9ezbg7Jl9 uHkzGOkfAiD5
5pErv+zXkRERGDZsBJyca8DeoTo8PAYjXiQStv/5559o3boNqlZzQKPGTbFn zx65+dy9excN
vvoaP/64TWGZuRcb28oKy7OxzQo42NhWlklf0JKa8k5hPzU15Z1ybfZh6dh7 CPupRERUpjEA
QkSkQjIkmpBIpMJiZhaMw4d1YGYWLLM+Q6L4z3ePHj0QHx+P69evAwAuXbqE pKQkdO/eXUjj
4+ODZcuWITMzU1i3fPlyjB8/HsbGxsK6pUuX4vHjxwgNDcXdu3cRFfVxKP7C hQsRHR2NW7du
4ebNm3j58iUWLVokU5dLly4hODgYERER6NatG6ZMmQLg46OskpKSZB5rNXDg QEyYMAFPnz7F
kydPUKNGDQQEBOR7rPnlDwCrV6/G3bt3cfHiRYSFhUFXVxfz5s2T2f/WrVu4 ePEiEhMTlbxX
l+Y7B0jRR4IwCEJERETlS0FzbaSnSbBm7X4sWvQT/PxWY9SoAPToORbNW/RB rVpuSE+TFJhH
fnN3DB02AmPGjMKDe3dx7+7/wdnZCXPnBQnbvbwnw8/XB2H/e4Qjhw/i1q3b efI5c/YcBg0e
iiWLF2H0qJGFni8k57b8yot+9QIAEP3qBaJfvVB6HpD3yW/z7ae+T35bpLlF OvQazH4qERGV
WXwEFhGRCkmXaEDyYRIQTfFNHD6sAy+v9ti48Sy8vG4gs0IjIZ0impqa8PLy wtq1a7F3716s
XbsW3t7e0NT8GDxp27YtDA0NcfjwYfTr1w/Pnj3D+fPnsWzZMpm8fv31Vxw9 ehR2dlnPUl68
eLGw7eDBgzhx4gQsLS0BZAVLevTogfnz5wtpVq5cKYza8Pb2xooVKwqs+9Wr V4XXurq6mDt3
LurVq5dv+oLy3717Nw4dOiTUfd68efjmm2+watUqIc2iRYtgYWFRqueej8Mi IiIi+ig1VYyZ
M4fkOweIvcM3Rcr3YsifMv1M/5kz0Lhpc5l1sXFxSExMROXKlbFqpWy/dfuO nVi3fgN+2bUD
DRo0+OTjVFSequjQazDOHNnDfioREZU5DIAQEamQ2t/44+GdK8LIDy+v9njw IEMIgvTpcwKJ
iR1R+xt/pfLz8PDA0qVLcejQITx48CBrSH0uPj4+CAwMRO/evbFkyRJMnjwZ enp6MmliY2Ph
4OAgtwyRSCSzzcHBQeZxVYDsI6v09PQgFosLrPf169cxb9483Lt3DykpWZM3 FjSZYEH5R0dH
o0mTJjLpc+dlY2NTqPOU30iP7JEhRRkFAjAIQkREROVLQX2mtDQxgubvyOp7 ZSfL7sJJgfS0
DIV5yCvr5q1bWLhwMR788wApKe/z9O22/bAVa9atw8pVq2FsbIT5gYFo376d kM/WH35Af/d+
qF+/vsKyC9qubHmF7VfqGxoX2E9Nefdfkc9X+56DcPboXvZTiYioTGEAhIhI hZibnwEAmeAH
gFxBkOAPqd0U5qejo4Px48dj/PjxCAgIgI6OTp40nTt3xqJFizB//nzcuHED mzdvzpPG2toa
ERERcHZ2zrPN0tISkZGRqF69OoCs+Ts+dTTFiBEjsHDhQrRr1w5GRkZ49+4d qlWrVqS8rK2t
cfbsWdja2hbLOcod4Mg9uSSDIERERKSuCvpBSlEoCoAsXjw63xEgpqaNFOYh r6yx4yZg7pzZ
+LaNGwwNDZGcnIxaLnWE7fXr18OOn3+CVCrFhQshmObrhzu3bwr5HDpwAO79 B8DExBgTxo8v
8vEpW15h+pQGRiZK9VOT374p8jlr18MD547tK9f91OL+HBAR0efFAAgRkQpJ SOgADQ0N9OkT
/OGxV1lBkLp1K34IfqQhMbFjoW6EpkyZIjMnhrwOvI+PD0aNGoX169dDW1sb QNaoiux5OTw8
PDBjxgxs2LABBgYGWLZsmfAYrD59+sDf31+YGH3mzJno27ev0vUzMTFBWFgY atSoIaxLTU2F
rq4udHR0EBkZiQULFhS5TUeOHInJkydj2bJlqFq1Kp48eYJVq1bhp59+Kpab n+xz8SlBj9wY
BCEiIiJVkySKLv5MCwyAZMDHZ0t+OyItTawwD3llpaamQldHB9oVK+L58+dY tnyFzPaJXt6Y
OnkS7O3tIZVmQiKRyJRha2ONQwd+g/tAD0jEEnh5TizS8SlTnrGxMZ49fQon J6ci9VOT/3st
v5/6iX3Wdt0H4tzxX8tlP/WzfA6IiOiz4iToREQq5NLp1bB3aQYj63nCiI/s 4IeXV3sYWc+D
vUszXDq9uljL1dLSgpOTEzw8PORunzFjBmrWrIlWrVqhQYMGqFKlirBtzpw5 sLKyQsOGDdGw
YUPY2tpi9uzZSpft7e2NNm3ayDzGasOGDQgICEDlypXRvXt3NG3atMjHNmXK FDRv3hw9e/aE
nZ0dRo8eja5du35Se2loaOS5kcz+RV1x/SKME6MTERGRupPm8x8ApKVJkJYm zmeRCAEQqRL/
5Uy3csUyBM1fgBq1v4B7/4Fo1Ohrme0dO3TAqLHjUaP2F1i4eAnWr1udJx8r a0sc/O1XHDh0
CGvWrc+3zMrVHPIsuetTUHnjx41Fp67dhf2UOc7s/ui7/5KE9e/+S5Lpp0qL 4b+23Qewn0pE
RGWChrS4fq5KRERKObZ3Kxq1age7anl/yTVvek8Mm7ZfeJ8imo/Dh3XQp08a 9C3nCut3rR6A
oOVHi61OgwYNQt++fQs1coNKRtTzZ7h56Rxc6jXiSBAiIiIqs0LPHIVrh54y 79t26y837YBB
QzFyZNYPfqRSABpZ039IAUSGnwAAODh0w8/bp2H/3t1s3FJ0/sRv7KcW8nPQ Y9A4NgQRUQni
I7CIiFSIJFMT21d+HIXRvvsU9OkTjMTEjti/M+fojOIZwJeZmYndu3fj33// Re/evXkCVBAf
h0VERETqKr/fY/66Zxd+2LYDVap2kVn/8sUpjB09AgDww7YdBeZBJePbru74 8+QB9lOJiEhl
MQBCRKRCFq78XeZ9SEiIcGOXe1txMDc3R7Vq1fDzzz9DU5NPRVRVDIIQERFR eTN29AghyJFz
Xc7XOd9T6WEQhIiIVBkDIEREKszNzQ2A22fLP3uSc1J9DIIQERGRulE0emPM qOGFSk+lp02X
frhw6iD7qUREpHIYACEiIiojcgZBHt27yectExERUZnGgIZ6cevcFyF/HGI/ lYiIVAoDIERE
RGWIXTUn9BjkJEyODvBXdkRERFRGMQCidtw69QEAhJw+zH4qERGpBAZAiIiI yiCOBiEiIqKy
TgoGQNRV6069cfH07+ynEhFRqWMAhIiIqIzKPRrk0b2bAMCbTCIiIiobOAJE rbXu2AsAcDH4
CPupRERUahgAISIiKuOyAyEAGAwhIiKiMoNzgJQPrh16Cq9DzxxlP5WIiEoU AyBERERqpKBg
CBERERFRacovGEJERPS5MABCRFQK7Ko5sRGoRK6z7GAIERERUWk6tncrG4Fk 5AyGlBehZ47y
xBMRlTBNNgEREREREREREREREakbjgAhIipFr+Nj2AhEREREpLYqWdiwEcqg O3fv4ZvWbfD2
dQIbg4iIyjSOACEiIiIiIiIiIiIiIrXDAAgREREREREREREREakdPgKLiEiF 3NzTTe76RoNP
sHGIiIiIiIiIiIgKgQEQIiIV4zrxmsz7sNPeuLmnG4MgREREREREREREhcBH YBERqRBJZt51
2gbmsK3eBNd3d2MDERERERERERERKYkBECIiFSLO1EKmVIrjof/DwbMPkJmZ FQDRNjBHZecm
+HtnDzYSEREREVEh3TjYmo1ARERUDvERWEREKkQiyVo6taiZ9T5TCvN6XtCu kBWvNvny/wqd
p2MNF+G1vr4+vmpQH4FzAuDs7KTWbfn27VusWbcRZ8+dR0xsLAwM9NGkcWMM HzoYLVs0V7rt
wsMe8cIkIiIiKsNuHGyNdmOv4dwPTdG438Viz3//30lYdyExz/rJbcwwoKUp T4AaMLW0VSpd
kiiajUVEpGIYACEiUiFpUk1kZEpx/moYUtMykJySDofKZjD7u4+QxnlEcKHz zf4S/+3bt9i5
ew8mT/PFyWO/q3Vbek+ehqrVqmLvLztgZ2uL12/e4MrVa9iw6XulAyBERERE VLZsPyI7n16t
FB9AI+t1RoYEl/e1QguPS59UxuWtDQAALcbdwYSdr1BVJx1BfZ3QvK45wl6+ Q/zrNPwT9hKX
771CyNMUfD+8stq3+6nLT5VO26WFc7GU+So2ASKRCKmpqdDV1YWlpSUqW5t/ luNLEkXD1NIW
UqlU7nYNDQ0GP4iIVBQDIEREKiRDrAmxBGjdqAagIYW+jhYuz3VGo2XhQppz MxzRyO9KkfI3
MjLCmNEjsWHTZgCARCLByjXrcODAIbxLTkaHdm2xZNF8GBgYAAAuhv6FRUuX IyIiElZWlvCa
OB4D+7sDANLT0zEvaCFOnPoDANC9a2cEzp0NbW1tAPJHT+Rc51jDBbNnzcS2 n7cjNjYO/z55
iIyMDCxbsQq/HzkGsUQMr4kTMGbUd0rVNbcr165h88Z10NfXBwCYm5mhW5fO 6Nals5CmoDyz
R85k/8uRIERERESqbf73wfimWV0AWTEP6Z2+6DTxCABAmhKBTt8dBDSAo5ub oc13Vz+prM7+
j/HHktq4G7MP1Vz08k135+p94BMCIAGbQoXXizxdVbr9G3zbSmGaO39eKpay XsUm4MWLF6hS
pUrW+dbQQHx8PAwNDWFioPNZji9JFA0NDY08QRAGP4iIVBsDIEREKiRDogmx RIq/bz+FnaUx
tIK7oLXPXGTEbYc4JRUJz6NRrVVvPNneEUB2x1sDNb9TblTI27dvsWPXL/jC JetL/c1bfsA/
/zzEiaOHYWRkiMD5i7Bk+UosDJoHAJjmOwMLFwTi2zZuSIhPwPqNm4UAyMrV axETG4sL505D
KpXCb7o/Vq1ZB/8Zfkof792793Di6GGYm5kBANau34Swp09x8tjv0NfXx7oN G4W0iuqa29cN
G2JmwFx8N2wIvvjCBTo6eW+ECsozPOwRH4FFREREVEZMXfo7HB2r4f6TGEjx YdCH/ia8X90V
ADBgzDL89uMMQAp0nnirSGVkj/zI1tn/MbCkNjb87wdUrKgFaUYqEt68x+3H MXgV8wbxr99D
w8b+k4+ttnMVPH76EgCw6rd/hPUSsRgZGRKIMzIgzhBjwYSWpX4eTu0+qDDN tgMxAIDR7q2K
XI5IJEKFChUQE5OVV8WKFVGpUiXo6uoi4mU0YmNj8f79e+jp6cHa2hoOVWyK 5fhyB0EY/CAi
Un0MgBARqZCMTA2IJUDT+k4w1tfCw9NARcN6WZ16Q6CK1YeEbQfL7HdtYwfU Gnkm33xzzgNi
aWmJwwf2AQD2HziInT9vg42NNQBgut80dO3eWwgq6OjqQBQnQlJiEuzsbLF0 8QIhn6PHT+LX
PTthYZ41zHzunAAMGjq8UAGQ2bNmCMEPADh85Aj27Noh1GdOgL+wTVFdc9uy aQO+/+FHzAiY
g8jI57CwMEfH9u0x2dsTJibGRcqTiIiIiFTPzWu7sWXx1Hy2RmJvYGVIUyKQ +l6M3tPuFqmM
y1sboE7rjqjyRVY/PPP1dQBAO49RwL6xSK59R3gEloWFKf4Je4nwV2m4Efv+ k48vO/gBAD79
66j8+egytJ/CNMoESgqSmpqK169fC++NjIxgZmaG6OhoREREwN7+Y+ApIiIC AIo9CJL9moiI
VBsDIEREKiRdoglJphQ37z9D26Y1kZkpBTJSPozhB6AhBaQaH/6F8DxjSaa0 wHzDwx5BKpXi
+YsXmOE/G//88whVKldGbGwc2nXsIpM2uzMPAN9vXI8Nm77H2g0bYWRohLmz /dH22zYAgISE
BFSrWlVIW61qFSQkJBbqeK2srGTei0TxqFa1ity0iuqam7GxEWb4TsMM32mQ SqUID4/Ajz9t
h9fkqdi946ci5UlEREREZc+gwFf4OcAG/Wc8+KR87J3qQfTkME7+sh8AMGKm L3av3ozwBmdR
N7+dMjM+qcxFnq4I2BRa6MdfxcTEYPjIsbh+40a+aZo0bozgU8c+S5tb63ze cyqVSmFsbAxt
bW1UqFABxsbGsLS0xNOnT2FgYICYmBhkZmYCyBodEhUVVWwBEICBDyKisoQB ECIiFSLO1IAk
U4qv6lRHJgCJBEDGG0AqFYIdHwMfGlnrs9MpoKGhAftq1bB21Qp0790PrVo2 h6WlBX4/sB/W
1lZy96lf70ts27oZUqkUF0P/gt/MANy48hcAwNzcHC9evoTDh19XPX/xEmY5 RnNUqFBBmJAQ
AJKSXiuso6WlBZ6/eInqjg5ytxVUV0XHXr26I+bNmYX6XzcpljyJiIiISFX6 0FoK01RznfXJ
5byOvIeTvxxDr8BHOBLogh1LV2KFeBcKGu+gkSku1mNVdk4QGxsbHDtyEDP9 A7Bj1y95to8Y
NgRLlyz6bOdE8zP/psjJyQkxMTGoUqUKdHV1oaurC21tbZibm+Ply5d4+/Yt UlJShCBIzvsU
IiIqXzTZBEREqiNTqoFj67vg2PouePrvC0gkmUBqApCWCKR+WNKScrzOei+R ZCpdho2NNZo0
+hpHjp3AkEEDMTNgDiKfP4dYLMb/njzBpCk+QlrvKT54+vQZMjLEkEqlyMwR aenetTPmL1yC
+IQExCckIGjBIvTo9nE0hUvtWvhh289ITU1FbGwcZs8NVFi3vr17IWjBQsTE xOK//95iwaIl
wjZFdc1t4OBhOHHqD4ji4yGRSBAdHYOly1ehQf36SudpbGyEZ/+G88IkIiIi UmFpGRUgyUSB
S1rGp/3+s8W4OzjyyzF4LH8mrOsV+Agrqo5B09huAIB7m6uibrK/zH5SSXqx HGPAplAh+FHb
+eOI6UU7byNo2zXM+f7vPPvoaGtjzaoVWLNqBXS0tfNd9zloKVg+lZWZMerX r49Xka9w8uAt
bFt3Aft+voD4mHjUqlULNjY2MDExgb6+PvT19SFR5hdjRESkljgChIhIhYyY tlfm/e1MZAU6
NIRnYOWY+/zD47AAZGYWrpwB/d2xYtVqHD18ABrYhsHDvkNcnAiOjg7wmjhe SNexfVuM9/RG
5PMXcHR0wOpVy4Vtfj5TMTdwAdzadgQAdO3cCb7TpgjblyxagBn+Adiw6XtY W1thwtgxOHW6
4MnaJ3t7YsmylejcvSekUim8PScK28aPHVNgXXOb5DURu37Zg9lzA/HuXTIs LS3g2qoVNq5f
o3SeY0ePQo/e/ZCSksLJ0ImIiIhUVJq4IsRiqcI0n6pX4CO8T0kXXl/e2gCd /R/jjyW1AQBx
0Wm4cf4I4Boo7KMhKZ4RINmjPQI2hcrMCRIwvKHie4xhQ/CFSy3MnDUHSxcv QJPGjT/7OanU
NSDfba9PFs/Ik3u37+FKSBxq13OCdeWsdVdCsgJUNpVtkJmZieTkZMTGxqJh w4b8oBARlVMM
gBARqbDMzEwg/T98fO6VNCsYIpXmTZcPeV/cu37TEq7ftAQATBg/FhPGj5W7 b7euXdCtaxe5
23R0dLBsyUIsW7JQ7vY6X7jgxNHDMusGDxpYYL0qVqyIubP9MXe2f55tmpqa BdY1txbNm6FF
82YFplGUp+eEcfCcMI4XIhEREZEKS83QRoZEqjBNccoOfmRL3u+C4evDhWCI QJpRrOUWdi6Q
bE0aN8afZ0+X2DlJ/mMRwlPkb3uZWjxlPL7/GhW09fD0cZSwroK2Hu7dTEIX hyp48+YNUlNT
0bBhw2Kd/4OIiMoWBkCIiFRYo0kXcHqNm8J0zaaGsLGIiIiIqFxKzaiIDIni NMXl8tYGaOcx
CpmvrwMAOk7YBQD478mavIkzizcAouwcIKVNC4Cz/uctIykhHZEReecZtHeo BFMjPbRu2ZQf
DiIiYgCEiEjVMbhBRERERJS/NHFFhSNAiuMRWNlajLuDvYEuGDQNSJcY4OC6 FcK2F43O4mnI
A8QnpSA9XVJsj8DKGfio7VxFeAzWop23Ic7IgDhDjAUTWpbqebjz5yXhtUYJ zDgrTs+EiZme
3PVERETZGAAhIiIiIiIiojIr/cMk6IrSFKdegY8+BEGy5qy7Uf0Y6jhYAP8l y6Tr29r5k8vK
OdKjKHOAlIQuLbKOc9uBGABACcQ/8E0HG/y64wmcv7AU1j19KELnEVX5oSAi IgEDIERERERE
RERUZmVkauHXgycVpNIq9nKzgyAAcPH6bVy8Lru9Z+smmNrbsVjLVOXHXmU7 tfsgTpVAOV9+
WQMYAZw5/gqJCckwMzfAwBE1s9YTERF9wAAIEREREREREZVZ4we0KLWyewU+ yvqXpwEAMNq9
VYmW9+WXNRjwICKiAmmyCYiIiIiIiIiIiIiISN0wAEJERERERERERERERGqH j8AiIipFoWeO
shGIiIiISG31GDSOjUBERESlhgEQIqJS1LnfcDYCERERERERERHRZ8BHYBER ERERERERERER
kdphAISIiIiIiIiIiAQN6tfD29cJbAgiIirzGAAhIiIiIiIiIiIiIiK1wzlA iIiIiIiIiKjU
hJ45ykYgtebaoScbgYiolDAAQkSkps5836HA7R0mnGEjEREREVGp45fDRERE 9LkwAEJEpMba
T7wgd33YaW+c+b5DsQRBtHX0kJ72vsj7h4b+hRHfjcTLly8/KR9SPZ96bXyu vNSlzcpLmxAR
EREREREVFecAISJSU2KpBjKlUrmLtoE5HKrXVThKpCTM9PfH+nVr+EVuOaSt o/dZ9ytq/qS+
1w4RERERERGVLwyAEBGpKbFEE5lSyF20DcyFIMixDZ1LrE7yvrR88OAfdOzY USXa7OHDh6hV
+4tyc42U5PHKO/dFDXopu1/OdEX5wrysXQ8566uto4f6DRpCKpXKpJFKpahX /yuVCiAUpS4M
mBIREREREZEy+AgsIqJSdjE0FO3bKx8AOHs2GK1dXRWmy5BqQiKRXRfxbC4c nObD7EsvYd39
/5Vu8CE1NRUVK1ZUiXNx7vyfaN++Xbm59srb8ap7++Sur76+Hk6dOoWuXbsK 644fPwEDA32e
XCIiIiVlZGRALBaX+3aoUKGCyvTZiYiICvX/MDYBEVHpau3qirNng+HhMRgH DhyAm5tbnjQh
ISFwd3fHvn17lAp+AECGRAOZOd7fufE3zMyA2zf+RoPGLWXSFURbRw+L3IFP pAAAIABJREFU
Fy/C2jVr8S45Ge7u/bBxw3ro6OjkSRseHo5pPn64ePEiMjIy4Na6NX76eRus LC2FX3ln/5ue
9l7uutTUVEyZOg0HDx4CALi798Oa1augq6srpF2xYjnWrl2HqKgopKWmQFtH DxvWr8Oq1WsQ
FRUFZ2dnbNq4Ac+ePcPSZcsRGRmJL75wwfaff0LdunVlji3nL8nPnzuP774b kW85EokE8+YF
YvuOHXj3LhndunXFlu83w8jICABwOjgYM2fOQlhYGGxtbTHLfyZGjvwOAJQ6 rty/as+5Tl59
MjIyMGtWAPbs3QuxWAx/f39MnTIZABTWVd7xFrYNFdU557rc51ne8Sl7neXc r6A2yE4nr/xv
27bD+HHj0L+/u5Dvixcv0KqVK+7duwMTE5NPbh9F5zwtLQ2eXt44ePAQjAwN MWXqFJnjVOYc
5pSzvgDg6+ODFStXyQRAVqxcCT9fXwz0GAQASrWDonZW5treuGE9lq9Yiejo aHzxhQu2/fgj
6tevl++1UdDfEnnXTn75K9OO8j5bRERE2SpWrIgXkf/ixuW/EC+KgyT3L4zU mJaWFiysrNG4
eStUd67Fi4GIiMokBkCIiFRAa1dX7Nu3B+7u7nmCIEUJfgBAhkQTEsnHx9+Y mQXj8GEd9OkT
DImkhUw6RS79dQm3/+8WAGDM6LEICpqPxYsX5UnXq3dfrF27Gnv37EZ6ejrm z18IP7/p2Llj
u/BFdM4vx+WtmzcvENFR0Xj48AGkUilGjRyNwMAgLF26REhz/fp1XL92FZaW FsK683/+iT/P
n4WZmRnWb9iIHj17oUOH9jgT/IewbsJET/wVelHuMaanp+Pvy5exc+eOfMtZ umw5bt/+P1y/
dhXGxsaYOs0HswJmY8P6dQCAkSNHYdPGjejSpTPi4uKwcNFiIQCizHEpkrs+ CxYsxMOHj3Dj
+jUYGBhi4cKFQlpFdZV3vJ/ahvmRd54/5TrLqaA2KKj8mTNnwNd3Ovr16wtN zazPwMJFi+Hl
7QUTE5NiaR9F5zwwMAjxong8efIYUqkUo0eNkam3onOo6Prt3bsX5sydhytX rqJ582a4GBqK
hIRE9OrVU+l2UKadlbm2L4aGIvTiBZiYmGDN2nWYMHEiLv99Kd9ro6C/JfLk l7+y7SjvbwoR
EREAvHoRiYvnz6BV2y6wq2oPTU2tcnPsmZkSRL2IROiff0BHRxeVq9rzgiAi ojJHQ5r74dBE
RPRZHdu7FT0GjQMAZKSnymy7GBoqMxKkqMEPAPhpWU/0nXQcAKApvomNG8/C y6u98G9mhUYA
gEPru2PUjKP55qOto4dHDx/AyckJAPD06VO079AJ4f8+Fbbn98V2SkoKatSs hVcvX+SbNvc6
e4fqOH/uDJydnQEAYWFhaN+hEyLCnwnpIyP+ha2trUwe0VGvYG5uJpRbydQ8 zzoLS2ukJL+V
W9fQ0L8wKyAAl/4Kzbcc5xq1cOrkcdSsWRMAEBsXh0ZfN8aLF5EAgOpONeDr Ow09e/RA5cqV
ZfJX5rgUjQDJXR/H6s44E/wHatSoked4FNVV3vEWtg2VqbO81/mlVfY6y/m6 oDZQVH6Llq0w
ydsbAwcOEMr758E96OvrF0v7KDrnDo5OOH/ujHDMYWFhqFO3nlBPRecw5zHJ q2962nts2/YT
Tv1xGocPHUC3bj3Qu3cvjBo1UmbfgtpBmWtNmWs7JjoKZmamSl9Hhflboih/ Zdox92eLiIiK
T0VtXaEP7NrhYxA+9MxRmfeq6rc929Goxbdo2LhpuT2Hkf8+RfDxA+g/+Dte 0J8o9MxR4V6Q
iIhKBidBJyJSITlHggQGBhY5+AEAtb/xx8M7VxDzPFAIejx4kCEEQWKeB+Lh nSuo/Y2/wrwc
HBxkXsfGxspNd+XKVbT5ti1MzSygraOHSqbmiI9PKFS94+Li4OjoKLx3dHRE XFycTBp5X1Rm
fwkNQPjiNve6gp7ffP78ebRr27bAcqKiolD3y/rQ1tGDto4eqla1R5xI9PEG ef+vOHv2PBo1
boJatb/AyZMnC3VciuSuT0xMjEyehamrvOP91Db8VMpeZ8q2gSL+M2dg4aLF kEgkCJq/AL6+
04TjLo72UXTOY2NjZY4593EoOoeKrl8AGDp0CG7dvIn9+3/D/fv3MWTI4EK1 gzLtrMy1nR2c
UPY6KuzfkoLyV6YdGfwgIqL8iGKiYW1XuVy3QRV7B4hionkxEBFRmcQACBGR iskOggQFBRU5
+AEA5uZnhMdeZQc/AAhBkMOHdWBmFgxz8zMK84qIiBBeR0ZGwsrKSm46j0GD MXHCBESEP0Na
agriRbEo7EBDKysrmfLCw8Nh+eG5/5/TufPn0VbOF8g52djYICL8GdLT3gtL zvkCGjX6Gr8f
PoioVy+xdu1qTJjgqfRxVahQASkpH/NKSEhUWGcbGxuEh4cXqa7KHK8iRalz cVxnyraBIt26
dYO2tjZmz56Dq1evYczo0cXaPorOubW1tcz2nK+VOYfKXL86Ojrw9PLEdyNH wcvbS+6cKgW1
gzLt/Dk+s8Xxt6Qo7UhERJSbRCIpV4+9kkdLq0K5mvuEiIjUCwMgREQqqLWr K5IS44sc/ACA
hIQOSEzsiD590rBx41nUrVsRAFC3bkVs3HgWffqkITGxIxISOijMy9dvBkSi eIhE8fD1nQ6P
gQPkpktNfQ9dXR3o6uoiIiICEyZ6ymyvVMkET548KbCs/u794OPjhziRCHEi EaZN88WAHBM0
F6fsiZeTkl7jyZMwNGtW8KMNxo4dgwkTPPHvv/9CLBbjwYMHGDxkqLB9yNBh ePToETIyMiCV
SiGWiJU+rnr1vsTqNWuRkpKCqKgoeHp5Kaz/sKFDMGXKNLx69QqvX7+Br6+f UnVV9ngVKUyd
lTn3yl5nyraBovI1NDTgP3MGVq1eg1n+M6GtrV2s7aPonA8c0F845jiRCD4+ foW63rIpqu90
P1+kJL+Fn6+P3O35tUP250NRO3/qZ1beuVH0t6QwlG1HIiIiIiIiUj8MgBAR qSgDA4NP2v/S
6dWwd2kGI+t5wmOvsoMfXl7tYWQ9D/YuzXDp9GqFebVs2QJffdUQNWrWgpm5 GebNmys33Q9b
t8LXbwYqmZqjXfuOaNGiucz2qVOnolnzljJfrOY2f34QrKyt4OJSBy4udWBr Z4ugoMDP2tYh
ISFo2aIFKlasWGC66X6+aNGyBTp07AyTSmYYOmwEevX8+OzqHt27w73/QFQy NcesWbOxI8eE
zYqOa8v33+PYsWOwsLSGa+s2aOPmprDes2cHoHbt2vi6UWPUql0bVatVU6qu yh6vIoWpszLn
XtnrTNk2UKZ8LS0tODs7Y+jQIYW+HhRRdM4DA+fB1LQSnGvURMOvvoZra9dC XW/FWV957aBs
O3/qZ1beuVH0t6QwlG1HIiIqHxxruLAR6JNVHfu33NdERKR6OAk6EVEJK2gS 9OK0cPYADJu2
X3ifIpqPw4d10KdPGvQtP36xvGv1AMxeuD/ffJSZoLis8/TyRu3ateCtxKgL Hu/nUVrXWZ++
7hjQ3x0DBvQvs9dDcdRXXjsQEREVh+KeBN2xhgvCwx4VuT6F3X/98gUYM3V2 uZ8vav50T0ya
PocX9AdVx/6NFz+0zPNaEU6CTkRU8iqwCYiI1JMkUxPbV3oI79t3n4I+fYKR mNgR+3d65EjJ
wYDnzp2Hl+dEHm85kpmZie3bd+DZs2dwd+9XptvnU+pbUDsQERGVJnkjNcLD Hn1S8IPKjzbt
O+PC2T8+KY8twa+w9PdIzOxtj/EdK7NRiYjKKAZAiIjU1LzF+2Te/335KgBA KpXm2Vbe/e/x
Qx5vOaOrZwB7e3vs3fMLNDU1y3T7fEp9C2oHIiKi0sZgBxVVeno6+g0cgoO/ /lKk/TOlUuy6
GIN5Axyx7WwUxnawg6aGBhuWiKgM4p0uEVE50bJFM9SuNRctWzQr3M2Dmj/+ ilTkJrWEr7P0
tPcIe/IYjRs3KvftznYgIqKyJOfIEMcaLti7bz9aubVFzS/qoWuP3nj46LGw PS09HX4zZsHl
y6/QpPk32PrjTwXmR2rUx0lPR3JyMsZOnFSk/UMevEYlfS1818YWZoYVEPLP azYqEVEZxQAI
EREREREREZVJV69dx6H9+3D31jV07NAes2Z/nOtuzdr1SEhMxF8h53Dy+O+4 fOUqG6yc0Pgw
WkNfXx+Ll68u9P47L0RjxLdZ874Mc7PFzj+j2ahERGUUAyBEREREREREpHIc a7jILPLMD5wL
a2sr6OnpYezokfjn4cfHZh05dhxzZ/vDwtwclhYWmDcnIM/+fMyWetLS0oKW lhbs7OzQqFEj
nL/4t9L7Po9Pxd2Id+jZxBIA0KOJBe5GvMOL+FQ2LBFRGcQ5QIiIiIiIiIhI 5SgTnKhUyUR4
raurC7FYLLyPj09A1SpVhPfVqlZho5YThoaGsLCwQN26deHk5AQne+UnMd8d EoOEdxlwnnhF
Zv2uizEI6OvAxiUiKmMYACEiIiIiIiIitWNhYY4XL1/Cwd4eAPDi5Us2Sjlh b2+PmjVrws7O
rlDBjzRxJg5cjsOVJY1QxVxHWP8iPhXdF9+Db89q0KnAh6kQEZUl/KtNRERE RERERGqnZ/du
WLh4GRISExGfkID5C5fkScNJ0NVTrVq1ULNmTTSoW7tQ+x27Ho8G1Y1kgh8A UNVCF/UcDHHs
ejwbl4iojGEAhIiIiIiIiIjUjs/UyTAxMUZL12/RuWtPNGvahI1STpiZmaFX t06F3m/nhWgM
d7ORu21YaxvsCuFk6EREZQ0fgUVEREREREREKiW/+T9yrpeXJuc6bW1trFq+ FKuWLxXWjRsz
SqlyqGwbNXxwkfY7EVA/323t6puhXX0zAMCLH1oK63O+JiIi1cMRIERERERE REREREREpHYY
ACEiIiIiIiIiIiIiIrXDAAgREREREREREREREakdBkCIiKhc0NbRK5P1UtV6 ExEREZUHWlpa
yMyUlOs2kEjE0NLS4sVARERlEgMgRERUaB06dmYjEBEREZHas7SxRWzUq3Ld Bi8jI2BpY8uL
gYiIyiQGQIiIqFAuX7km86+ytHX0hMXSygYegwZDJIpX6WMVieJRpUo1pKWl yazv595f5n1q
aioqV6mq8sdDRERERIXT0vVbhJ49jmdPHkEiEZerY5dIxHj25BGO/rYLLV2/ 5cVARERlUgU2
ARGRergYGor27Tsqnf7s2WC0dnUtdDmBgYFwc3NDYGAgzgT/Uah909PeAwDi RCJMnz4DEz09
ceC3/SrbppaWFmjarBlOnDiJvn37AAASE5Nw4sRJxMcnwMLCHABw9OgxNGvW HJaWFrwQiYiI
iNRI5ar2cP22Pc6f/B2iuBhIJOXncVhaWlqwtLLBN27tULmqPS8GIiIqkxgA ISJSE61dXXH2
bDA8PAbjwIEDcHNzy5MmJCQE7u7u2LdvT5GCH3uifoWbmxvsh9vDDW7YE/Ur BtsNLHQ+VpaW
WL1qFZycawjrJBIJ5s0LxPYdO/DuXTK6deuKLd9vhpGREYCsURZTpk7DwYOH AADu7v2wZvUq
6OrqAsgaYbJ48SKsXbMW75KT4e7eDxs3rIeOjk6e8hWVldPwYUOxffsOIQBy 5eoVZGZm4urV
K+jWrRsAYNeu3Rg3bqxSdVyxYjnWrl2HqKgopKWmyJSVlpYGTy9vHDx4CEaG hpgydQovbCIi
IqJSVKGiNr6o9zW+qPd1uW4HcUY6xBnpvCCIiKjM4SOwiIjUSGtXV+zbtwfu 7u4ICQmR2fYp
wY/LV66hQ8fOiNwZCfvh9nCMdIT9cHtE7oxEh46dC/04LADQ0NCQeb902XLc vv1/uH7tKl6+
iISenh5mBcwWts+bF4joqGg8fPgA//xzHy+ev0BgYJBMHpf+uoTb/3cLT548 RlxsHIKC5sst
W1FZOXXu3Am3b99GnEgEALhy+Qrat2uHy5evAACioqJw//59dO7cSak6Xr9+ HdevXc0T/ACA
wMAgxIvi8eTJY9y8dQMhF0J4URMRERGVInFGOlJT3pX7hcEPIiIqqzSkUqmU zUBEVHKO7d2K
HoPGAQAy0lM/SxkXQ0NlRoJ8SvAje8Lz7JEfjpGOwrZw+3BE7owUgi0FPRJL W0dPeASWSBSP
mf7+eP36DQ4d/A0A4FyjFk6dPI6aNWsCAGLj4tDo68Z48SISAGDvUB3nz52B s7MzACAsLAzt
O3RCRPgzIf9HDx/AyckJAPD06VO079AJ4f8+zVO+orJy8/Hxg72DPSZ5e+Hb tu2weNEizPT3
R8iFP7Fs+QrExcZh1aoVStUxMuJf2Nraym0XB0cnnD93RjiGsLAw1KlbT9hO REREVNZU1NYV
+sCuHXoK60PPHJV5T1QehJ45KtwLEhFRyeAjsIiI1FDOkSCenp7YtGlTkR97 dSb4D1y+ci1r
7g+4AcMBx0hHmeBHYGAgWjRvqjAvbR09AICxsTHatv0WmzdvFLZFRUWh7pf1 ZdLnHCUSFxcH
R8ePwRdHR0fExcXJpHdwcJB5HRsbK7ceisrKbdiwoRg9ZgzGjxuLpKTXaNas KRITk5CWlobd
u3/Bnl92K13HnMGP3GJjY2WOIWdeRERERERERERUOAyAEBGpqewgSPv2HYs8 4Xm2Fs2b4kzw
H9gT9Ssid0YCwyE8DuuMv/IToRc0ksHGxgaX/roIOzs7udutrKwQEREhjI4I Dw+HpaWlTJqc
2yMjI2FlZVWksnKrX78egKy5Ppo0aQwAaNKkMTZ/vwW6urrCdmXqWBBra2uZ /SMiInghExER
EREREREVEecAISJSY61dXZGUGP9JwY+cBtsNREhIiDDyoygToOdn7NgxmDDB E//++y/EYjEe
PHiAwUOGCtv7u/eDj48f4kQixIlEmDbNFwP6u8vk4es3AyJRPESiePj6TofH wAFFKkueoUOH
Ys7cuUJbtnZ1xYIFCzFsWOHqWJCBA/oLxxAnEsHHx48XMREREak9DQ0NLlzU eiEiotLDESBE
RGrOwMCgWPMLDAwUluI03c8XK1auQoeOnREdHY2aNWtilv9MYfv8+UGYPGUq XFzqAAD69u2D
oCDZOrRs2QJffdUQ75KT0bdvH8ybN7dIZcnjMXAg/P1noXXrrACIq+s3SEtL g8fAgYWqY8Ft
Ow8TPb3gXKMmjAwNMXXaVPxx+jQvYiIiIlJr+vr6bARSa8nJyWwEIqJSwknQ iYhKWElMgv65
dejYucAJz0tDzsnEiYiIiEg1KDMJOgMgpO5SUlKE656ToBMRlSw+AouIiApN 1YIfRERERERE
REREufERWERERERERERUavhgCiIiIvpcOAKEiIjUAh9/RUREREREREREOXEE CBERERERERGV
mtIYAXJnSyeZ9w3Gn+aJUGF6RqZ4/zaJDUFERIXGAAgRERERERERlRsnfOuh 28p7CtdR4TBI
QUREqogBECIiIiIiIiIqF66vbIXuQQFA8n6kvk5FamoqUl+/xped++L6ylZ5 0jfxvVRgfgV9
6V9SAQFVCTww+EFERKqIARAiIiIiIiIiKjUl+QisNEgA3QYAAF0bQDfHNge3 gTJpQ9eMUKpu
BaUpqWMrDxPJl4djJCKi4scACBFRKYp88oCNQERERERqy7luI9WqUDqA1Bil kiamORRbsfrG
Zli/ZhVWrl6L6JgYuLjUxg+bN6JevS8BABkZGZg9NxB7f/0NYrEYM6f7YrK3 JwAgPCICfjNm
ITT0L2SIxXD9phW2bd0MS0tL6BubCfkDQMp/iQAAiUSCoAWLsGPXL0hOfoeu XTpj04Z1MDI0
BAC8f5+KSVOm4fcjR2FoZIhJXp6YPTdQ2D81NQ3T/Kbj8OEjAIC+fXtj1fJl 0NXVEcpbtmQR
1m/chKioaCS/SYC+sZmwf3Z9clK2bmlpaZg0xQeHDv8OQyNDTPb24geJiIiK jAEQIqJSxF8x
ERERERH7xCXXJ04FgNTXMuvObF0qvK6oawQTuy+gbWAK53q18fDEfABAenIS 6vdfXej659wW
+tclnD/zB0wqmWD9hk3wnDQFoRfOAQAWLl6Kh48e48qlEBgaGGDx0uXCvn37 e2D1imXYtf0n
ZGSkY+HipZjuPxs//7gFyW8SYGBijuQ3CTLlLV+5Grf/7w4u/3UBJsbG8Jk+ E7PnBGLt6hUA
gKCFi/Dmvzd49OAOAGCC12SZ/QMXLER0dAzu/d9NSKVSjBk/EUELF2HxgiDh eG7cuInLoRdg
YWEh7Jf9b3Z9AGD7zl04eep0Ieq2GKL4eDy8fwdSqRRjJ3jy3omIiIpMQ8r/ gxARlahje7ei
x6BxAICwe9fZIERERESktmrUayL0gV079BTWh545KrzX1tYusfqcmt0Y3T0n Ce+Pb1qP7j7T
hfeaunbQ1K0CjYrGMvs9+fsMqjUdkCe/nMGHgrYZmJjjZcRTmJqaAgBS3r+H bRUHvEmIBQDU
dPkSJ48fQQ1nJ4XHkPL+PVzqNkDks//lWweXug1w7PeDqFHDGQAQFydC05bf IDzscdZ5camL
M3+cgKODAwDg2b/hqPdVIyEf59p1cPrkcTg7Vc+6b3n6DF2690TYowdCmU8f /wNbW5sC2+JC
yEUEzAnEmT+Ow/DDCA9l6nb65HE4VXcUym7wdZN827ksSE9PF6777HtBIiIq GRwBQkRUiqRg
DJqIiIiIqKSkpmfgwzgQHN/0E7p7jpUdEVLRBhqaeji+ub3Mfu3H3pSbn6am JiQSCbS0tGTW
SyQSaGpqyqzLDn4AgL6eHsRisfA+JjYWjg72csu4eu065swLwt2795CckgIA 0NDQKPA4o6Kj
0aBRU5l1OfeJjY1DtapVhff21arKpI2LE8nUx9HBHnFxIpk0OYMf8jx+/D9M meaL40cPC8EP
ZevmYF9NpmwiIqKiYgCEiKgUcRAeEREREbFPXIKToL9LB1Jf4/hPh9B91GAg NfXjRi0dICMd
kEhw12gdmkt9AQBXNFaiXT51rFK5Mv55+Ahf1q0js/7+g39QtUoVmWOTd5zZ 62ysrREeHgFn
OSNAhg4fiSWL5qN9u7YwMjLCu3fvYFvVscC8bayt8ee507CztZVbnpWlJSKf vxCCC5GRz/Ns
j4iIRPUPozDCwyNgmeNRV4qORySKx8Ahw7Bl04Y87aCobtZWVjJlR0RE8t6J iIiKTJNNQERU
ujd7XLhw4cKFCxcuXLio66Jq3ryTfAh+9EXWSJCPi6aeOTT1LAFIAABtxzxA 2zEPCsxv1MgR
mOg1Cddv3ERaWjrS0tJx7foNTPSahDGjRypdr8GDBsJn+ky8iorCmzdvMMN/ trDtfWoqdHR1
oaOji4jI5/CaPE1mXxMTE4SFPc1TL+/JUxEeHgGxWIx/Hj7E8JFjhO39+vbB rIA5SEhIQEJC
AmbOmi2zf98+vTHdfxZEoniIRPHwmzkL/fr2Ufp4BgwaAt9pU9CsWVO5bVZQ 3dz79cHMWbMR
H58AkSge0/1n8caRiIiKjCNAiIhKNwLCNiCluDRsiUe3/2ZDEBERkRp2iUuu Tzx2xyPsn9YI
v6zbl2ebY+OucGxki92332JE34+PwBrRtz1W/XoW0wY0z7PP1Mne0NfXh/fk qXj67BkAwNnJ
CSO/G46xo0cpPWJi5nRfzJ4biGYtW0MqlWKGn4+wbfOGtZg5azYGvxgBO1tb TPL2xKHDvwvb
J3t7opVbWyQnJ+NtUtZjqqZNmYQ169aja4/eiI6JQQ1nZ0z3nSbsMztgJiZP 8UHtOvVhaGSI
iePH4ez5P4Xtc+fMgo/fDHz5VSMAQO9ePTBntr/Sx3P9xk1cv3ET4yZ4CduU r5s/Jk/xgUvd
rLpN9vJE8JlzHAFCRERFwknQiYhKWM5J0Mv7F9pxPudgtaodLwolfPF1Kzy8 dYkNQURERGWK
S8OWQh84v0nQK1RQrd9mrt5/Bb06tkJVC30AwIv4FBwJviQ3AKIunoSFoY/7 QDy4c4sX7WeQ
Pd8LJ0EnIip5HAFCRFSKynMMWvQu69ECcW/FsDTUUnq/Oo2+EV4bGRqgRbMm mD1jGsxMK5Wp
4/951z6s3bgFU7zGY+QwD14vRERExD6xinkRn6LWfbGZAXMw088Haenp8A+Y i25durC/SURE
aocBECKi0rzZQzm+wQgMQYgb4BYYAunKbwu164OboQCAxMQkLF+7CYGLV2Dd ioVl5tAzMzPx
68HfMd3HG7v3HsDwIf2hqanJ64WIiIhIBUzt3wxrfruUZ526sa9aFV81bobU 1DR06dwJs2fN
4MknIiK1wwAIEVFpKqe/sKp48Q1C3AAPw4bY53YbHiGvkdHapNDtZmZaCf4+ 3mjXzV1Yl5mZ
ifXfb8OhoyeRkvIebVxbImi2Hwz0sx5hULdxa0yf6omde35DnCge96+H4K/L 17Bq3feIeP4C
VpbmGDdyGPr26gYASEtPx+IV6xB89gIAoFP7NvD3mwwdbW0hv7kzp2Hbzj2I EyXAuboDFs7z
R+2azvlW/9LfV2FibITB/fvg+MlgXLp8Da4tP95Up6dnYP6SVTh97gIM9PUw YsgAmeN++SoK
S1dtwPVb/wexWIwmX3+FxYGzYGZmys8UERERUTFQx4BHbhPGj8WE8WN5somI SK1psgmIiEqP
VFq+lvhkKeL9LmDfu9vwMGyI6EbGWUGQd7cR73cB8clShXnkbjdAQ2bdDz/v xj+P/ocDu7fh
YvAR6OjoYPX6LTL733vwCAd2b8O9ayGQSoFZ8xZh4tjvcC3kNHZs3YC79x8K 6ddv3oY4UTxO
Ht6DE4f2IDomDhu+/0kmv+u37mD3ts24fP4k2rq5InDRigKPYd/BI/Bw7wOp FBjYrxf2Hfhd
ZvuGLT8hMek1go/+ikN7t+Pajdsyx+g51R9DPNwRGnwUF08fhYN9NSxbs6nc XU9cuHDhwoUL
F9VflOsTS7lwUeuFiIhKD0eAEBGVagCk/HSGE2eEAIAw8iO6kTGPaX9AAAAg AElEQVQAZAVB
bmaNBHELDEECALNlbkq1W1LSa6zasAXNGn8trDt89CS2rF8JK0sLAMAUz7Ho N3gkAqZPFfb3
mzIRlSqZCPvo6OhAFJ+AxKQk2FhbITDAT9h2Kvg8tm9ZC9NKWXOMzPTxxqiJ UzHNe7yQX8D0
KTAxzjqe4YP7Y8tPO/M9ty9fReHBw8dYvXQ+pFIpOrb/Fqs2bMHLV1GobGcL ADh5+ix+3rJO
KHPGNG9cch8q5Pn7rzuE/LS1tTFpwmh07DWQN1dERERERERERDkwAEJEVIrK 0xfWpktbIylV
A26BIVmPvbqZFQSxvfkf9r27DbcQAIFuMNVV/Cupek3dAAAGBvpo3qQR5sz0 EfaJFcWjR/+h
Muk1NDRk8rQwN5d5v3pJELb+vBvf/7gdhoYGmD7VC61btQAAJCQmorKdrZC+ sp0tEhKTZPY3
NjKSCaZIJJJ8j2H/oaNISnqNxt90yLN+qtc4AEB8QiIq29rIlJnzerlz/x+s 3bgVj5+E4f37
VLnHSERERMQ+MREREZV3DIAQEZXu3V65OlxTHSmwxBUef7/LegzWzYbC47BS lxgCyIQy83zf
vfJnvm1paWGO3T9uFEaAyG3rXO1ex6UW1q9YCKlUiktXriNw8QqcP9EcAGBu ZoqXr6JQrUpl
AMDLl1EwM61UYH75rUtLT8exk8H44/Be2NnaCOtfRUVj8ChPTBwzAjra2rAw N5Mp89WrKJk8
/WYFwnfSBLRs1gQGBvpISXmPFu26lds5ZYiIiIiIiIiI5GEAhIioFElRPr+w ft/SAG7+yHrs
VQjwfokBUIi2KKjd+vXujqClqzBjmhfsbKzxb8RzbNvxC5YtmJPv/jPnLsTY 74aiapXKkEoz
IZZIhDQd27XB8rWbEBTgBwBYtmYDOrVvI5OHvPrIW3f67J/4sk5t2Npay2y3 s7NBHZeaCD53
Ad27dEDnDt9i5brNCAzwhVQKLFu7SSbPtLQ0aGtXREWdingZFf3/7N15uFV1 of/xz2E6TMo8
OaQoZqS3UnHCMkoBrRRFwSG14ZcDig2IOVwVHLrlmIlpNum9dR0qUUxLHBK5 pYlEN4fMa4al
gnAUFJkOcNi/P4gdB86Bg8A5sHi9fPbD3mutvfZ3fTmPD+w3a62M+94Pt+qf JwBgy9Z2mw4m
gUJbMO9tkwDQRAQQgCa0VZ/uP3ZABoydlIwdkFJp2Uabty+cdHxu++mdOW3k 6FS9+VZ2ft8O
+dLnT6r1ntXfP+Bj/TPq/DF59fUZ2fl9O+YbYy4obzPy9C/kW9eOyxHHrris 1sBPHpyzTvvC
WvdX37I7f3Fvzjz183WuO/boI/KDW3+azxw+MGee+vlcfuW3c9hRJ6Zd2zY5 5cTh+e0TT5Xf
N+bC0bnmOzdnxgVj071b13zuxOGZ+Mgkl48AAAAAWEVFybclAI3qvttvyZEn rrjXwx+feGSr
not5//67bPuNg/xQAAAU1F79Dy3/GfjgQUPKyyc/NKH8ut22HU0UhbbyDJDJ D00o/10QgMbh
DBCAJrS1N+htrujvrAUAAAAANgkBBKAp+fIfAAAAADYJAQSgCTn7AQAAAAA2 DQEEoAkJIAAA
AACwaQggAE2oFAEEAAAAADYFAQSgKTkDBAAAAAA2CQEEoAm5BBYAAAAAbBoC CEAT2qv/ISYB
AAAAADaBZqYAAAAAAAAoGgEEAAAAAAAoHAEEAAAAAAAoHAEEAAAAAAAoHAEE AAAAAAAoHAEE
AAAAAAAoHAEEgCbzxOArTQIAAAAAm4QAAkCTeOLJp2r92lCtKtuUH92698wJ J342VVVvbjHH
ver4V30AAAAAsHEJIAA0jbGTMmnAil/X15LqRVlSvSjPP/9sKisrc+ZZZ21R h75y/Ks+AAAA
ANi4BBAAGt30cQ9n0oDkhPZ7Z9KAFa/fi+7duuW6a6/NI488Wl5WU1OTiy66 ONvvsGM6dOyc
z550ct59993y+laVbfKdG8al9y59Utm6bZLkwYkT85G99km79tumz26758c/ vrW8/eLFi3PG
iDPTtVuPdO3WIyPOPCuLFy+utb/vf/8H6bPb7mnXftvsu9/++dOfnlnvY5kz Z262236HzJ37
9hrLd9jhfZk79+11HhsAAAAA/yKAANBonnjyqTwx+MrcMX9aTmi/d2b22zYn tN87d8yflicG
X7nel8NKkoqKilqvv3XlVZk27Y+Z8tTv89qrf0+bNm1y4b9fVGubKVOmZMpT v0/14oVJki9+
8f9lzCUXZ85bVXnsN4/kqSlTytuOGTM2M2fMzJ///Fyef/7ZvPqPVzN27KW1 9vf45MmZ/Phj
mT1rZoYMGZIRZ5653sfRuXOnDB06ND/80Y9qLf/hj36U448/Lp06dWzQsQEA AACwQkWpVCqZ
BoDGc9/tt+TIE09PkixdsnirOe6VNzxfeebHzH7bltf1mjovd8yflgGTVrzu P/G8evfTqrJN
+ZJRVVVv5vwLLsjbb7+Tu3/xsyRJn912z68e+GXe//73J0lmzZ6dfvvsm1df /Xv5/X9/5W/p
1atXeZ+77LpbRo8elSFHHpntt9++1ufttPMuefSRh9KnT58kyUsvvZSBgw7L K9NfLu/vjZkz
0rlzpyTJwoUL07Vbjyxc8G6946/LkupFefHFF/OpTx+RF//y57Ro0SLLli1L 3w/umd88+nB2
3HHHdR4bAMDmpmWr1uU/Ax88aEh5+eSHJpRft9u2o4mi0BbMe7v8c7/y74IA NA5ngADQKPpP
PC8ZOyADJiV3zJ+WXlPnJVktfowdsNb4sdLKG4f3/eAemT9/fm666cbyuhkz ZmTPf/tweZsd
d9wps6uqar1/1fiRJD+76848/PCj6bfvftn9Ax/MAw88UF43e/bs9O7du/y6 d+/emT17dq33
r4wfSdK2bdssW7ZsreOv7x4gu+++e/b44Adzzz33JknGj78nBx54QHbccccG HxsAAAAAK7Qw
BQA0lv4H7p9M3D+9xj284jJYU/cuXw6r98SBDd7P2m4a3rNnz/z2fx7Pdttt 1+D99eu3T+4Z
/4uUSqU8OHFiTj/tjPzjH59OknTv3j2vvPJKdt111yTJ9OnT061bt002R2d/ eWQuv/yKDBt2
bMbdeGPG3XDDBh0bAAAAwNbKGSAANLreZw8snwkyYNKK1xvLaaedmhEjzsrf /va3LFu2LM89
91w+e9LJa33PSSefkhdeeCFLly5NqVTKspp/ncExfNixOeecczO7qiqzq6oy atToHDd82Cab
m4GHHpp5897NTTffnPbt2ucjH/nwBh0bAAAAwNZKAAGgafzzclgZO2Cj7vbr 545O/4P6Z9Dg
w9OhY+ecfMrnc9SQIWt9z5FHHJFhw49Px05dcuGFF+W2224tr7vsskvTvUf3 9O27R/r23SO9
tuuVSy8du0FjXHkJq1Ufq/ry2SMzatTojDrnaxt8bAAAAABbKzdBB2hkW+tN 0OvyxOArG3TP
DwAAtkxugg5ugg7QlJwBAkCTET8AAAAA2FQEEAAAAAAAoHAEEAAAAAAAoHAE EAAAAAAAoHAE
EAAAAAAAoHAEEAAAAAAAoHAEEAAAAAAAoHAEEAAAAAAAoHAEEAAAAAAAoHAE EAAAAAAAoHAE
EAAAAAAAoHAEEAAAAAAAoHAEEAAAAAAAoHAEEADYwrWqbGMSAAAAAFYjgADQ ZJ4YfKVJAAAA
AGCTEEAAaBJPPPlUrV8bqlVlm/KjW/eeOeHEz6aq6s0t6thffPHFDD/u+PTs tV3ab9MhB/Y/
KOPH3+OHAgAAAGAjEkAAaBpjJ2XSgBW/rq8l1YuypHpRnn/+2VRWVubMs87a Yg77r3/9awYO
HJxDPvnJPP/cc3nrzdn5zvXX566f/czPBAAAAMBGJIAA0Oimj3s4kwYkJ7Tf O5MGrHj9XnTv
1i3XXXttHnnk0fKympqaXHTRxdl+hx3ToWPnfPakk/Puu++W17eqbJPv3DAu vXfpk8rWbZMk
D06cmI/stU/atd82fXbbPT/+8a3l7RcvXpwzRpyZrt16pGu3Hhlx5llZvHhx rf19//s/SJ/d
dk+79ttm3/32z5/+9Ey9Y77s8isy+tzROf3009KlS+dUVlZmv/32zV133pEk +eQhh+ZnP/t5
rfe8+uqr2Wmn3nnnnXdSXV2dL516Wjp26pIdd9wp1173bT9QAAAAAHUQQABo NE88+VSeGHxl
7pg/LSe03zsz+22bE9rvnTvmT8sTg69c78thJUlFRUWt19+68qpMm/bHTHnq 93nt1b+nTZs2
ufDfL6q1zZQpUzLlqd+nevHCJMkXv/j/MuaSizPnrao89ptH8tSUKeVtx4wZ m5kzZubPf34u
zz//bF79x6sZO/bSWvt7fPLkTH78scyeNTNDhgzJiDPPrHe8j/3msQwbdmy9 688//7xc8Y3/
yPLly8vLrvjGf2Tk2SPToUOHjB17ad6sejP/939/ydQ/PJ1Jj03ygwUAAABQ h4pSqVQyDQCN
577bb8mRJ56eJFm6ZPFWc9wrb3i+8syPmf22La/rNXVe7pg/LQMmrXjdf+J5 9e6nVWWbLKle
lCSpqnoz519wQd5++53c/YsVl5Dqs9vu+dUDv8z73//+JMms2bPTb5998+qr fy+//++v/C29
evUq73OXXXfL6NGjMuTII7P99tvX+ryddt4ljz7yUPr06ZMkeemllzJw0GF5 ZfrL5f29MXNG
OnfulCRZuHBhunbrkYUL3q1z/G3bbZN578xNixYt6j3G/gd9NF8+++wcf/xx Ky6ZNeiwPP/c
M2nbtm127r1rHn3koey6667l8eyx54fKcwIAsDlp2ap1+c/ABw8aUl4++aEJ 5dfttu1ooii0
BfPeLv/cr/y7IACNwxkgADSK/hPPS8YOyIBJyR3zp6XX1HlJVosfYwesNX6s tPIm6H0/uEfm
z5+fm266sbxuxowZ2fPfPlzeZscdd8rsqqpa7181fiTJz+66Mw8//Gj67btf dv/AB/PAAw+U
182ePTu9e/cuv+7du3dmz55d6/0r40eStG3bNsuWLat37F06d07Vm2u/afsF /zwLpKamJpde
dnlGjx6Vtm1XXK5r1qxZ2XnnnWuNBwAAAIA1CSAANJr+B+6f/hPPK1/2amX8 OKH93uk/8bz0
P3D/Bu1n5U3Q36yalbvuvCM9uncvr+vZs2demf5yeZsl1YvKl7qqT79+++Se 8b/IjNdfy/XX
X5cRI/51U/Xu3bvnlVdeKb+ePn16unXr9p7n4BOf/ETuvvvutW7zmc98Jq1a tcpFF12c3//+
qZz6pS+V1/Xo0aPWeFZ9DgAAAMC/CCAANLreZw8snwkyYNKK1xvLaaedmhEj zsrf/va3LFu2
LM8991w+e9LJa33PSSefkhdeeCFLly5NqVTKspp/ncExfNixOeecczO7qiqz q6oyatToHDd8
2Hse3yUXX5Srr7omP/zhjzJnztxUV1fn6aen5rjjTyhvU1FRkQvOPy/XXvft XHjB+WnVqlV5
3fHHDc/oc89LVdWbmV1VlXPOOdcPFAAAAEAdBBAAmsY/L4eVsQM26m6/fu7o 9D+ofwYNPjwd
OnbOyad8PkcNGbLW9xx5xBEZNvz4dOzUJRdeeFFuu+3W8rrLLrs03Xt0T9++ e6Rv3z3Sa7te
ufTSse95fH369MnEib/OxIceygf69k2Xrt3zla9+NccNH15ru+bNm6dPnz45 +eSTak/b2DHp
1Klj+uz2/uy91z45+OMH+1kCAAAAqIOboAM0sq31Juh1eWLwlQ2658fWaOgx w3Lc8GE57rjh
JgMA2GK5CTq4CTpAU2phCgBoKuLHmpYvX55bb70tL7/8coYNO9aEAAAAALxH AggAbEZat2mX
nXbaKbf/90/TrJkrVQIAAAC8VwIIAGxGllQvMgkAAAAAG4F/WgoAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSOAAIAAAAAABSO AAIAAAAAABSO
AAIAAAAAABSOAAIAAAAAAB


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: [EMF] How to create an instance of an ecore model [message #66597 is a reply to message #66576] Thu, 05 February 2009 13:29 Go to previous messageGo to next message
Miguel Angel Garcia de Dios is currently offline Miguel Angel Garcia de DiosFriend
Messages: 22
Registered: July 2009
Junior Member
Thank you Ed Merks.
I will see that NewsGroup looking for the answer.

Ed Merks wrote:
> Miguel,
>
> I don't know much about OCL. I've added the OCL newsgroup to the "to"
> list of the reply. Do doubt Christian will see it...
>
>
> Miguel Angel Garcia de Dios wrote:
>> Ih Ed Merks,
>> I've changed the property volatile of the "people" ERefeference of
>> "People" class, which is my container of Person. Then I can generate
>> instances of Person from "people" EReference but now I have a new
>> different problem: with the "OCL Interpreter Console" plugin installed
>> I have made many OCL queries but I've obtained an unexpected value
>> attached as a screenshot: Having three instances of Person, the OCL
>> query "Person.allInstances()" returns an empty result. But if I write
>> "self.name" (being the context an instance of Person) I obtain the
>> desired result ('Ada' for example). I think I have any wrong property
>> value because it seems like Person isntances are no related ro
>> something similar.
>>
>> Thank you!
>>
>> Miguel Angel Garcia de Dios wrote:
>>> Ed Merks,
>>> Yes, I did. I marked the feature as volatile.
>>> I think it cannot be so complicated. Maybe any value of a property is
>>> not correct so, to ensure that I'm going to attach screenshots for
>>> everything (it is not so much).
>>>
>>> I am really concerned with that because I think it should be easier.
>>> Thank you in advance!
>>>
>>> Ed Merks wrote:
>>>> Miguel,
>>>>
>>>> Did you mark the feature as volatile such that no code is generated
>>>> for it?
>>>>
>>>>
>>>> Miguel Angel Garcia de Dios wrote:
>>>>> Ed Merks,
>>>>> I have the containment property of my desired container class in
>>>>> true, the GenFeature properties are also update: containment=true
>>>>> and the GenEdit properties contains children=true and create
>>>>> children=true.
>>>>> I hope you can be more explicity with the solution of my problem
>>>>> please.
>>>>> The last error I've obtained is when I create My.container file
>>>>> from a Poeple object. Hten I click on it and I get the nex error:
>>>>>
>>>>> Unhandled event loop exception:
>>>>> java.lang.UnsupportedOperationException
>>>>> at Container.impl.PeopleImpl.getPeople(PeopleImpl.java:113)
>>>>> at Container.impl.PeopleImpl.eGet(PeopleImpl.java:141)
>>>>> at
>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1012)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1004)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:999)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:338)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:397)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:384)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.hasChildren(AdapterFactoryContentProvider.java:198)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2076)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer .java:582)
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2102)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(Abst ractTreeViewer.java:2752)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.j ava:842)
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:828)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractT reeViewer.java:802)
>>>>>
>>>>> at
>>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createChildren( AbstractTreeViewer.java:776)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.TreeViewer.createChildren(TreeView er.java:634)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpan d(AbstractTreeViewer.java:1442)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeVi ewer.java:927)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded( AbstractTreeViewer.java:1453)
>>>>>
>>>>> at
>>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:126)
>>>>>
>>>>> at
>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1182)
>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1167)
>>>>> at
>>>>> org.eclipse.swt.widgets.Tree.gtk_test_expand_row(Tree.java:2 026)
>>>>> at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1572)
>>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4105 )
>>>>> at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native
>>>>> Method)
>>>>> at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:57 92)
>>>>> at org.eclipse.swt.widgets.Display.eventProc(Display.java:1177)
>>>>> at
>>>>> org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Na tive
>>>>> Method)
>>>>> at
>>>>> org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS. java:1550)
>>>>> at
>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3031)
>>>>> at
>>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>>> at
>>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>>
>>>>> at
>>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>>
>>>>> at
>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>>> at
>>>>> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>>
>>>>> at
>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>>
>>>>> at
>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>>
>>>>> at
>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>>>>>
>>>>> at
>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>>
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>>>>>
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>>>>>
>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>> at
>>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>>
>>>>> A lot of thanks!
>>>>> And always sorry for my bad English.
>>>>>
>>>>> Ed Merks wrote:
>>>>>> Miguel,
>>>>>>
>>>>>> Comments below.
>>>>>>
>>>>>>
>>>>>> Miguel Angel Garcia de Dios wrote:
>>>>>>> Hi,
>>>>>>> I think my question is easy for us but i have spend too much time
>>>>>>> in it:
>>>>>>> I want to create a simply ecore model and then i want to
>>>>>>> instanciate it and check some OCL queries on it.
>>>>>>> My purpose is to create an instance of an ecore model which
>>>>>>> contains as instances of a class named Person as I want.
>>>>>>> These are my steps:
>>>>>>> 1.- Create the ecore model. It is compoused by two classes:
>>>>>>> -People, which contains an EReference with multiplicity
>>>>>>> 0..* to the EClass Person.
>>>>>>> -Person, which contains only an EAttribute named "name"
>>>>>>> with String type.
>>>>>>> 2.- Create automatically the .genmodel file from the ecore
>>>>>>> model .
>>>>>>> 3.- Generate the Java code aotumatically fron the .genmodel.
>>>>>>> 4.- Launch an Eclipse application from the project.
>>>>>>> 5.- Create an instance of the ecore model.
>>>>>>> My probles is in the last step: I begin the model with an
>>>>>>> instance of People and hten I desire to create as number of
>>>>>>> instances of Person as I want but I cannot do that. I don't know
>>>>>>> the reason. I've seen the EXTLibrary example too many times but I
>>>>>>> cannot get my desired result.
>>>>>> The lack of there being a containment reference is the likely
>>>>>> reason. And note that even if you change it in the Ecore model,
>>>>>> the GenFeature properties for the feature will *not *change, so
>>>>>> you'll need to update those as well to support children and child
>>>>>> creation.
>>>>>>> Being more exaclty, the idea is to be a EClass which can generate
>>>>>>> as many Person as I want. That class is People. I've tried many
>>>>>>> possibilies changing the class properties obtaining different
>>>>>>> errors.
>>>>>>> Can somebody tell me how to create an ecore model that has an
>>>>>>> EClass which can generates as many instances of another class as
>>>>>>> I want?
>>>>>>> Thank you in advance!
>>>>>>>
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>
>>
>> ------------------------------------------------------------ ------------
>>
Re: [EMF] How to create an instance of an ecore model [message #66619 is a reply to message #66576] Thu, 05 February 2009 14:28 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: cdamus.zeligsoft.com

Hi, Miguel,

I see from your posting in the EMF newsgroup that the People::people
reference is derived, transient, and volatile. That seems odd for a
containment reference (you don't want to serialize contained objects?)
but shouldn't interfere with OCL, as these characteristics of an
EReference don't matter to it.

The allInstances() operation uses a LazyExtentMap to find all instances
of an EClass. From the context element, it finds the topmost container
(usually a Resources) and uses getAllContents()/eAllContents() to scan
for the instances of any given EClass. Try debugging this process to
see why your Person instances aren't being found.

I don't have any ready ideas as to why this isn't working, so I'd be
debugging it if I had this problem ...

HTH,

Christian


Ed Merks wrote:
> Miguel,
>
> I don't know much about OCL. I've added the OCL newsgroup to the "to"
> list of the reply. Do doubt Christian will see it...
>
>
> Miguel Angel Garcia de Dios wrote:
>> Ih Ed Merks,
>> I've changed the property volatile of the "people" ERefeference of
>> "People" class, which is my container of Person. Then I can generate
>> instances of Person from "people" EReference but now I have a new
>> different problem: with the "OCL Interpreter Console" plugin installed
>> I have made many OCL queries but I've obtained an unexpected value
>> attached as a screenshot: Having three instances of Person, the OCL
>> query "Person.allInstances()" returns an empty result. But if I write
>> "self.name" (being the context an instance of Person) I obtain the
>> desired result ('Ada' for example). I think I have any wrong property
>> value because it seems like Person isntances are no related ro
>> something similar.
>>
>> Thank you!
>>
>> Miguel Angel Garcia de Dios wrote:
>>> Ed Merks,
>>> Yes, I did. I marked the feature as volatile.
>>> I think it cannot be so complicated. Maybe any value of a property is
>>> not correct so, to ensure that I'm going to attach screenshots for
>>> everything (it is not so much).
>>>
>>> I am really concerned with that because I think it should be easier.
>>> Thank you in advance!
>>>
>>> Ed Merks wrote:
>>>> Miguel,
>>>>
>>>> Did you mark the feature as volatile such that no code is generated
>>>> for it?
>>>>
>>>>
>>>> Miguel Angel Garcia de Dios wrote:
>>>>> Ed Merks,
>>>>> I have the containment property of my desired container class in
>>>>> true, the GenFeature properties are also update: containment=true
>>>>> and the GenEdit properties contains children=true and create
>>>>> children=true.
>>>>> I hope you can be more explicity with the solution of my problem
>>>>> please.
>>>>> The last error I've obtained is when I create My.container file
>>>>> from a Poeple object. Hten I click on it and I get the nex error:
>>>>>
>>>>> Unhandled event loop exception:
>>>>> java.lang.UnsupportedOperationException
>>>>> at Container.impl.PeopleImpl.getPeople(PeopleImpl.java:113)
>>>>> at Container.impl.PeopleImpl.eGet(PeopleImpl.java:141)
>>>>> at
>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1012)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1004)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:999)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:338)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:397)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:384)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.hasChildren(AdapterFactoryContentProvider.java:198)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2076)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer .java:582)
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2102)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(Abst ractTreeViewer.java:2752)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.j ava:842)
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:828)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractT reeViewer.java:802)
>>>>>
>>>>> at
>>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createChildren( AbstractTreeViewer.java:776)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.TreeViewer.createChildren(TreeView er.java:634)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpan d(AbstractTreeViewer.java:1442)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeVi ewer.java:927)
>>>>>
>>>>> at
>>>>> org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded( AbstractTreeViewer.java:1453)

>>>>>
>>>>> at
>>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:126)
>>>>>
>>>>> at
>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1182)
>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1167)
>>>>> at
>>>>> org.eclipse.swt.widgets.Tree.gtk_test_expand_row(Tree.java:2 026)
>>>>> at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1572)
>>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4105 )
>>>>> at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native
>>>>> Method)
>>>>> at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:57 92)
>>>>> at org.eclipse.swt.widgets.Display.eventProc(Display.java:1177)
>>>>> at
>>>>> org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Na tive
>>>>> Method)
>>>>> at
>>>>> org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS. java:1550)
>>>>> at
>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3031)
>>>>> at
>>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>>> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>>> at
>>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>>
>>>>> at
>>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>>
>>>>> at
>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>>> at
>>>>> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>>>>>
>>>>> at
>>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>>
>>>>> at
>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>>
>>>>> at
>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>>
>>>>> at
>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>>>>>
>>>>> at
>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>>
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>>>>>
>>>>> at
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>>>>>
>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>> at
>>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>>
>>>>> A lot of thanks!
>>>>> And always sorry for my bad English.
>>>>>
>>>>> Ed Merks wrote:
>>>>>> Miguel,
>>>>>>
>>>>>> Comments below.
>>>>>>
>>>>>>
>>>>>> Miguel Angel Garcia de Dios wrote:
>>>>>>> Hi,
>>>>>>> I think my question is easy for us but i have spend too much time
>>>>>>> in it:
>>>>>>> I want to create a simply ecore model and then i want to
>>>>>>> instanciate it and check some OCL queries on it.
>>>>>>> My purpose is to create an instance of an ecore model which
>>>>>>> contains as instances of a class named Person as I want.
>>>>>>> These are my steps:
>>>>>>> 1.- Create the ecore model. It is compoused by two classes:
>>>>>>> -People, which contains an EReference with multiplicity
>>>>>>> 0..* to the EClass Person.
>>>>>>> -Person, which contains only an EAttribute named "name"
>>>>>>> with String type.
>>>>>>> 2.- Create automatically the .genmodel file from the ecore
>>>>>>> model .
>>>>>>> 3.- Generate the Java code aotumatically fron the .genmodel.
>>>>>>> 4.- Launch an Eclipse application from the project.
>>>>>>> 5.- Create an instance of the ecore model.
>>>>>>> My probles is in the last step: I begin the model with an
>>>>>>> instance of People and hten I desire to create as number of
>>>>>>> instances of Person as I want but I cannot do that. I don't know
>>>>>>> the reason. I've seen the EXTLibrary example too many times but I
>>>>>>> cannot get my desired result.
>>>>>> The lack of there being a containment reference is the likely
>>>>>> reason. And note that even if you change it in the Ecore model,
>>>>>> the GenFeature properties for the feature will *not *change, so
>>>>>> you'll need to update those as well to support children and child
>>>>>> creation.
>>>>>>> Being more exaclty, the idea is to be a EClass which can generate
>>>>>>> as many Person as I want. That class is People. I've tried many
>>>>>>> possibilies changing the class properties obtaining different
>>>>>>> errors.
>>>>>>> Can somebody tell me how to create an ecore model that has an
>>>>>>> EClass which can generates as many instances of another class as
>>>>>>> I want?
>>>>>>> Thank you in advance!
>>>>>>>
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
>>
>>
>> ------------------------------------------------------------ ------------
>>
Re: [EMF] How to create an instance of an ecore model [message #66661 is a reply to message #66619] Thu, 05 February 2009 16:55 Go to previous messageGo to next message
Miguel Angel Garcia de Dios is currently offline Miguel Angel Garcia de DiosFriend
Messages: 22
Registered: July 2009
Junior Member
Thank you Christian.

You advice me that the best way to resolve my problem is debugging the
process getAllContents()/eAllContents() but I do not know ho to do that,
sorry. I have my EMF project with my ecore and genmodel inside the
"model" folder and all the atomatically generated code from genmodel
file. Then I lunch an Eclipse Application and create an instance of my
ecore model and I evaluate OCl queries with the "OCL Interpreter
Console" plugin. How can I debug that? Where is the process you've
mentioned? Please help me and be patient with me: I do not familiarize
oneself with EMF.

Los of thanks in advence!


Christian W. Damus wrote:
> Hi, Miguel,
>
> I see from your posting in the EMF newsgroup that the People::people
> reference is derived, transient, and volatile. That seems odd for a
> containment reference (you don't want to serialize contained objects?)
> but shouldn't interfere with OCL, as these characteristics of an
> EReference don't matter to it.
>
> The allInstances() operation uses a LazyExtentMap to find all instances
> of an EClass. From the context element, it finds the topmost container
> (usually a Resources) and uses getAllContents()/eAllContents() to scan
> for the instances of any given EClass. Try debugging this process to
> see why your Person instances aren't being found.
>
> I don't have any ready ideas as to why this isn't working, so I'd be
> debugging it if I had this problem ...
>
> HTH,
>
> Christian
>
>
> Ed Merks wrote:
>> Miguel,
>>
>> I don't know much about OCL. I've added the OCL newsgroup to the "to"
>> list of the reply. Do doubt Christian will see it...
>>
>>
>> Miguel Angel Garcia de Dios wrote:
>>> Ih Ed Merks,
>>> I've changed the property volatile of the "people" ERefeference of
>>> "People" class, which is my container of Person. Then I can generate
>>> instances of Person from "people" EReference but now I have a new
>>> different problem: with the "OCL Interpreter Console" plugin
>>> installed I have made many OCL queries but I've obtained an
>>> unexpected value attached as a screenshot: Having three instances of
>>> Person, the OCL query "Person.allInstances()" returns an empty
>>> result. But if I write "self.name" (being the context an instance of
>>> Person) I obtain the desired result ('Ada' for example). I think I
>>> have any wrong property value because it seems like Person isntances
>>> are no related ro something similar.
>>>
>>> Thank you!
>>>
>>> Miguel Angel Garcia de Dios wrote:
>>>> Ed Merks,
>>>> Yes, I did. I marked the feature as volatile.
>>>> I think it cannot be so complicated. Maybe any value of a property
>>>> is not correct so, to ensure that I'm going to attach screenshots
>>>> for everything (it is not so much).
>>>>
>>>> I am really concerned with that because I think it should be easier.
>>>> Thank you in advance!
>>>>
>>>> Ed Merks wrote:
>>>>> Miguel,
>>>>>
>>>>> Did you mark the feature as volatile such that no code is generated
>>>>> for it?
>>>>>
>>>>>
>>>>> Miguel Angel Garcia de Dios wrote:
>>>>>> Ed Merks,
>>>>>> I have the containment property of my desired container class in
>>>>>> true, the GenFeature properties are also update: containment=true
>>>>>> and the GenEdit properties contains children=true and create
>>>>>> children=true.
>>>>>> I hope you can be more explicity with the solution of my problem
>>>>>> please.
>>>>>> The last error I've obtained is when I create My.container file
>>>>>> from a Poeple object. Hten I click on it and I get the nex error:
>>>>>>
>>>>>> Unhandled event loop exception:
>>>>>> java.lang.UnsupportedOperationException
>>>>>> at Container.impl.PeopleImpl.getPeople(PeopleImpl.java:113)
>>>>>> at Container.impl.PeopleImpl.eGet(PeopleImpl.java:141)
>>>>>> at
>>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1012)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1004)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:999)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:338)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:397)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:384)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.hasChildren(AdapterFactoryContentProvider.java:198)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2076)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer .java:582)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2102)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(Abst ractTreeViewer.java:2752)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.j ava:842)
>>>>>> at
>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:828)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractT reeViewer.java:802)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>>>>> at
>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createChildren( AbstractTreeViewer.java:776)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.viewers.TreeViewer.createChildren(TreeView er.java:634)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpan d(AbstractTreeViewer.java:1442)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeVi ewer.java:927)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded( AbstractTreeViewer.java:1453)
>
>
>>>>>>
>>>>>> at
>>>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:126)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
>>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1182)
>>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1167)
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Tree.gtk_test_expand_row(Tree.java:2 026)
>>>>>> at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1572)
>>>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4105 )
>>>>>> at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:57 92)
>>>>>> at org.eclipse.swt.widgets.Display.eventProc(Display.java:1177)
>>>>>> at
>>>>>> org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Na tive
>>>>>> Method)
>>>>>> at
>>>>>> org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS. java:1550)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3031)
>>>>>> at
>>>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>>>> at
>>>>>> org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>>>> at
>>>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>>>> at
>>>>>> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>>>>>>
>>>>>> at
>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>>>
>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>> at
>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>>>>>>
>>>>>> at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>>>>>>
>>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>> at
>>>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>>>
>>>>>> A lot of thanks!
>>>>>> And always sorry for my bad English.
>>>>>>
>>>>>> Ed Merks wrote:
>>>>>>> Miguel,
>>>>>>>
>>>>>>> Comments below.
>>>>>>>
>>>>>>>
>>>>>>> Miguel Angel Garcia de Dios wrote:
>>>>>>>> Hi,
>>>>>>>> I think my question is easy for us but i have spend too much
>>>>>>>> time in it:
>>>>>>>> I want to create a simply ecore model and then i want to
>>>>>>>> instanciate it and check some OCL queries on it.
>>>>>>>> My purpose is to create an instance of an ecore model which
>>>>>>>> contains as instances of a class named Person as I want.
>>>>>>>> These are my steps:
>>>>>>>> 1.- Create the ecore model. It is compoused by two classes:
>>>>>>>> -People, which contains an EReference with multiplicity
>>>>>>>> 0..* to the EClass Person.
>>>>>>>> -Person, which contains only an EAttribute named "name"
>>>>>>>> with String type.
>>>>>>>> 2.- Create automatically the .genmodel file from the ecore
>>>>>>>> model .
>>>>>>>> 3.- Generate the Java code aotumatically fron the .genmodel.
>>>>>>>> 4.- Launch an Eclipse application from the project.
>>>>>>>> 5.- Create an instance of the ecore model.
>>>>>>>> My probles is in the last step: I begin the model with an
>>>>>>>> instance of People and hten I desire to create as number of
>>>>>>>> instances of Person as I want but I cannot do that. I don't know
>>>>>>>> the reason. I've seen the EXTLibrary example too many times but
>>>>>>>> I cannot get my desired result.
>>>>>>> The lack of there being a containment reference is the likely
>>>>>>> reason. And note that even if you change it in the Ecore model,
>>>>>>> the GenFeature properties for the feature will *not *change, so
>>>>>>> you'll need to update those as well to support children and child
>>>>>>> creation.
>>>>>>>> Being more exaclty, the idea is to be a EClass which can
>>>>>>>> generate as many Person as I want. That class is People. I've
>>>>>>>> tried many possibilies changing the class properties obtaining
>>>>>>>> different errors.
>>>>>>>> Can somebody tell me how to create an ecore model that has an
>>>>>>>> EClass which can generates as many instances of another class as
>>>>>>>> I want?
>>>>>>>> Thank you in advance!
>>>>>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>
>>>
>>>
>>> ------------------------------------------------------------ ------------
>>>
Re: [EMF] How to create an instance of an ecore model [message #66742 is a reply to message #66661] Fri, 06 February 2009 05:11 Go to previous message
Eclipse UserFriend
Originally posted by: cdamus.zeligsoft.com

Hi, Miguel,

getAllContents() is a method of the Resourc interface that iterates all
EObjects contained in the resource. Similarly, eAllContents() is an
EObject method that iterates all of its contained objects.

Put a breakpoint in the get(Object) method of the
org.eclipse.ocl.LazyExtentMap class. Evaluate your the
Person.allInstances() expression and, when the breakpoint is reached,
step through the code to see what is the extent computed for the Person
class. You should be able to see why none of the objects that are
iterated in this method are determined to be instances of Person. I
don't have any good idea as to what is happening, I'm afraid.

If you need help with setting breakpoints and debugging, see the Java
Development User's Guide documentation in the Eclipse Help.

HTH,

Christian


Miguel Angel Garcia de Dios wrote:
> Thank you Christian.
>
> You advice me that the best way to resolve my problem is debugging the
> process getAllContents()/eAllContents() but I do not know ho to do that,
> sorry. I have my EMF project with my ecore and genmodel inside the
> "model" folder and all the atomatically generated code from genmodel
> file. Then I lunch an Eclipse Application and create an instance of my
> ecore model and I evaluate OCl queries with the "OCL Interpreter
> Console" plugin. How can I debug that? Where is the process you've
> mentioned? Please help me and be patient with me: I do not familiarize
> oneself with EMF.
>
> Los of thanks in advence!
>
>
> Christian W. Damus wrote:
>> Hi, Miguel,
>>
>> I see from your posting in the EMF newsgroup that the People::people
>> reference is derived, transient, and volatile. That seems odd for a
>> containment reference (you don't want to serialize contained objects?)
>> but shouldn't interfere with OCL, as these characteristics of an
>> EReference don't matter to it.
>>
>> The allInstances() operation uses a LazyExtentMap to find all
>> instances of an EClass. From the context element, it finds the
>> topmost container (usually a Resources) and uses
>> getAllContents()/eAllContents() to scan for the instances of any given
>> EClass. Try debugging this process to see why your Person instances
>> aren't being found.
>>
>> I don't have any ready ideas as to why this isn't working, so I'd be
>> debugging it if I had this problem ...
>>
>> HTH,
>>
>> Christian
>>
>>
>> Ed Merks wrote:
>>> Miguel,
>>>
>>> I don't know much about OCL. I've added the OCL newsgroup to the
>>> "to" list of the reply. Do doubt Christian will see it...
>>>
>>>
>>> Miguel Angel Garcia de Dios wrote:
>>>> Ih Ed Merks,
>>>> I've changed the property volatile of the "people" ERefeference of
>>>> "People" class, which is my container of Person. Then I can generate
>>>> instances of Person from "people" EReference but now I have a new
>>>> different problem: with the "OCL Interpreter Console" plugin
>>>> installed I have made many OCL queries but I've obtained an
>>>> unexpected value attached as a screenshot: Having three instances of
>>>> Person, the OCL query "Person.allInstances()" returns an empty
>>>> result. But if I write "self.name" (being the context an instance of
>>>> Person) I obtain the desired result ('Ada' for example). I think I
>>>> have any wrong property value because it seems like Person isntances
>>>> are no related ro something similar.
>>>>
>>>> Thank you!
>>>>
>>>> Miguel Angel Garcia de Dios wrote:
>>>>> Ed Merks,
>>>>> Yes, I did. I marked the feature as volatile.
>>>>> I think it cannot be so complicated. Maybe any value of a property
>>>>> is not correct so, to ensure that I'm going to attach screenshots
>>>>> for everything (it is not so much).
>>>>>
>>>>> I am really concerned with that because I think it should be easier.
>>>>> Thank you in advance!
>>>>>
>>>>> Ed Merks wrote:
>>>>>> Miguel,
>>>>>>
>>>>>> Did you mark the feature as volatile such that no code is
>>>>>> generated for it?
>>>>>>
>>>>>>
>>>>>> Miguel Angel Garcia de Dios wrote:
>>>>>>> Ed Merks,
>>>>>>> I have the containment property of my desired container class in
>>>>>>> true, the GenFeature properties are also update: containment=true
>>>>>>> and the GenEdit properties contains children=true and create
>>>>>>> children=true.
>>>>>>> I hope you can be more explicity with the solution of my problem
>>>>>>> please.
>>>>>>> The last error I've obtained is when I create My.container file
>>>>>>> from a Poeple object. Hten I click on it and I get the nex error:
>>>>>>>
>>>>>>> Unhandled event loop exception:
>>>>>>> java.lang.UnsupportedOperationException
>>>>>>> at Container.impl.PeopleImpl.getPeople(PeopleImpl.java:113)
>>>>>>> at Container.impl.PeopleImpl.eGet(PeopleImpl.java:141)
>>>>>>> at
>>>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1012)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:1004)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjec tImpl.java:999)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:338)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:397)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.hasChildre n(ItemProviderAdapter.java:384)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.hasChildren(AdapterFactoryContentProvider.java:198)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2076)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer .java:582)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(Ab stractTreeViewer.java:2102)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.updatePlus(Abst ractTreeViewer.java:2752)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.TreeViewer.updatePlus(TreeViewer.j ava:842)
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem( AbstractTreeViewer.java:828)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractT reeViewer.java:802)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.createChildren( AbstractTreeViewer.java:776)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.TreeViewer.createChildren(TreeView er.java:634)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpan d(AbstractTreeViewer.java:1442)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.TreeViewer.handleTreeExpand(TreeVi ewer.java:927)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded( AbstractTreeViewer.java:1453)
>>
>>
>>
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:126)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
>>>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1158)
>>>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1182)
>>>>>>> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1167)
>>>>>>> at
>>>>>>> org.eclipse.swt.widgets.Tree.gtk_test_expand_row(Tree.java:2 026)
>>>>>>> at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1572)
>>>>>>> at org.eclipse.swt.widgets.Display.windowProc(Display.java:4105 )
>>>>>>> at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native
>>>>>>> Method)
>>>>>>> at
>>>>>>> org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:57 92)
>>>>>>> at org.eclipse.swt.widgets.Display.eventProc(Display.java:1177)
>>>>>>> at
>>>>>>> org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Na tive
>>>>>>> Method)
>>>>>>> at
>>>>>>> org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS. java:1550)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3031)
>>>>>>> at
>>>>>>> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2382)
>>>>>>> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
>>>>>>> at
>>>>>>> org.eclipse.ui.internal.Workbench.access$4(Workbench.java:21 98)
>>>>>>> at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
>>>>>>> at
>>>>>>> org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:288)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:488)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
>>>>>>> at
>>>>>>> org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:193)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:386)
>>>>>>>
>>>>>>> at
>>>>>>> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>>>>>>>
>>>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>> at
>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
>>>>>>>
>>>>>>> at
>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
>>>>>>>
>>>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>>> at
>>>>>>> org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 549)
>>>>>>> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
>>>>>>> at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
>>>>>>> at org.eclipse.equinox.launcher.Main.main(Main.java:1212)
>>>>>>>
>>>>>>> A lot of thanks!
>>>>>>> And always sorry for my bad English.
>>>>>>>
>>>>>>> Ed Merks wrote:
>>>>>>>> Miguel,
>>>>>>>>
>>>>>>>> Comments below.
>>>>>>>>
>>>>>>>>
>>>>>>>> Miguel Angel Garcia de Dios wrote:
>>>>>>>>> Hi,
>>>>>>>>> I think my question is easy for us but i have spend too much
>>>>>>>>> time in it:
>>>>>>>>> I want to create a simply ecore model and then i want to
>>>>>>>>> instanciate it and check some OCL queries on it.
>>>>>>>>> My purpose is to create an instance of an ecore model which
>>>>>>>>> contains as instances of a class named Person as I want.
>>>>>>>>> These are my steps:
>>>>>>>>> 1.- Create the ecore model. It is compoused by two classes:
>>>>>>>>> -People, which contains an EReference with multiplicity
>>>>>>>>> 0..* to the EClass Person.
>>>>>>>>> -Person, which contains only an EAttribute named "name"
>>>>>>>>> with String type.
>>>>>>>>> 2.- Create automatically the .genmodel file from the ecore
>>>>>>>>> model .
>>>>>>>>> 3.- Generate the Java code aotumatically fron the .genmodel.
>>>>>>>>> 4.- Launch an Eclipse application from the project.
>>>>>>>>> 5.- Create an instance of the ecore model.
>>>>>>>>> My probles is in the last step: I begin the model with an
>>>>>>>>> instance of People and hten I desire to create as number of
>>>>>>>>> instances of Person as I want but I cannot do that. I don't
>>>>>>>>> know the reason. I've seen the EXTLibrary example too many
>>>>>>>>> times but I cannot get my desired result.
>>>>>>>> The lack of there being a containment reference is the likely
>>>>>>>> reason. And note that even if you change it in the Ecore model,
>>>>>>>> the GenFeature properties for the feature will *not *change, so
>>>>>>>> you'll need to update those as well to support children and
>>>>>>>> child creation.
>>>>>>>>> Being more exaclty, the idea is to be a EClass which can
>>>>>>>>> generate as many Person as I want. That class is People. I've
>>>>>>>>> tried many possibilies changing the class properties obtaining
>>>>>>>>> different errors.
>>>>>>>>> Can somebody tell me how to create an ecore model that has an
>>>>>>>>> EClass which can generates as many instances of another class
>>>>>>>>> as I want?
>>>>>>>>> Thank you in advance!
>>>>>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------ ------------
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------ ------------
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------ ------------
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------ ------------
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------ ------------
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------ ------------
>>>>>
>>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------ ------------
>>>>
>>>>
Previous Topic:Accessing extensions and tagged values in OCL constraints
Next Topic:how to get all classes of one package?
Goto Forum:
  


Current Time: Fri Sep 27 04:03:14 GMT 2024

Powered by FUDForum. Page generated in 0.02749 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top