[CDO] ClassCastException: model class cannot be cast to InternalCDORevision [message #431220] |
Thu, 02 July 2009 16:24 |
David Stastny Messages: 4 Registered: July 2009 |
Junior Member |
|
|
This is a multi-part message in MIME format.
--------------040700070709030304020203
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 7bit
Hello,
I am experiencing a ClassCastException on a model class when starting a
CDO repository. Stack trace is attached along with some sources.
My setup is Eclipse 3.5.0 (20090619-0625), CDO 3.0.0 (HEAD), Teneo
1.1.0, Hibernate 3.3.1.
Thanks in advance for any hint,
David
--------------040700070709030304020203
Content-Type: text/plain;
name="stack_trace.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="stack_trace.txt"
java.lang.ClassCastException: com.mediasol.contract.crm.impl.ContactPersonImpl cannot be cast to org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision
at org.eclipse.emf.cdo.server.internal.hibernate.HibernateUtil. getCDORevision(HibernateUtil.java:189)
at org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOSy ntheticIdPropertyHandler.get(CDOSyntheticIdPropertyHandler.j ava:58)
at org.hibernate.engine.UnsavedValueFactory.getUnsavedIdentifie rValue(UnsavedValueFactory.java:67)
at org.hibernate.tuple.PropertyFactory.buildIdentifierProperty( PropertyFactory.java:67)
at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:147)
at org.hibernate.persister.entity.AbstractEntityPersister.<init >(AbstractEntityPersister.java:457)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init >(SingleTableEntityPersister.java:131)
at org.hibernate.persister.PersisterFactory.createClassPersiste r(PersisterFactory.java:84)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:261)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configur ation.java:1327)
at org.eclipse.emf.cdo.server.internal.hibernate.HibernateStore .getHibernateSessionFactory(HibernateStore.java:108)
at org.eclipse.emf.cdo.server.internal.hibernate.HibernateStore Accessor.beginHibernateSession(HibernateStoreAccessor.java:1 12)
at org.eclipse.emf.cdo.server.internal.hibernate.HibernateStore Accessor.resetHibernateSession(HibernateStoreAccessor.java:9 0)
at org.eclipse.emf.cdo.server.internal.hibernate.HibernateStore Accessor.writePackageUnits(HibernateStoreAccessor.java:455)
at org.eclipse.emf.cdo.internal.server.Repository.initSystemPac kages(Repository.java:626)
at org.eclipse.emf.cdo.internal.server.Repository.doActivate(Re pository.java:592)
at org.eclipse.net4j.util.lifecycle.Lifecycle.activate(Lifecycl e.java:65)
at org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(Life cycleUtil.java:98)
at org.eclipse.net4j.util.lifecycle.LifecycleUtil.activate(Life cycleUtil.java:88)
at org.eclipse.emf.cdo.server.CDOServerUtil.addRepository(CDOSe rverUtil.java:73)
at com.mediasol.commons.modeling.server.RepositoryService.start (RepositoryService.java:46)
at com.mediasol.commons.application.MediaSolApplication.start(M ediaSolApplication.java:58)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
--------------040700070709030304020203
Content-Type: text/plain;
name="RepositoryService.java"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="RepositoryService.java"
package com.mediasol.commons.modeling.server;
import java.net.URL;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.cdo.server.CDOServerUtil;
import org.eclipse.emf.cdo.server.IRepository;
import org.eclipse.emf.cdo.server.IRepository.Props;
import org.eclipse.emf.cdo.server.hibernate.CDOHibernateUtil;
import org.eclipse.emf.cdo.server.mem.MEMStoreUtil;
import org.eclipse.net4j.util.container.IPluginContainer;
import org.eclipse.net4j.util.lifecycle.LifecycleUtil;
import org.osgi.framework.Bundle;
import org.osgi.framework.ServiceException;
import com.mediasol.commons.application.IService;
import com.mediasol.commons.modeling.server.internal.Activator;
import com.mediasol.commons.util.extension.ConfigurationElements;
public class RepositoryService implements IService {
private static final Logger log = Logger.getLogger(RepositoryService.class);
private Set<IRepository> repositories = new HashSet<IRepository>();
private boolean running = false;
public RepositoryService() {
}
@Override
public void start() throws ServiceException {
CDOServerUtil.prepareContainer(IPluginContainer.INSTANCE);
repositories.add(createTestRepository());
for (IConfigurationElement c : ConfigurationElements
.get(Activator.PLUGIN_ID, "repositories")) {
repositories.add(createHibernateRepository(c));
}
for (IRepository r : repositories) {
CDOServerUtil.addRepository(IPluginContainer.INSTANCE, r);
LifecycleUtil.activate(r);
log.info("Activated repository " + r.getName());
}
running = true;
}
private IRepository createTestRepository() {
return CDOServerUtil.createRepository("test",
MEMStoreUtil.createMEMStore(),
new HashMap<String, String>());
}
private IRepository createHibernateRepository(IConfigurationElement c) {
String name = c.getAttribute("name");
HashMap<String, String> props = new HashMap<String, String>();
props.put(Props.SUPPORTING_AUDITS, "false");
props.put(Props.VERIFYING_REVISIONS, "false");
props.put(Props.CURRENT_LRU_CAPACITY, "10000");
props.put(Props.REVISED_LRU_CAPACITY, "10000");
for (IConfigurationElement p : c.getChildren("property")) {
props.put(p.getAttribute("name"), p.getAttribute("value"));
}
HashMap<String, URL> mappings = new HashMap<String, URL>();
for (IConfigurationElement m : ConfigurationElements
.get(Activator.PLUGIN_ID, "mappings")) {
if (name.equals(m.getAttribute("repository"))) {
Bundle bundle = Platform.getBundle(m.getNamespaceIdentifier());
String path = m.getAttribute("path");
URL url = bundle.getEntry(path);
mappings.put(m.getAttribute("package"), url);
}
}
return CDOServerUtil.createRepository(name,
CDOHibernateUtil.createStore(new RepositoryMappingProvider(mappings)),
props);
}
@Override
public void stop() throws ServiceException {
for (IRepository r : repositories) {
LifecycleUtil.deactivate(r);
log.info("Deactivated repository " + r.getName());
}
running = false;
}
@Override
public boolean isStopped() {
return !running;
}
}
--------------040700070709030304020203
Content-Type: text/plain;
name="RepositoryMappingProvider.java"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="RepositoryMappingProvider.java"
LyoqDQogKiANCiAqLw0KcGFja2FnZSBjb20ubWVkaWFzb2wuY29tbW9ucy5t b2RlbGluZy5z
ZXJ2ZXI7DQoNCmltcG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOw0KaW1wb3J0 IGphdmEubmV0
LlVSTDsNCmltcG9ydCBqYXZhLnV0aWwuTWFwOw0KDQppbXBvcnQgb3JnLmFw YWNoZS5sb2c0
ai5Mb2dnZXI7DQppbXBvcnQgb3JnLmVjbGlwc2UuZW1mLmNkby5zZXJ2ZXIu aGliZXJuYXRl
LklIaWJlcm5hdGVNYXBwaW5nUHJvdmlkZXI7DQppbXBvcnQgb3JnLmVjbGlw c2UuZW1mLmNk
by5zZXJ2ZXIuaGliZXJuYXRlLklIaWJlcm5hdGVTdG9yZTsNCmltcG9ydCBv cmcuZWNsaXBz
ZS5lbWYuZWNvcmUuRVBhY2thZ2U7DQppbXBvcnQgb3JnLmhpYmVybmF0ZS5N YXBwaW5nRXhj
ZXB0aW9uOw0KaW1wb3J0IG9yZy5oaWJlcm5hdGUuY2ZnLkNvbmZpZ3VyYXRp b247DQoNCnB1
YmxpYyBjbGFzcyBSZXBvc2l0b3J5TWFwcGluZ1Byb3ZpZGVyIGltcGxlbWVu dHMNCgkJSUhp
YmVybmF0ZU1hcHBpbmdQcm92aWRlciB7DQoJDQoJcHJpdmF0ZSBzdGF0aWMg ZmluYWwgTG9n
Z2VyIGxvZyA9IExvZ2dlci5nZXRMb2dnZXIoUmVwb3NpdG9yeU1hcHBpbmdQ cm92aWRlci5j
bGFzcyk7DQoJDQoJcHJpdmF0ZSBJSGliZXJuYXRlU3RvcmUgc3RvcmU7DQoJ cHJpdmF0ZSBN
YXA8U3RyaW5nLCBVUkw+IG1hcHBpbmdzOw0KDQoNCglwdWJsaWMgUmVwb3Np dG9yeU1hcHBp
bmdQcm92aWRlcihNYXA8U3RyaW5nLCBVUkw+IG1hcHBpbmdzKSB7DQoJCXRo aXMubWFwcGlu
Z3MgPSBtYXBwaW5nczsNCgl9DQoNCglAT3ZlcnJpZGUNCglwdWJsaWMgdm9p ZCBhZGRNYXBw
aW5nKENvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlvbikgew0KCQlsb2cuaW5m bygiQ29uZmln
dXJpbmcgSGliZXJuYXRlIC4uLiIpOw0KCQlmb3IgKFN0cmluZyB1cmkgOiBt YXBwaW5ncy5r
ZXlTZXQoKSkgew0KCQkJbG9nLmRlYnVnKCJBZGQgbWFwcGluZ3MgZm9yIHBh Y2thZ2U6ICIg
KyB1cmkpOw0KCQkJVVJMIHVybCA9IG1hcHBpbmdzLmdldCh1cmkpOw0KCQkJ dHJ5IHsNCgkJ
CQljb25maWd1cmF0aW9uLmFkZElucHV0U3RyZWFtKHVybC5vcGVuU3RyZWFt KCkpOw0KCQkJ
fSBjYXRjaCAoTWFwcGluZ0V4Y2VwdGlvbiBlKSB7DQoJCQkJbG9nLmVycm9y KHVybC50b1N0
cmluZygpLCBlKTsNCgkJCX0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsNCgkJ CQlsb2cuZXJy
b3IodXJsLnRvU3RyaW5nKCksIGUpOw0KCQkJfQ0KCQkJc3RvcmUuZ2V0UmVw b3NpdG9yeSgp
LmdldFBhY2thZ2VSZWdpc3RyeSgpDQoJCQkucHV0RVBhY2thZ2UoRVBhY2th Z2UuUmVnaXN0
cnkuSU5TVEFOQ0UuZ2V0RVBhY2thZ2UodXJpKSk7DQoJCX0NCgl9DQoNCglA T3ZlcnJpZGUN
CglwdWJsaWMgdm9pZCBzZXRIaWJlcm5hdGVTdG9yZShJSGliZXJuYXRlU3Rv cmUgaGliZXJu
YXRlU3RvcmUpIHsNCgkJc3RvcmUgPSBoaWJlcm5hdGVTdG9yZTsNCgl9DQoN CgkvKioNCgkg
KiBAcmV0dXJuIHRoZSBzdG9yZQ0KCSAqLw0KCXByb3RlY3RlZCBJSGliZXJu YXRlU3RvcmUg
Z2V0SGliZXJuYXRlU3RvcmUoKSB7DQoJCXJldHVybiBzdG9yZTsNCgl9DQp9
--------------040700070709030304020203--
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.02208 seconds