Hi,
first I have to say that I am nearly a newbie in CDO and EMF.
I use CDO 2.0 and eclipse 3.5M6.
I got an error when I commit an transaction in which is an Element that
has a Supertype of an other Package.
For better understanding:
I have a model m1.ecore with a class c1 and a class c2 and set c2 as
ESuper Types of c1. I can open a transaction in the CDO Session UI,
create resource and add these classes and commit and everything works fine.
Now I have a second model named m2.ecore with a class c4 and create in
model m1 a class c3 with supertype c4 from model m2.
When I create now a new transaction and a resource, add c3 and try to
commit I got the errormessage:
"org.eclipse.emf.cdo.common.util.CDOException: No package unit for
org.eclipse.emf.ecore.impl.EPackageImpl@6e2ca2 (name: m2) (nsURI:
http://m2/1.0, nsPrefix: m2)"
and the excetion stack trace:
org.eclipse.net4j.util.transaction.TransactionException:
org.eclipse.emf.cdo.common.util.CDOException: No package unit for
org.eclipse.emf.ecore.impl.EPackageImpl@6e2ca2 (name: m2) (nsURI:
http://m2/1.0, nsPrefix: m2)
at
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit(CDOTransactionImpl.java:580)
at
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit(CDOTransactionImpl.java:586)
at
org.eclipse.emf.cdo.internal.ui.actions.CommitTransactionAction.doRun(CommitTransactionAction.java:36)
at
org.eclipse.net4j.util.ui.actions.LongRunningAction$1.run(LongRunningAction.java:164)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.eclipse.emf.cdo.common.util.CDOException: No package unit
for org.eclipse.emf.ecore.impl.EPackageImpl@6e2ca2 (name: m2) (nsURI:
http://m2/1.0, nsPrefix: m2)
at
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.analyzeNewPackages(CDOTransactionImpl.java:1104)
at
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.analyzeNewPackages(CDOTransactionImpl.java:1076)
at
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.access$7(CDOTransactionImpl.java:1048)
at
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl$CDOCommitContextImpl.<init>(CDOTransactionImpl.java:1208)
at
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.createCommitContext(CDOTransactionImpl.java:551)
at
org.eclipse.emf.internal.cdo.transaction.CDOSingleTransactionStrategyImpl.commit(CDOSingleTransactionStrategyImpl.java:46)
at
org.eclipse.emf.internal.cdo.transaction.CDOTransactionImpl.commit(CDOTransactionImpl.java:572)
... 4 more
Can anybody tell me what I do wrong? Or is it not possible to store an
element with a SuperType of an other package?
Both model packages are correctly registerd in the session. If I only
commit a resource with c4 it works.
When I store the models without CDO as EMF model in an XMI it works also
correctly.
Thanks for hints
André