[CDO] Model Corruption ClassCastException Server Side [message #526106] |
Thu, 08 April 2010 17:18 |
Gaetan Messages: 13 Registered: January 2010 |
Junior Member |
|
|
Hi,
(my current platform is Ganymede / CDO 2.0 (the latest version from the 2.0 maintenance branch) )
I have a model, and I commit it on CDO server, I can use this model in the current instance of my CDO server but when I restart the server and load my model,
I have this Exception :
org.eclipse.net4j.signal.RemoteException: java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EGenericTypeImpl cannot be cast to org.eclipse.emf.ecore.EModelElement
at org.eclipse.net4j.signal.RequestWithConfirmation.setRemoteException(RequestWithConfirmation.java:128)
at org.eclipse.net4j.signal.SignalProtocol.handleRemoteException(SignalProtocol.java:495)
at org.eclipse.net4j.signal.RemoteExceptionIndication.indicating(RemoteExceptionIndication.java:53)
at org.eclipse.net4j.signal.Indication.doExtendedInput(Indication.java:55)
at org.eclipse.net4j.signal.Signal.doInput(Signal.java:311)
at org.eclipse.net4j.signal.Indication.execute(Indication.java:49)
at org.eclipse.net4j.signal.Signal.runSync(Signal.java:238)
at org.eclipse.net4j.signal.Signal.run(Signal.java:146)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassCastException: org.eclipse.emf.ecore.impl.EGenericTypeImpl cannot be cast to org.eclipse.emf.ecore.EModelElement
at org.eclipse.emf.cdo.server.internal.db.MetaDataManager.getMetaInstance(MetaDataManager.java:91)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.ObjectTypeCache.getObjectType(ObjectTypeCache.java:99)
at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalMappingStrategy.readObjectType(AbstractHorizontalMappingStrategy.java:66)
at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.readObjectType(DBStoreAccessor.java:136)
at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.getObjectType(DBStoreAccessor.java:144)
at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.readRevision(DBStoreAccessor.java:168)
at org.eclipse.emf.cdo.internal.server.Repository.loadRevisions(Repository.java:297)
at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.loadRevisions(CDORevisionManagerImpl.java:350)
at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.getRevisions(CDORevisionManagerImpl.java:253)
at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.getRevision(CDORevisionManagerImpl.java:235)
at org.eclipse.emf.cdo.internal.common.revision.CDORevisionManagerImpl.getRevision(CDORevisionManagerImpl.java:1)
at org.eclipse.emf.cdo.spi.common.revision.RevisionInfo.execute(RevisionInfo.java:128)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.LoadRevisionsIndication.responding(LoadRevisionsIndication.java:169)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerIndication.responding(CDOServerIndication.java:119)
at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedOutput(IndicationWithResponse.java:96)
at org.eclipse.net4j.signal.Signal.doOutput(Signal.java:281)
at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:65)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOReadIndication.execute(CDOReadIndication.java:36)
... 5 more
I have set a breakpoint in MetaDataManager :
public EModelElement getMetaInstance(long id)
{
CDOIDMeta cdoid = CDOIDUtil.createMeta(id);
InternalEObject metaInstance = getPackageRegistry().getMetaInstanceMapper().lookupMetaInstance(cdoid);
return (EModelElement)metaInstance;
}
The value of metaInstance is org.eclipse.emf.ecore.impl.EGenericTypeImpl@1c03a0 (expression: XX)
I don't understand because I have not used a GenericType.
Regards,
Gaëtan.
[Updated on: Fri, 09 April 2010 07:26] Report message to a moderator
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03202 seconds