Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO]Model update
[CDO]Model update [message #425256] Fri, 21 November 2008 01:56 Go to next message
Xingxiao Lu is currently offline Xingxiao LuFriend
Messages: 91
Registered: July 2009
Member
Hi Ed,
I have a problem that I can't resolve. I create a database for my model
with CDO2.0M3. When I update my model, for example, I add an attribute for
one class, I can't reload the old data from database. The exception is
following:

java.lang.IllegalStateException: range.size() != metaIDRange.size()
at
org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
at
org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
at
org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
at
org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
at
org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
at
org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
at
org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
at
org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
at
org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
at
org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
at
org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
at
org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
at
org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
at
org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
at
org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
at
org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
at
org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
at
org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
at
org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
at
org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
at
org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
at
org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
at
org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
at
org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
at org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
at
org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
at
org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
at org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
at
org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
at
org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
at
org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
at
org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
at
org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
at
org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
at
org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
....

What should I do?
Re: [CDO]Model update [message #425258 is a reply to message #425256] Fri, 21 November 2008 04:49 Go to previous messageGo to next message
Simon Mc Duff is currently offline Simon Mc DuffFriend
Messages: 596
Registered: July 2009
Senior Member
At the moment CDO does not support evolving classes.

Currently in CDO, a package with a given URI (X) should never be
modified. If you do so, a new URI(for the package) should be given.

If you follow this your objects will still be available using the old model.

Does CDO should do more ? (Let me think about it during the night (it is
around 23:48 here :-))

This is a very complicated question that needs to be think deeply!

Usually you will need to change the URI of your package.. and migrate
your databases...

Maybe Eike will have another idea.

Simon




xxlu wrote:
> Hi Ed,
> I have a problem that I can't resolve. I create a database for my model
> with CDO2.0M3. When I update my model, for example, I add an attribute for
> one class, I can't reload the old data from database. The exception is
> following:
>
> java.lang.IllegalStateException: range.size() != metaIDRange.size()
> at
> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
> at
> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
> at
> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
> at
> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
> at
> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
> at
> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
> at
> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
> at
> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
> at
> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
> at
> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
> at
> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
> at
> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
> at
> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
> at
> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
> at
> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
> at
> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
> at
> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
> at
> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
> at
> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
> at
> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
> at
> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
> at
> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
> at
> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
> at
> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
> at org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
> at
> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
> at
> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
> at org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
> at
> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
> at
> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
> at
> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
> at
> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
> at
> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
> at
> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
> at
> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
> ...
>
> What should I do?
>
>
Re: [CDO]Model update [message #425260 is a reply to message #425258] Fri, 21 November 2008 06:13 Go to previous messageGo to next message
Xingxiao Lu is currently offline Xingxiao LuFriend
Messages: 91
Registered: July 2009
Member
I think this is a very complicated question, too. : (

In my project, model will be updated frequently. It's so discommodious to
migrate my database everytime. ;(

"Simon McDuff" <smcduff@hotmail.com>
> At the moment CDO does not support evolving classes.
>
> Currently in CDO, a package with a given URI (X) should never be modified.
> If you do so, a new URI(for the package) should be given.
>
> If you follow this your objects will still be available using the old
> model.
>
> Does CDO should do more ? (Let me think about it during the night (it is
> around 23:48 here :-))
>
> This is a very complicated question that needs to be think deeply!
>
> Usually you will need to change the URI of your package.. and migrate
> your databases...
>
> Maybe Eike will have another idea.
>
> Simon
>
>
>
>
> xxlu wrote:
>> Hi Ed,
>> I have a problem that I can't resolve. I create a database for my
>> model with CDO2.0M3. When I update my model, for example, I add an
>> attribute for one class, I can't reload the old data from database. The
>> exception is following:
>>
>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>> at
>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>> at
>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>> at
>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>> at
>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>> at
>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>> at
>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>> at
>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>> at
>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>> at
>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>> at
>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>> at
>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>> at
>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>> at
>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>> at
>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>> at
>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>> at
>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>> at
>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>> at
>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>> at
>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>> at
>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>> at
>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>> at
>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>> at
>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>> at
>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>> at
>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>> at
>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>> at
>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>> at org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>> at
>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>> at
>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>> at
>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>> at
>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>> at
>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>> at
>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>> at
>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>> ...
>>
>> What should I do?
Re: [CDO]Model update [message #425261 is a reply to message #425260] Fri, 21 November 2008 09:14 Go to previous messageGo to next message
Victor Roldan Betancort is currently offline Victor Roldan BetancortFriend
Messages: 524
Registered: July 2009
Senior Member
xxlu, Simon,

maybe you could take look at this:

"COPE - Coupled Evolution of Metamodels and Models"
http://cope.in.tum.de

Quite impressive stuff. I allows you to modify a model, record the
changes you've made on it and then generate a plugin capable of update
old model instances to the new version.

Still, you would need to change your model URI (for instance, changing
the version: from http://foo.bar.org/example/1.0 to
http://foo.bar.org/example/2.0), but the generated migration plugin
should help you dealing with it!

We just need to execute that transformation with a CDOResource. We could
probably add the context menu migration action (which is currently only
available at package explorer/resource navigator context menu) to
CDOSession View by passing to their migration API a CDOResource instead.

And I think this would be a cool experiment :)

I've read It's going to be probably contributed to Eclipse.

xxlu escribió:
> I think this is a very complicated question, too. : (
>
> In my project, model will be updated frequently. It's so discommodious to
> migrate my database everytime. ;(
>
> "Simon McDuff" <smcduff@hotmail.com>
>> At the moment CDO does not support evolving classes.
>>
>> Currently in CDO, a package with a given URI (X) should never be modified.
>> If you do so, a new URI(for the package) should be given.
>>
>> If you follow this your objects will still be available using the old
>> model.
>>
>> Does CDO should do more ? (Let me think about it during the night (it is
>> around 23:48 here :-))
>>
>> This is a very complicated question that needs to be think deeply!
>>
>> Usually you will need to change the URI of your package.. and migrate
>> your databases...
>>
>> Maybe Eike will have another idea.
>>
>> Simon
>>
>>
>>
>>
>> xxlu wrote:
>>> Hi Ed,
>>> I have a problem that I can't resolve. I create a database for my
>>> model with CDO2.0M3. When I update my model, for example, I add an
>>> attribute for one class, I can't reload the old data from database. The
>>> exception is following:
>>>
>>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>>> at
>>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>>> at
>>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>>> at
>>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>>> at
>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>>> at
>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>>> at
>>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>>> at
>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>>> at
>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>>> at
>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>>> at
>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>>> at
>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>>> at
>>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>>> at
>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>>> at
>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>>> at
>>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>>> at
>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>>> at
>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>>> at
>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>>> at
>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>>> at
>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>>> at
>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>>> at org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>>> at
>>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>>> at
>>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>>> at
>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>>> at
>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>>> at
>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>>> at
>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>>> at
>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>>> ...
>>>
>>> What should I do?
>
>
Re: [CDO]Model update [message #425270 is a reply to message #425261] Fri, 21 November 2008 12:19 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6476
Registered: July 2009
Senior Member
Guys,

Indeed, model evolution is a very interesting problem and certainly hard
to solve in the context of a persistent model repository with support
for temporality. I'd also appreciate to start discussion and see if we
can do something constructive in this area.

I also think that COPE is an interesting first step to look at. But in
the long term I'd like to see an approach that doesn't go through a
regular user transaction at client side but rather modifies the
repository directly at the server side. For huge models this seems to be
the only appropriate way and models seem to grow constantly.

Here are some points to consider:

1) Would COPE be able to help us at the server side? We don't have EMF
there...
2) Should there be a new protocol (signals) to implement API like
CDOSessionPackageManager::evolvePackage(String oldURI, EPackage
newPackage, CDODataMigrationRules rules) ?
3) Should these data migration rules operate on the CDORevision level or
on back-end concepts level?
4) What about on-demand migration per instance (as opposed to one huge
migration process for the whole repository)?

Cheers
/Eike

----
http://thegordian.blogspot.com



Víctor Roldán Betancort schrieb:
> xxlu, Simon,
>
> maybe you could take look at this:
>
> "COPE - Coupled Evolution of Metamodels and Models"
> http://cope.in.tum.de
>
> Quite impressive stuff. I allows you to modify a model, record the
> changes you've made on it and then generate a plugin capable of update
> old model instances to the new version.
>
> Still, you would need to change your model URI (for instance, changing
> the version: from http://foo.bar.org/example/1.0 to
> http://foo.bar.org/example/2.0), but the generated migration plugin
> should help you dealing with it!
>
> We just need to execute that transformation with a CDOResource. We
> could probably add the context menu migration action (which is
> currently only available at package explorer/resource navigator
> context menu) to CDOSession View by passing to their migration API a
> CDOResource instead.
>
> And I think this would be a cool experiment :)
>
> I've read It's going to be probably contributed to Eclipse.
>
> xxlu escribió:
>> I think this is a very complicated question, too. : (
>>
>> In my project, model will be updated frequently. It's so
>> discommodious to migrate my database everytime. ;(
>>
>> "Simon McDuff" <smcduff@hotmail.com>
>>> At the moment CDO does not support evolving classes.
>>>
>>> Currently in CDO, a package with a given URI (X) should never be
>>> modified. If you do so, a new URI(for the package) should be given.
>>>
>>> If you follow this your objects will still be available using the
>>> old model.
>>>
>>> Does CDO should do more ? (Let me think about it during the night
>>> (it is around 23:48 here :-))
>>>
>>> This is a very complicated question that needs to be think deeply!
>>>
>>> Usually you will need to change the URI of your package.. and
>>> migrate your databases...
>>>
>>> Maybe Eike will have another idea.
>>>
>>> Simon
>>>
>>>
>>>
>>>
>>> xxlu wrote:
>>>> Hi Ed,
>>>> I have a problem that I can't resolve. I create a database for
>>>> my model with CDO2.0M3. When I update my model, for example, I add
>>>> an attribute for one class, I can't reload the old data from
>>>> database. The exception is following:
>>>>
>>>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>>>>
>>>> at
>>>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>>>>
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>>>>
>>>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>>>>
>>>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>>>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>>>> at
>>>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>>>>
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>>>>
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>>>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>>>> at
>>>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>>>>
>>>> at
>>>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>>>>
>>>> at
>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>>>>
>>>> at
>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>>>>
>>>> at
>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>>>>
>>>> at
>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>>>>
>>>> at
>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>>>>
>>>> ...
>>>>
>>>> What should I do?
>>
>>


Re: [CDO]Model update [message #425275 is a reply to message #425261] Fri, 21 November 2008 12:43 Go to previous messageGo to next message
Simon Mc Duff is currently offline Simon Mc DuffFriend
Messages: 596
Registered: July 2009
Senior Member
Víctor Roldán Betancort wrote:
> xxlu, Simon,
>
> maybe you could take look at this:
>
> "COPE - Coupled Evolution of Metamodels and Models"
> http://cope.in.tum.de
>
I saw it few days ago while reading Ed blogs!! Very interesting!!

> Quite impressive stuff. I allows you to modify a model, record the
> changes you've made on it and then generate a plugin capable of update
> old model instances to the new version.
>
> Still, you would need to change your model URI (for instance, changing
> the version: from http://foo.bar.org/example/1.0 to
> http://foo.bar.org/example/2.0), but the generated migration plugin
> should help you dealing with it!

It will work lovely with CDO since the URI will change!
>
> We just need to execute that transformation with a CDOResource. We could
> probably add the context menu migration action (which is currently only
> available at package explorer/resource navigator context menu) to
> CDOSession View by passing to their migration API a CDOResource instead.
>
> And I think this would be a cool experiment :)
>
> I've read It's going to be probably contributed to Eclipse.
Good to know!
>
> xxlu escribió:
>> I think this is a very complicated question, too. : (
>>
>> In my project, model will be updated frequently. It's so discommodious
>> to migrate my database everytime. ;(
>>
>> "Simon McDuff" <smcduff@hotmail.com>
>>> At the moment CDO does not support evolving classes.
>>>
>>> Currently in CDO, a package with a given URI (X) should never be
>>> modified. If you do so, a new URI(for the package) should be given.
>>>
>>> If you follow this your objects will still be available using the old
>>> model.
>>>
>>> Does CDO should do more ? (Let me think about it during the night (it
>>> is around 23:48 here :-))
>>>
>>> This is a very complicated question that needs to be think deeply!
>>>
>>> Usually you will need to change the URI of your package.. and
>>> migrate your databases...
>>>
>>> Maybe Eike will have another idea.
>>>
>>> Simon
>>>
>>>
>>>
>>>
>>> xxlu wrote:
>>>> Hi Ed,
>>>> I have a problem that I can't resolve. I create a database for
>>>> my model with CDO2.0M3. When I update my model, for example, I add
>>>> an attribute for one class, I can't reload the old data from
>>>> database. The exception is following:
>>>>
>>>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>>>>
>>>> at
>>>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>>>>
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>>>>
>>>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>>>>
>>>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>>>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>>>> at
>>>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>>>>
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>>>>
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>>>>
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>>>>
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>>>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>>>> at
>>>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>>>>
>>>> at
>>>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>>>>
>>>> at
>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>>>>
>>>> at
>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>>>>
>>>> at
>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>>>>
>>>> at
>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>>>>
>>>> at
>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>>>>
>>>> ...
>>>>
>>>> What should I do?
>>
>>
Re: [CDO]Model update [message #425276 is a reply to message #425275] Fri, 21 November 2008 12:45 Go to previous messageGo to next message
Simon Mc Duff is currently offline Simon Mc DuffFriend
Messages: 596
Registered: July 2009
Senior Member
Didn't refresh my newsgroup!! Eike already answered!!

:-)

Simon McDuff wrote:
> Víctor Roldán Betancort wrote:
>> xxlu, Simon,
>>
>> maybe you could take look at this:
>>
>> "COPE - Coupled Evolution of Metamodels and Models"
>> http://cope.in.tum.de
>>
> I saw it few days ago while reading Ed blogs!! Very interesting!!
>
>> Quite impressive stuff. I allows you to modify a model, record the
>> changes you've made on it and then generate a plugin capable of update
>> old model instances to the new version.
>>
>> Still, you would need to change your model URI (for instance, changing
>> the version: from http://foo.bar.org/example/1.0 to
>> http://foo.bar.org/example/2.0), but the generated migration plugin
>> should help you dealing with it!
>
> It will work lovely with CDO since the URI will change!
>>
>> We just need to execute that transformation with a CDOResource. We
>> could probably add the context menu migration action (which is
>> currently only available at package explorer/resource navigator
>> context menu) to CDOSession View by passing to their migration API a
>> CDOResource instead.
>>
>> And I think this would be a cool experiment :)
>>
>> I've read It's going to be probably contributed to Eclipse.
> Good to know!
>>
>> xxlu escribió:
>>> I think this is a very complicated question, too. : (
>>>
>>> In my project, model will be updated frequently. It's so
>>> discommodious to migrate my database everytime. ;(
>>>
>>> "Simon McDuff" <smcduff@hotmail.com>
>>>> At the moment CDO does not support evolving classes.
>>>>
>>>> Currently in CDO, a package with a given URI (X) should never be
>>>> modified. If you do so, a new URI(for the package) should be given.
>>>>
>>>> If you follow this your objects will still be available using the
>>>> old model.
>>>>
>>>> Does CDO should do more ? (Let me think about it during the night
>>>> (it is around 23:48 here :-))
>>>>
>>>> This is a very complicated question that needs to be think deeply!
>>>>
>>>> Usually you will need to change the URI of your package.. and
>>>> migrate your databases...
>>>>
>>>> Maybe Eike will have another idea.
>>>>
>>>> Simon
>>>>
>>>>
>>>>
>>>>
>>>> xxlu wrote:
>>>>> Hi Ed,
>>>>> I have a problem that I can't resolve. I create a database for
>>>>> my model with CDO2.0M3. When I update my model, for example, I add
>>>>> an attribute for one class, I can't reload the old data from
>>>>> database. The exception is following:
>>>>>
>>>>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>>>>>
>>>>> at
>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>>>>>
>>>>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>>>>> at
>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>>>>>
>>>>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>>>>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>>>>> at
>>>>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>>>>>
>>>>> at
>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>>>>>
>>>>> at
>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>>>>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>>>>> at
>>>>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>>>>>
>>>>> at
>>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>>>>>
>>>>> ...
>>>>>
>>>>> What should I do?
>>>
>>>
Re: [CDO/Teneo]Model update [message #425473 is a reply to message #425276] Thu, 27 November 2008 01:24 Go to previous messageGo to next message
Xingxiao Lu is currently offline Xingxiao LuFriend
Messages: 91
Registered: July 2009
Member
Hi,
I experimentalize this with Teneo. I found Teneo can automatically
update database by modified model. I think this feature is necessary. I
should not migrate our database once my model modified. :(

"Simon McDuff" <smcduff@hotmail.com> :
> Didn't refresh my newsgroup!! Eike already answered!!
>
> :-)
>
> Simon McDuff wrote:
>> V
Re: [CDO/Teneo]Model update [message #425475 is a reply to message #425473] Thu, 27 November 2008 05:45 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6476
Registered: July 2009
Senior Member
Xxlu,

Please notice that Martin Taal from the Teneo project developed a CDO
back-end integration based on Teneo.
So you might be able to enjoy the advantages of both CDO and Teneo.

Cheers
/Eike

----
http://thegordian.blogspot.com



xxlu schrieb:
> Hi,
> I experimentalize this with Teneo. I found Teneo can automatically
> update database by modified model. I think this feature is necessary. I
> should not migrate our database once my model modified. :(
>
> "Simon McDuff" <smcduff@hotmail.com> :
>
>> Didn't refresh my newsgroup!! Eike already answered!!
>>
>> :-)
>>
>> Simon McDuff wrote:
>>
>>> Víctor Roldán Betancort wrote:
>>>
>>>> xxlu, Simon,
>>>>
>>>> maybe you could take look at this:
>>>>
>>>> "COPE - Coupled Evolution of Metamodels and Models"
>>>> http://cope.in.tum.de
>>>>
>>>>
>>> I saw it few days ago while reading Ed blogs!! Very interesting!!
>>>
>>>
>>>> Quite impressive stuff. I allows you to modify a model, record the
>>>> changes you've made on it and then generate a plugin capable of update
>>>> old model instances to the new version.
>>>>
>>>> Still, you would need to change your model URI (for instance, changing
>>>> the version: from http://foo.bar.org/example/1.0 to
>>>> http://foo.bar.org/example/2.0), but the generated migration plugin
>>>> should help you dealing with it!
>>>>
>>> It will work lovely with CDO since the URI will change!
>>>
>>>> We just need to execute that transformation with a CDOResource. We could
>>>> probably add the context menu migration action (which is currently only
>>>> available at package explorer/resource navigator context menu) to
>>>> CDOSession View by passing to their migration API a CDOResource instead.
>>>>
>>>> And I think this would be a cool experiment :)
>>>>
>>>> I've read It's going to be probably contributed to Eclipse.
>>>>
>>> Good to know!
>>>
>>>> xxlu escribió:
>>>>
>>>>> I think this is a very complicated question, too. : (
>>>>>
>>>>> In my project, model will be updated frequently. It's so discommodious
>>>>> to migrate my database everytime. ;(
>>>>>
>>>>> "Simon McDuff" <smcduff@hotmail.com>
>>>>>
>>>>>> At the moment CDO does not support evolving classes.
>>>>>>
>>>>>> Currently in CDO, a package with a given URI (X) should never be
>>>>>> modified. If you do so, a new URI(for the package) should be given.
>>>>>>
>>>>>> If you follow this your objects will still be available using the old
>>>>>> model.
>>>>>>
>>>>>> Does CDO should do more ? (Let me think about it during the night (it
>>>>>> is around 23:48 here :-))
>>>>>>
>>>>>> This is a very complicated question that needs to be think deeply!
>>>>>>
>>>>>> Usually you will need to change the URI of your package.. and migrate
>>>>>> your databases...
>>>>>>
>>>>>> Maybe Eike will have another idea.
>>>>>>
>>>>>> Simon
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> xxlu wrote:
>>>>>>
>>>>>>> Hi Ed,
>>>>>>> I have a problem that I can't resolve. I create a database for my
>>>>>>> model with CDO2.0M3. When I update my model, for example, I add an
>>>>>>> attribute for one class, I can't reload the old data from database.
>>>>>>> The exception is following:
>>>>>>>
>>>>>>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>>>>>>> at
>>>>>>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>>>>>>> at
>>>>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>>>>>>> at
>>>>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>>>>>>> at
>>>>>>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>>>>>>> at
>>>>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>>>>>>> at
>>>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>>>>>>> at
>>>>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>>>>>>> at
>>>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>>>>>>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>>>>>>> at
>>>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>>>>>>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>>>>>>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>>>>>>> at
>>>>>>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>>>>>>> at
>>>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>>>>>>> at
>>>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>>>>>>> at
>>>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>>>>>>> at
>>>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>>>>>>> at
>>>>>>> org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>>>>>>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>>>>>>> at
>>>>>>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>>>>>>> at
>>>>>>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>>>>>>> at
>>>>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>>>>>>> at
>>>>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>>>>>>> at
>>>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>>>>>>> at
>>>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>>>>>>> at
>>>>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>>>>>>> ...
>>>>>>>
>>>>>>> What should I do?
>>>>>>>
>>>>>
>
>
>


Re: [CDO/Teneo]Model update [message #425477 is a reply to message #425475] Thu, 27 November 2008 07:17 Go to previous messageGo to next message
Xingxiao Lu is currently offline Xingxiao LuFriend
Messages: 91
Registered: July 2009
Member
I am interested in Teneo CDO Integration very much, but I don't know if it
can support this feature. I will try it later.

"Eike Stepper" <stepper@esc-net.de>
> Xxlu,
>
> Please notice that Martin Taal from the Teneo project developed a CDO
> back-end integration based on Teneo.
> So you might be able to enjoy the advantages of both CDO and Teneo.
>
> Cheers
> /Eike
>
> ----
> http://thegordian.blogspot.com
>
>
>
> xxlu schrieb:
>> Hi,
>> I experimentalize this with Teneo. I found Teneo can automatically
>> update database by modified model. I think this feature is necessary. I
>> should not migrate our database once my model modified. :(
>>
>> "Simon McDuff" <smcduff@hotmail.com> :
>>
>>> Didn't refresh my newsgroup!! Eike already answered!!
>>>
>>> :-)
>>>
>>> Simon McDuff wrote:
>>>
>>>> V
Re: [CDO]Model update [message #425495 is a reply to message #425258] Fri, 28 November 2008 02:34 Go to previous messageGo to next message
Xingxiao Lu is currently offline Xingxiao LuFriend
Messages: 91
Registered: July 2009
Member
I want to know how can I migrate my databases. Thanks. :)


"Simon McDuff" <smcduff@hotmail.com>
> At the moment CDO does not support evolving classes.
>
> Currently in CDO, a package with a given URI (X) should never be modified.
> If you do so, a new URI(for the package) should be given.
>
> If you follow this your objects will still be available using the old
> model.
>
> Does CDO should do more ? (Let me think about it during the night (it is
> around 23:48 here :-))
>
> This is a very complicated question that needs to be think deeply!
>
> Usually you will need to change the URI of your package.. and migrate
> your databases...
>
> Maybe Eike will have another idea.
>
> Simon
>
>
>
>
> xxlu wrote:
>> Hi Ed,
>> I have a problem that I can't resolve. I create a database for my
>> model with CDO2.0M3. When I update my model, for example, I add an
>> attribute for one class, I can't reload the old data from database. The
>> exception is following:
>>
>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>> at
>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>> at
>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>> at
>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>> at
>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>> at
>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>> at
>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>> at
>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>> at
>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>> at
>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>> at
>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>> at
>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>> at
>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>> at
>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>> at
>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>> at
>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>> at
>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>> at
>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>> at
>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>> at
>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>> at
>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>> at
>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>> at
>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>> at
>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>> at
>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>> at
>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>> at
>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>> at
>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>> at org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>> at
>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>> at
>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>> at
>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>> at
>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>> at
>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>> at
>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>> at
>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>> ...
>>
>> What should I do?
Re: [CDO]Model update [message #425496 is a reply to message #425495] Fri, 28 November 2008 02:58 Go to previous messageGo to next message
Xingxiao Lu is currently offline Xingxiao LuFriend
Messages: 91
Registered: July 2009
Member
Shoud I rebuild a database, then use ecore2ecore or other methods migrate my
database? Any suggestion?

"xxlu" <lu.xingxiao@gmail.com>
>I want to know how can I migrate my databases. Thanks. :)
>
>
> "Simon McDuff" <smcduff@hotmail.com>
>> At the moment CDO does not support evolving classes.
>>
>> Currently in CDO, a package with a given URI (X) should never be
>> modified. If you do so, a new URI(for the package) should be given.
>>
>> If you follow this your objects will still be available using the old
>> model.
>>
>> Does CDO should do more ? (Let me think about it during the night (it is
>> around 23:48 here :-))
>>
>> This is a very complicated question that needs to be think deeply!
>>
>> Usually you will need to change the URI of your package.. and migrate
>> your databases...
>>
>> Maybe Eike will have another idea.
>>
>> Simon
>>
>>
>>
>>
>> xxlu wrote:
>>> Hi Ed,
>>> I have a problem that I can't resolve. I create a database for my
>>> model with CDO2.0M3. When I update my model, for example, I add an
>>> attribute for one class, I can't reload the old data from database. The
>>> exception is following:
>>>
>>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>>> at
>>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>>> at
>>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>>> at
>>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>>> at
>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>>> at
>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>>> at
>>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>>> at
>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>>> at
>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>>> at
>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>>> at
>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>>> at
>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>>> at
>>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>>> at
>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>>> at
>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>>> at
>>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>>> at
>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>>> at
>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>>> at
>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>>> at
>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>>> at
>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>>> at
>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>>> at
>>> org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>>> at
>>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>>> at
>>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>>> at
>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>>> at
>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>>> at
>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>>> at
>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>>> at
>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>>> ...
>>>
>>> What should I do?
>
>
Re: [CDO]Model update [message #425497 is a reply to message #425496] Fri, 28 November 2008 07:39 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6476
Registered: July 2009
Senior Member
Xxlu,

I've opened this bugzilla:

256856: Support model evolution
https://bugs.eclipse.org/bugs/show_bug.cgi?id=256856

My comment 1 in this bugzilla explains a possible *manual* way to
migrate data instances after model evolution...

Cheers
/Eike

----
http://thegordian.blogspot.com



xxlu schrieb:
> Shoud I rebuild a database, then use ecore2ecore or other methods migrate my
> database? Any suggestion?
>
> "xxlu" <lu.xingxiao@gmail.com>
>
>> I want to know how can I migrate my databases. Thanks. :)
>>
>>
>> "Simon McDuff" <smcduff@hotmail.com>
>>
>>> At the moment CDO does not support evolving classes.
>>>
>>> Currently in CDO, a package with a given URI (X) should never be
>>> modified. If you do so, a new URI(for the package) should be given.
>>>
>>> If you follow this your objects will still be available using the old
>>> model.
>>>
>>> Does CDO should do more ? (Let me think about it during the night (it is
>>> around 23:48 here :-))
>>>
>>> This is a very complicated question that needs to be think deeply!
>>>
>>> Usually you will need to change the URI of your package.. and migrate
>>> your databases...
>>>
>>> Maybe Eike will have another idea.
>>>
>>> Simon
>>>
>>>
>>>
>>>
>>> xxlu wrote:
>>>
>>>> Hi Ed,
>>>> I have a problem that I can't resolve. I create a database for my
>>>> model with CDO2.0M3. When I update my model, for example, I add an
>>>> attribute for one class, I can't reload the old data from database. The
>>>> exception is following:
>>>>
>>>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>>>> at
>>>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>>>> at
>>>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>>>> at
>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>>>> at
>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>>>> at
>>>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>>>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>>>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>>>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>>>> at
>>>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>>>> at
>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>>>> at
>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>>>> at
>>>> org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>>>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>>>> at
>>>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>>>> at
>>>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>>>> at
>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>>>> at
>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>>>> at
>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>>>> at
>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>>>> at
>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>>>> ...
>>>>
>>>> What should I do?
>>>>
>>
>
>
>


Re: [CDO]Model update [message #425498 is a reply to message #425497] Fri, 28 November 2008 08:04 Go to previous messageGo to next message
Xingxiao Lu is currently offline Xingxiao LuFriend
Messages: 91
Registered: July 2009
Member
Eike,
Thank you very much!
But I think it's impossible to migrate the objects in the same schema.
For example:
test.ecroe V1 and test.ecore V2 both have classA. When excute migration,
exception will be throwed:
org.eclipse.net4j.db.DBException: DBTable exists classA. :(

"Eike Stepper" <stepper@esc-net.de>
> Xxlu,
>
> I've opened this bugzilla:
>
> 256856: Support model evolution
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=256856
>
> My comment 1 in this bugzilla explains a possible *manual* way to migrate
> data instances after model evolution...
>
> Cheers
> /Eike
>
> ----
> http://thegordian.blogspot.com
>
>
>
> xxlu schrieb:
>> Shoud I rebuild a database, then use ecore2ecore or other methods migrate
>> my database? Any suggestion?
>>
>> "xxlu" <lu.xingxiao@gmail.com>
>>
>>> I want to know how can I migrate my databases. Thanks. :)
>>>
>>>
>>> "Simon McDuff" <smcduff@hotmail.com>
>>>
>>>> At the moment CDO does not support evolving classes.
>>>>
>>>> Currently in CDO, a package with a given URI (X) should never be
>>>> modified. If you do so, a new URI(for the package) should be given.
>>>>
>>>> If you follow this your objects will still be available using the old
>>>> model.
>>>>
>>>> Does CDO should do more ? (Let me think about it during the night (it
>>>> is around 23:48 here :-))
>>>>
>>>> This is a very complicated question that needs to be think deeply!
>>>>
>>>> Usually you will need to change the URI of your package.. and migrate
>>>> your databases...
>>>>
>>>> Maybe Eike will have another idea.
>>>>
>>>> Simon
>>>>
>>>>
>>>>
>>>>
>>>> xxlu wrote:
>>>>
>>>>> Hi Ed,
>>>>> I have a problem that I can't resolve. I create a database for my
>>>>> model with CDO2.0M3. When I update my model, for example, I add an
>>>>> attribute for one class, I can't reload the old data from database.
>>>>> The exception is following:
>>>>>
>>>>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>>>>> at
>>>>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>>>>> at
>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>>>>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>>>>> at
>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>>>>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>>>>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>>>>> at
>>>>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>>>>> at
>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>>>>> at
>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>>>>> at
>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>>>>> at
>>>>> org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>>>>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>>>>> at
>>>>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>>>>> at
>>>>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>>>>> at
>>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>>>>> at
>>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>>>>> at
>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>>>>> at
>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>>>>> at
>>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>>>>> ...
>>>>>
>>>>> What should I do?
>>>>>
>>>
>>
>>
>>
Re: [CDO]Model update [message #425499 is a reply to message #425498] Fri, 28 November 2008 08:11 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6476
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------010201080901010004000704
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Xxlu,

Please try the following option in the cdo-server.xml (given, you're
using the DBStore!):

<?xml version="1.0" encoding="UTF-8"?>
<cdoServer>
<repository name="repo1">
<property name="overrideUUID"
value="1ff5d226-b1f0-40fb-aba2-0c31b38c764f"/>
<property name="supportingAudits" value="true"/>
<property name="verifyingRevisions" value="false"/>
<property name="currentLRUCapacity" value="10000"/>
<property name="revisedLRUCapacity" value="100"/>

<store type="db">
<mappingStrategy type="horizontal">
_<property name="qualifiedNames" value="*true*"/>_
<property name="toManyReferences"
value="ONE_TABLE_PER_REFERENCE"/>
<property name="toOneReferences" value="LIKE_ATTRIBUTES"/>
</mappingStrategy>
[...]


See also:
http://wiki.eclipse.org/CDO_Server_Configuration_Reference#P roperty_qualifiedNames

Cheers
/Eike

----
http://thegordian.blogspot.com



xxlu schrieb:
> Eike,
> Thank you very much!
> But I think it's impossible to migrate the objects in the same schema.
> For example:
> test.ecroe V1 and test.ecore V2 both have classA. When excute migration,
> exception will be throwed:
> org.eclipse.net4j.db.DBException: DBTable exists classA. :(
>
> "Eike Stepper" <stepper@esc-net.de>
>
>> Xxlu,
>>
>> I've opened this bugzilla:
>>
>> 256856: Support model evolution
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=256856
>>
>> My comment 1 in this bugzilla explains a possible *manual* way to migrate
>> data instances after model evolution...
>>
>> Cheers
>> /Eike
>>
>> ----
>> http://thegordian.blogspot.com
>>
>>
>>
>> xxlu schrieb:
>>
>>> Shoud I rebuild a database, then use ecore2ecore or other methods migrate
>>> my database? Any suggestion?
>>>
>>> "xxlu" <lu.xingxiao@gmail.com>
>>>
>>>
>>>> I want to know how can I migrate my databases. Thanks. :)
>>>>
>>>>
>>>> "Simon McDuff" <smcduff@hotmail.com>
>>>>
>>>>
>>>>> At the moment CDO does not support evolving classes.
>>>>>
>>>>> Currently in CDO, a package with a given URI (X) should never be
>>>>> modified. If you do so, a new URI(for the package) should be given.
>>>>>
>>>>> If you follow this your objects will still be available using the old
>>>>> model.
>>>>>
>>>>> Does CDO should do more ? (Let me think about it during the night (it
>>>>> is around 23:48 here :-))
>>>>>
>>>>> This is a very complicated question that needs to be think deeply!
>>>>>
>>>>> Usually you will need to change the URI of your package.. and migrate
>>>>> your databases...
>>>>>
>>>>> Maybe Eike will have another idea.
>>>>>
>>>>> Simon
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> xxlu wrote:
>>>>>
>>>>>
>>>>>> Hi Ed,
>>>>>> I have a problem that I can't resolve. I create a database for my
>>>>>> model with CDO2.0M3. When I update my model, for example, I add an
>>>>>> attribute for one class, I can't reload the old data from database.
>>>>>> The exception is following:
>>>>>>
>>>>>> java.lang.IllegalStateException: range.size() != metaIDRange.size()
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionImpl.java:544)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDescriptor.getEPackage(CDOPackageRegistryImpl.java :182)
>>>>>> at
>>>>>> org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegistryImpl.java:133)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDOSessionPackageManagerImpl.java:152)
>>>>>> at
>>>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageImpl.java:401)
>>>>>> at
>>>>>> org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOPackageImpl.java:288)
>>>>>> at
>>>>>> org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClassRefImpl.java:71)
>>>>>> at
>>>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndResolve(CDODataInputImpl.java:218)
>>>>>> at
>>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORevisionImpl.java:114)
>>>>>> at
>>>>>> org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDODataInputImpl.java:309)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:116)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(LoadRevisionRequest.java:1)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClientRequest.java:103)
>>>>>> at
>>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestWithConfirmation.java:118)
>>>>>> at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
>>>>>> at
>>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithConfirmation.java:98)
>>>>>> at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
>>>>>> at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
>>>>>> at
>>>>>> org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:392)
>>>>>> at
>>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:82)
>>>>>> at
>>>>>> org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirmation.java:73)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManagerImpl.java:149)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevisionManagerImpl.java:104)
>>>>>> at
>>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:94)
>>>>>> at
>>>>>> org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getRevision(CDORevisionResolverImpl.java:1)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:857)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionImpl.java:449)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.java:1023)
>>>>>> at
>>>>>> org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
>>>>>> at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
>>>>>> at
>>>>>> org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet(EStoreEObjectImpl.java:225)
>>>>>> at
>>>>>> org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)
>>>>>> at
>>>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEList.java:1075)
>>>>>> at
>>>>>> org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingEList.java:1062)
>>>>>> at
>>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProviderAdapter.java:340)
>>>>>> at
>>>>>> org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProviderAdapter.java:310)
>>>>>> at
>>>>>> org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElements(AdapterFactoryContentProvider.java:160)
>>>>>> ...
>>>>>>
>>>>>> What should I do?
>>>>>>
>>>>>>
>>>
>>>
>
>
>

--------------010201080901010004000704
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-15"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Xxlu,<br>
<br>
Please try the following option in the cdo-server.xml (given, you're
using the DBStore!):<br>
<br>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br>
&lt;cdoServer&gt;<br>


Re: [CDO]Model update [message #425501 is a reply to message #425499] Fri, 28 November 2008 09:55 Go to previous message
Xingxiao Lu is currently offline Xingxiao LuFriend
Messages: 91
Registered: July 2009
Member
This is a multi-part message in MIME format.

------=_NextPart_000_014B_01C95182.73E9A4A0
Content-Type: text/plain;
charset="ISO-8859-15"
Content-Transfer-Encoding: quoted-printable

En...I think I must modify the EPackage's name.
"Eike Stepper" <stepper@esc-net.de>=20
Xxlu,

Please try the following option in the cdo-server.xml (given, you're =
using the DBStore!):

<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<cdoServer>
<repository name=3D"repo1">
<property name=3D"overrideUUID" =
value=3D"1ff5d226-b1f0-40fb-aba2-0c31b38c764f"/>
<property name=3D"supportingAudits" value=3D"true"/>
<property name=3D"verifyingRevisions" value=3D"false"/>
<property name=3D"currentLRUCapacity" value=3D"10000"/>
<property name=3D"revisedLRUCapacity" value=3D"100"/>
=20
<store type=3D"db">
<mappingStrategy type=3D"horizontal">
<property name=3D"qualifiedNames" value=3D"true"/>
<property name=3D"toManyReferences" =
value=3D"ONE_TABLE_PER_REFERENCE"/>
<property name=3D"toOneReferences" =
value=3D"LIKE_ATTRIBUTES"/>
</mappingStrategy>
[...]


See also: =
http://wiki.eclipse.org/CDO_Server_Configuration_Reference#P roperty_quali=
fiedNames

Cheers
/Eike

----
http://thegordian.blogspot.com



xxlu schrieb:=20
Eike,
Thank you very much!
But I think it's impossible to migrate the objects in the same =
schema.=20
For example:
test.ecroe V1 and test.ecore V2 both have classA. When excute =
migration,=20
exception will be throwed:
org.eclipse.net4j.db.DBException: DBTable exists classA. :(

"Eike Stepper" <stepper@esc-net.de>
Xxlu,

I've opened this bugzilla:

256856: Support model evolution
https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D256856

My comment 1 in this bugzilla explains a possible *manual* way to =
migrate=20
data instances after model evolution...

Cheers
/Eike

----
http://thegordian.blogspot.com



xxlu schrieb:
Shoud I rebuild a database, then use ecore2ecore or other methods =
migrate=20
my database? Any suggestion?

"xxlu" <lu.xingxiao@gmail.com>

I want to know how can I migrate my databases. Thanks. :)


"Simon McDuff" <smcduff@hotmail.com>

At the moment CDO does not support evolving classes.

Currently in CDO, a package with a given URI (X) should never be=20
modified. If you do so, a new URI(for the package) should be given.

If you follow this your objects will still be available using the old=20
model.

Does CDO should do more ? (Let me think about it during the night (it=20
is around 23:48 here :-))

This is a very complicated question that needs to be think deeply!

Usually you will need to change the URI of your package.. and migrate=20
your databases...

Maybe Eike will have another idea.

Simon




xxlu wrote:

Hi Ed,
I have a problem that I can't resolve. I create a database for my=20
model with CDO2.0M3. When I update my model, for example, I add an=20
attribute for one class, I can't reload the old data from database.=20
The exception is following:

java.lang.IllegalStateException: range.size() !=3D metaIDRange.size()
at=20
org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionIm=
pl.java:544)
at=20
org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDes=
criptor.getEPackage(CDOPackageRegistryImpl.java:182)
at=20
org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegis=
tryImpl.java:133)
at=20
org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDO=
SessionPackageManagerImpl.java:152)
at=20
org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageI=
mpl.java:401)
at=20
org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOP=
ackageImpl.java:288)
at=20
org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClas=
sRefImpl.java:71)
at=20
org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndRe=
solve(CDODataInputImpl.java:218)
at=20
org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl . <init>(CDORe=
visionImpl.java:114)
at=20
org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDOD=
ataInputImpl.java:309)
at=20
org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(Load=
RevisionRequest.java:116)
at=20
org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(Load=
RevisionRequest.java:1)
at=20
org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClie=
ntRequest.java:103)
at=20
org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestW=
ithConfirmation.java:118)
at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
at=20
org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithCon=
firmation.java:98)
at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
at=20
org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:3=
92)
at=20
org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirma=
tion.java:82)
at=20
org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirma=
tion.java:73)
at=20
org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManag=
erImpl.java:149)
at=20
org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevis=
ionManagerImpl.java:104)
at=20
org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getR=
evision(CDORevisionResolverImpl.java:94)
at=20
org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getR=
evision(CDORevisionResolverImpl.java:1)
at=20
org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714=
)
at=20
org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:85=
7)
at=20
org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
at=20
org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionI=
mpl.java:449)
at=20
org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.ja=
va:1023)
at=20
org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
at=20
org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet=
(EStoreEObjectImpl.java:225)
at=20
org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)=

at=20
org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEL=
ist.java:1075)
at=20
org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingELis=
t.java:1062)
at=20
org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProvide=
rAdapter.java:340)
at=20
org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProvide=
rAdapter.java:310)
at=20
org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElement=
s(AdapterFactoryContentProvider.java:160)
....

What should I do?

=20
=20


------=_NextPart_000_014B_01C95182.73E9A4A0
Content-Type: text/html;
charset="ISO-8859-15"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type =
content=3Dtext/html;charset=3DISO-8859-15>
<META content=3D"MSHTML 6.00.6000.16735" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY text=3D#000000 bgColor=3D#ffffff>
<DIV><FONT face=3D&#23435;&#20307; size=3D3>En...I think I must modify =
the EPackage's=20
name.</FONT></DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV>"Eike Stepper" &lt;<A=20
href=3D"mailto:stepper@esc-net.de">stepper@esc-net.de</A>&gt;=20
</DIV>Xxlu,<BR><BR>Please try the following option in the =
cdo-server.xml=20
(given, you're using the DBStore!):<BR><BR>&lt;?xml version=3D"1.0"=20
encoding=3D"UTF-8"?&gt;<BR>&lt;cdoServer&gt; <BR>&nbsp;&nbsp;&nbsp;=20
&lt;repository name=3D"repo1"&gt;<BR>&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;=20
&lt;property name=3D"overrideUUID"=20
=
value=3D"1ff5d226-b1f0-40fb-aba2-0c31b38c764f"/&gt;<BR >&nbsp;&nbsp;&nbsp;=
=20
&nbsp;&nbsp;&nbsp; &lt;property name=3D"supportingAudits"=20
value=3D"true"/&gt;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&lt;property=20
name=3D"verifyingRevisions" value=3D"false"/&gt;<BR>&nbsp;&nbsp;&nbsp; =

&nbsp;&nbsp;&nbsp; &lt;property name=3D"currentLRUCapacity"=20
value=3D"10000"/&gt;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&lt;property=20
name=3D"revisedLRUCapacity" value=3D"100"/&gt;<BR>&nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;store =

type=3D"db"&gt;<BR>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;=20
&lt;mappingStrategy type=3D"horizontal"&gt;<BR>&nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; =
<U>&lt;property=20
name=3D"qualifiedNames" =
value=3D"<B>true</B>"/&gt;</U><BR>&nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;property=20
name=3D"toManyReferences"=20
value=3D"ONE_TABLE_PER_REFERENCE"/&gt;<BR>&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;property =
name=3D"toOneReferences"=20
value=3D"LIKE_ATTRIBUTES"/&gt;<BR>&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;=20
&nbsp;&nbsp;&nbsp; &lt;/mappingStrategy&gt;<BR>[...]<BR><BR><BR>See =
also: <A=20
class=3Dmoz-txt-link-freetext=20
=
href=3D" http://wiki.eclipse.org/CDO_Server_Configuration_Reference#P roper=
ty_qualifiedNames">http://wiki.eclipse.org/CDO_Server_Configuration_Refer=
ence#Property_qualifiedNames</A><BR><BR>Cheers<BR>/Eike <BR><BR>----<BR><A=
=20
class=3Dmoz-txt-link-freetext=20
=
href=3D"http://thegordian.blogspot.com">http://thegordian.blogspot.com</A=
><BR><BR><BR><BR>xxlu=20
schrieb:=20
<BLOCKQUOTE cite=3Dmid:ggo8n5$cjf$1@build.eclipse.org =
type=3D"cite"><PRE wrap=3D"">Eike,
Thank you very much!
But I think it's impossible to migrate the objects in the same =
schema.=20
For example:
test.ecroe V1 and test.ecore V2 both have classA. When excute =
migration,=20
exception will be throwed:
org.eclipse.net4j.db.DBException: DBTable exists classA. :(

"Eike Stepper" <A class=3Dmoz-txt-link-rfc2396E =
href=3D"mailto:stepper@esc-net.de">&lt;stepper@esc-net.de&gt;</A>
</PRE>
<BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">Xxlu,

I've opened this bugzilla:

256856: Support model evolution
<A class=3Dmoz-txt-link-freetext =
href=3D"https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D256856">https://b=
ugs.eclipse.org/bugs/show_bug.cgi?id=3D256856</A>

My comment 1 in this bugzilla explains a possible *manual* way to =
migrate=20
data instances after model evolution...

Cheers
/Eike

----
<A class=3Dmoz-txt-link-freetext =
href=3D"http://thegordian.blogspot.com">http://thegordian.blogspot.com</A=
>



xxlu schrieb:
</PRE>
<BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">Shoud I rebuild a =
database, then use ecore2ecore or other methods migrate=20
my database? Any suggestion?

"xxlu" <A class=3Dmoz-txt-link-rfc2396E =
href=3D"mailto:lu.xingxiao@gmail.com">&lt;lu.xingxiao@gmail.com&gt;</A>

</PRE>
<BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">I want to know how can =
I migrate my databases. Thanks. :)


"Simon McDuff" <A class=3Dmoz-txt-link-rfc2396E =
href=3D"mailto:smcduff@hotmail.com">&lt;smcduff@hotmail.com&gt;</A>

</PRE>
<BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">At the moment CDO =
does not support evolving classes.

Currently in CDO, a package with a given URI (X) should never be=20
modified. If you do so, a new URI(for the package) should be given.

If you follow this your objects will still be available using the old=20
model.

Does CDO should do more ? (Let me think about it during the night (it=20
is around 23:48 here :-))

This is a very complicated question that needs to be think deeply!

Usually you will need to change the URI of your package.. and migrate=20
your databases...

Maybe Eike will have another idea.

Simon




xxlu wrote:

</PRE>
<BLOCKQUOTE type=3D"cite"><PRE wrap=3D"">Hi Ed,
I have a problem that I can't resolve. I create a database for my=20
model with CDO2.0M3. When I update my model, for example, I add an=20
attribute for one class, I can't reload the old data from database.=20
The exception is following:

java.lang.IllegalStateException: range.size() !=3D metaIDRange.size()
at=20
org.eclipse.emf.internal.cdo.CDOSessionImpl.registerEPackage (CDOSessionIm=
pl.java:544)
at=20
org.eclipse.emf.internal.cdo.util.CDOPackageRegistryImpl$Rem otePackageDes=
criptor.getEPackage(CDOPackageRegistryImpl.java:182)
at=20
org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage( EPackageRegis=
tryImpl.java:133)
at=20
org.eclipse.emf.internal.cdo.CDOSessionPackageManagerImpl.lo adPackage(CDO=
SessionPackageManagerImpl.java:152)
at=20
org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loa d(CDOPackageI=
mpl.java:401)
at=20
org.eclipse.emf.cdo.internal.common.model.CDOPackageImpl.loo kupClass(CDOP=
ackageImpl.java:288)
at=20
org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl.re solve(CDOClas=
sRefImpl.java:71)
at=20
org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO ClassRefAndRe=
solve(CDODataInputImpl.java:218)
at=20
org.eclipse.emf.cdo.internal.common.revision.CDORevisionImpl .&lt;init&gt;=
(CDORevisionImpl.java:114)
at=20
org.eclipse.emf.cdo.internal.common.CDODataInputImpl.readCDO Revision(CDOD=
ataInputImpl.java:309)
at=20
org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(Load=
RevisionRequest.java:116)
at=20
org.eclipse.emf.internal.cdo.protocol.LoadRevisionRequest.co nfirming(Load=
RevisionRequest.java:1)
at=20
org.eclipse.emf.internal.cdo.protocol.CDOClientRequest.confi rming(CDOClie=
ntRequest.java:103)
at=20
org.eclipse.net4j.signal.RequestWithConfirmation.doExtendedI nput(RequestW=
ithConfirmation.java:118)
at org.eclipse.net4j.signal.Signal.doInput(Signal.java:317)
at=20
org.eclipse.net4j.signal.RequestWithConfirmation.doExecute(R equestWithCon=
firmation.java:98)
at org.eclipse.net4j.signal.SignalActor.execute(SignalActor.jav a:68)
at org.eclipse.net4j.signal.Signal.runSync(Signal.java:237)
at=20
org.eclipse.net4j.signal.SignalProtocol.startSignal(SignalPr otocol.java:3=
92)
at=20
org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirma=
tion.java:82)
at=20
org.eclipse.net4j.signal.RequestWithConfirmation.send(Reques tWithConfirma=
tion.java:73)
at=20
org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.send(CDO RevisionManag=
erImpl.java:149)
at=20
org.eclipse.emf.internal.cdo.CDORevisionManagerImpl.loadRevi sion(CDORevis=
ionManagerImpl.java:104)
at=20
org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getR=
evision(CDORevisionResolverImpl.java:94)
at=20
org.eclipse.emf.cdo.internal.common.revision.CDORevisionReso lverImpl.getR=
evision(CDORevisionResolverImpl.java:1)
at=20
org.eclipse.emf.internal.cdo.CDOViewImpl.getRevision(CDOView Impl.java:714=
)
at=20
org.eclipse.emf.internal.cdo.CDOViewImpl.createObject(CDOVie wImpl.java:85=
7)
at=20
org.eclipse.emf.internal.cdo.CDOViewImpl.getObject(CDOViewIm pl.java:752)
at=20
org.eclipse.emf.internal.cdo.CDOTransactionImpl.getObject(CD OTransactionI=
mpl.java:449)
at=20
org.eclipse.emf.internal.cdo.CDOViewImpl.convertIDToObject(C DOViewImpl.ja=
va:1023)
at=20
org.eclipse.emf.internal.cdo.CDOStore.convertToEMF(CDOStore. java:381)
at org.eclipse.emf.internal.cdo.CDOStore.get(CDOStore.java:175)
at=20
org.eclipse.emf.ecore.impl.EStoreEObjectImpl$BasicEStoreELis t.delegateGet=
(EStoreEObjectImpl.java:225)
at=20
org.eclipse.emf.common.util.DelegatingEList.get(DelegatingEL ist.java:396)=

at=20
org.eclipse.emf.common.util.DelegatingEList$EIterator.doNext (DelegatingEL=
ist.java:1075)
at=20
org.eclipse.emf.common.util.DelegatingEList$EIterator.next(D elegatingELis=
t.java:1062)
at=20
org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildre n(ItemProvide=
rAdapter.java:340)
at=20
org.eclipse.emf.edit.provider.ItemProviderAdapter.getElement s(ItemProvide=
rAdapter.java:310)
at=20
org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvid er.getElement=
s(AdapterFactoryContentProvider.java:160)
....

What should I do?

</PRE></BLOCKQUOTE></BLOCKQUOTE></BLOCKQUOTE><PRE wrap=3D"">
</PRE></BLOCKQUOTE></BLOCKQUOTE><PRE wrap=3D""><!---->

</PRE></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_014B_01C95182.73E9A4A0--
Previous Topic:UUID with no resource available?
Next Topic:emf 2.3.1 plugins
Goto Forum:
  


Current Time: Mon Feb 17 06:01:33 GMT 2020

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

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

Back to the top