diff options
author | Martin Taal | 2009-03-19 12:23:55 +0000 |
---|---|---|
committer | Martin Taal | 2009-03-19 12:23:55 +0000 |
commit | 61dacf3eabf9f880b2cc5aa633b7608745af2952 (patch) | |
tree | b80b901e8165f0326134002494f0a1ec5749eccb | |
parent | cc078da2908a30e485f6c47089a6773acf315529 (diff) | |
download | cdo-61dacf3eabf9f880b2cc5aa633b7608745af2952.tar.gz cdo-61dacf3eabf9f880b2cc5aa633b7608745af2952.tar.xz cdo-61dacf3eabf9f880b2cc5aa633b7608745af2952.zip |
Solved compile issues hibernate
11 files changed, 238 insertions, 659 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProvider.java b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProvider.java index 9969aa731f..6e31e207a1 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProvider.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate.teneo/src/org/eclipse/emf/cdo/server/hibernate/internal/teneo/TeneoHibernateMappingProvider.java @@ -16,26 +16,16 @@ import org.eclipse.emf.cdo.server.internal.hibernate.HibernateMappingProvider; import org.eclipse.emf.cdo.server.internal.hibernate.HibernateStore; import org.eclipse.emf.cdo.server.internal.hibernate.HibernateUtil; -import org.eclipse.net4j.util.WrappedException; import org.eclipse.net4j.util.om.trace.ContextTracer; -import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EcorePackage; -import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl; -import org.eclipse.emf.ecore.xml.type.XMLTypePackage; import org.eclipse.emf.teneo.extension.ExtensionManager; import org.eclipse.emf.teneo.extension.ExtensionManagerFactory; import org.eclipse.emf.teneo.hibernate.cdo.CDOHelper; import org.hibernate.cfg.Configuration; -import java.io.ByteArrayInputStream; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Properties; @@ -93,53 +83,15 @@ public class TeneoHibernateMappingProvider extends HibernateMappingProvider final Properties properties = HibernateUtil.getInstance().getPropertiesFromStore(getHibernateStore()); - // TODO: handle nested package structures - final List<EPackage> epacks = new ArrayList<EPackage>(); - final ResourceSet rs = new ResourceSetImpl(); - rs.getPackageRegistry().put(EcorePackage.eNS_URI, EcorePackage.eINSTANCE); - rs.getPackageRegistry().put(XMLTypePackage.eNS_URI, XMLTypePackage.eINSTANCE); - rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put("*", new EcoreResourceFactoryImpl()); - - for (EPackage ePackage : getHibernateStore().getPackageHandler().getEPackages()) - { - if (TRACER.isEnabled()) - { - TRACER.trace("Using ePackage : " + ePackage.getName() + " - " + ePackage.getNsURI()); - } - - final String ecoreStr = ePackage.getEcore(); - if (ecoreStr == null) - { - // happens at initialization time - continue; - } - - // this assumes that the (default) encoding is the same on both the client and server - final ByteArrayInputStream bis = new ByteArrayInputStream(ecoreStr.getBytes()); - - // fool the resourceset by passing a fake uri - final URI epackageURI = URI.createURI(ePackage.getNsURI()); - final Resource resource = rs.createResource(epackageURI); - try - { - resource.load(bis, Collections.EMPTY_MAP); - - // now the toplevel content should be EPackage - for (Object contentObject : resource.getContents()) - { - epacks.addAll(resolveSubPackages((EPackage)contentObject)); - } - } - catch (Exception e) - { - throw WrappedException.wrap(e); - } - } - // translate the list of EPackages to an array + final List<EPackage> epacks = getHibernateStore().getPackageHandler().getEPackages(); final EPackage[] ePackageArray = epacks.toArray(new EPackage[epacks.size()]); properties.put("teneo.mapping.also_map_as_class", "false"); - return CDOHelper.getInstance().generateMapping(ePackageArray, properties, extensionManager); + String hbm = CDOHelper.getInstance().generateMapping(ePackageArray, properties, extensionManager); + System.err.println(hbm); + // to solve an issue with older versions of teneo + hbm = hbm.replaceAll("_cont", "cont"); + return hbm; } // this will check the global package registry and read the epackages from diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/mappings/meta.hbm.xml b/plugins/org.eclipse.emf.cdo.server.hibernate/mappings/meta.hbm.xml index 752bc9002b..257dac4f16 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/mappings/meta.hbm.xml +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/mappings/meta.hbm.xml @@ -2,73 +2,51 @@ <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="org.eclipse.emf.cdo.internal.common.model"> - <class name="org.eclipse.emf.cdo.common.model.CDOClassProxy" table="cdo_classes_proxy" lazy="false"> - <id column="id" type="int"> + <class name="CDOPackageUnitImpl" table="cdo_package_unit" lazy="false" entity-name="CDOPackageUnit"> + + <id column="id" type="long"> <generator class="increment" /> </id> - <many-to-one name="classRef" class="org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl" column="cdoClassProxy" - not-null="false" cascade="all" access="field" /> + + <property name="state" access="field" /> + <property name="type" access="field" /> + <property name="originalType" access="field" /> + <property name="timeStamp" access="field" /> + + <array name="packageInfos" cascade="all, delete-orphan" access="field" inverse="true"> + <key /> + <list-index /> + <one-to-many class="CDOPackageInfoImpl"/> + </array> + </class> - <class name="org.eclipse.emf.cdo.internal.common.model.CDOClassRefImpl" table="cdo_classes_ref" lazy="false"> - <id column="id" type="int"> - <generator class="increment" /> - </id> - <property name="packageURI" column="packageURI" type="string" not-null="true" access="field" /> - <property name="classifierID" column="classifier" type="int" not-null="true" access="field" /> - </class> + <class name="CDOPackageInfoImpl" table="cdo_package_info" lazy="false"> - <class name="CDOModelElementImpl" table="cdo_modelelements" lazy="false"> - <id name="serverInfo" column="id" type="int"> + <id column="id" type="long"> <generator class="increment" /> </id> - <property name="name" type="string" not-null="true" length="255" /> - </class> - - <joined-subclass name="CDOPackageImpl" table="cdo_packages" lazy="false" extends="CDOModelElementImpl"> - <key /> - <property name="packageURI" column="uri" type="string" not-null="true" length="255" /> - <property name="ecore" type="text" not-null="false" length="32767"/> - <property name="dynamic" type="boolean" not-null="true" /> - <property name="parentURI" column="parentUri" type="string" length="255" /> + + <many-to-one name="packageUnit" entity-name="CDOPackageUnit" not-null="false" access="field"/> + + <property name="packageURI" not-null="true" length="255" access="field" /> + <property name="parentURI" length="255" access="field" /> <property name="metaIDRange" type="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOIDMetaRangeUserType" - not-null="true"> + not-null="true" access="field"> <column name="metaIDStart" /> <column name="metaIDSize" /> </property> - <list name="classes" lazy="false" cascade="all, delete-orphan" access="field"> - <key /> - <list-index /> - <one-to-many class="CDOClassImpl" /> - </list> - </joined-subclass> + </class> - <joined-subclass name="CDOClassImpl" table="cdo_classes" lazy="false" extends="CDOModelElementImpl"> - <key /> - <property name="classifierID" column="classifier" type="int" not-null="true" /> - <property name="abstract" column="abstract" type="boolean" not-null="true" /> - <list name="superTypes" lazy="false" cascade="merge,persist,save-update,lock,refresh" access="field"> - <key> - <column name="supertype" /> - </key> - <list-index /> - <many-to-many class="org.eclipse.emf.cdo.common.model.CDOClassProxy" /> - </list> - <list name="features" lazy="false" cascade="all, delete-orphan" access="field"> - <key /> - <list-index /> - <one-to-many class="CDOFeatureImpl" /> - </list> - </joined-subclass> + <class name="org.eclipse.emf.cdo.server.internal.hibernate.HibernateEPackage" table="cdo_hibernate_epackage" lazy="false"> + <id name="nsUri" access="property"/> + <property name="EPackageBlob" access="property"/> + </class> - <joined-subclass name="CDOFeatureImpl" table="cdo_features" extends="CDOModelElementImpl" lazy="false"> - <key /> - <property name="featureID" column="feature" type="int" not-null="true" /> - <property name="type" type="org.eclipse.emf.cdo.server.internal.hibernate.tuplizer.CDOTypeUserType" not-null="false" /> - <many-to-one name="referenceTypeProxy" class="org.eclipse.emf.cdo.common.model.CDOClassProxy" column="reftype" - not-null="false" cascade="persist, merge, save-update, evict, replicate, lock, refresh" - access="field" /> - <property name="many" type="boolean" not-null="true" /> - <property name="containment" type="boolean" not-null="false" /> - </joined-subclass> -</hibernate-mapping>
\ No newline at end of file + <class name="org.eclipse.emf.cdo.server.internal.hibernate.SystemInformation" table="cdo_system_information" lazy="false"> + <id column="id" type="int"> + <generator class="increment" /> + </id> + <property name="creationTime"/> + </class> + </hibernate-mapping>
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateEPackage.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateEPackage.java new file mode 100644 index 0000000000..836efea848 --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateEPackage.java @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2004 - 2009 Martin Taal and others. and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal - initial API and implementation + * Eike Stepper - maintenance + */ +package org.eclipse.emf.cdo.server.internal.hibernate; + +/** + * Wraps the EPackage of a CDOPackageUnit. + * + * @author Martin Taal + */ +public class HibernateEPackage +{ + private String nsUri; + + public String getNsUri() + { + return nsUri; + } + + public void setNsUri(String nsUri) + { + this.nsUri = nsUri; + } + + private byte[] ePackageBlob; + + public byte[] getEPackageBlob() + { + return ePackageBlob; + } + + public void setEPackageBlob(byte[] ePackageBlob) + { + this.ePackageBlob = ePackageBlob; + } + +} diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java index 36dc09afa9..058536cf2f 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernatePackageHandler.java @@ -11,22 +11,18 @@ */ package org.eclipse.emf.cdo.server.internal.hibernate; -import org.eclipse.emf.cdo.common.model.CDOPackageInfo; import org.eclipse.emf.cdo.common.model.EMFUtil; import org.eclipse.emf.cdo.server.IStoreAccessor; import org.eclipse.emf.cdo.server.internal.hibernate.bundle.OM; import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageRegistry; import org.eclipse.emf.cdo.spi.common.model.InternalCDOPackageUnit; -import org.eclipse.net4j.util.ObjectUtil; import org.eclipse.net4j.util.WrappedException; import org.eclipse.net4j.util.io.IOUtil; import org.eclipse.net4j.util.lifecycle.Lifecycle; import org.eclipse.net4j.util.om.trace.ContextTracer; -import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EStructuralFeature; import org.hibernate.Criteria; import org.hibernate.Session; @@ -54,6 +50,10 @@ public class HibernatePackageHandler extends Lifecycle { private static final ContextTracer TRACER = new ContextTracer(OM.DEBUG, HibernatePackageHandler.class); + private static final boolean ZIP_PACKAGE_BYTES = true; + + private static final String CDO_PACKAGE_UNIT_ENTITY_NAME = "CDOPackageUnit"; + private Configuration configuration; private SessionFactory sessionFactory; @@ -99,19 +99,6 @@ public class HibernatePackageHandler extends Lifecycle ePackages.add(ePackage); } - XXX(); // XXX Still needed? - // for (EPackage ePackage : ePackages) - // { - // // force resolve - // if (ePackage.getClassCount() == 0) - // { - // if (TRACER.isEnabled()) - // { - // TRACER.trace("Returning " + ePackage.getNsURI()); - // } - // } - // } - return ePackages; } @@ -134,25 +121,23 @@ public class HibernatePackageHandler extends Lifecycle try { + // first store and update the new packageunits and the epackages for (InternalCDOPackageUnit packageUnit : packageUnits) { - XXX(); // XXX Really on a per EPackage base? - for (EPackage ePackage : packageUnit.getEPackages(true)) - { - if (ePackageExistsAndIsUnchanged(ePackage)) - { - OM.LOG.warn("EPackage " + ePackage.getNsURI() + " already exists not persisting it again!"); - continue; - } + session.saveOrUpdate("CDOPackageUnit", packageUnit); - if (TRACER.isEnabled()) - { - TRACER.trace("Persisting EPackage " + ePackage.getNsURI()); - } - - session.saveOrUpdate(ePackage); - updated = true; + if (packageUnit.getPackageInfos().length > 0) + { + final HibernateEPackage hbEPackage = new HibernateEPackage(); + final String rootNSUri = packageUnit.getTopLevelPackageInfo().getPackageURI(); + hbEPackage.setNsUri(rootNSUri); + final EPackage.Registry registry = hibernateStore.getRepository().getPackageRegistry(); + final EPackage rootEPackage = registry.getEPackage(rootNSUri); + hbEPackage.setEPackageBlob(EMFUtil.getEPackageBytes(rootEPackage, true, registry)); + session.saveOrUpdate(packageUnit); } + + updated = true; } tx.commit(); @@ -175,59 +160,6 @@ public class HibernatePackageHandler extends Lifecycle } } - protected boolean ePackageExistsAndIsUnchanged(EPackage newEPackage) - { - for (EPackage ePackage : getPackageRegistry().getEPackages()) - { - if (ePackage.getClassCount() > 0 && ePackage.getNsURI().equals(newEPackage.getNsURI())) - { - String ecore = ePackage.getEcore(); - String newEcore = newEPackage.getEcore(); - return ObjectUtil.equals(ecore, newEcore); - } - } - - return false; - } - - public void writePackage(EPackage ePackage) - { - XXX(); // XXX Is this method needed? - - if (ePackageExistsAndIsUnchanged(ePackage)) - { - OM.LOG.warn("EPackage " + ePackage.getNsURI() + " already exists not persisting it again!"); - return; - } - - Session session = getSessionFactory().openSession(); - Transaction tx = session.beginTransaction(); - boolean err = true; - try - { - if (TRACER.isEnabled()) - { - TRACER.trace("Persisting EPackage " + ePackage.getNsURI()); - } - - session.saveOrUpdate(ePackage); - tx.commit(); - err = false; - } - finally - { - if (err) - { - tx.rollback(); - } - - session.close(); - } - - reset(); - hibernateStore.reInitialize(); - } - public Collection<InternalCDOPackageUnit> getPackageUnits() { readPackageUnits(); @@ -237,26 +169,22 @@ public class HibernatePackageHandler extends Lifecycle // protected void readPackage(EPackage ePackage) public EPackage[] loadPackageUnit(InternalCDOPackageUnit packageUnit) { - if (ePackage.getClassCount() > 0) - { // already initialized go away - return; - } - + final String nsUri = packageUnit.getTopLevelPackageInfo().getPackageURI(); if (TRACER.isEnabled()) { - TRACER.trace("Reading EPackage with uri " + ePackage.getNsURI() + " from db"); + TRACER.trace("Reading EPackages with root uri " + nsUri + " from db"); } Session session = getSessionFactory().openSession(); - + session.beginTransaction(); try { - Criteria criteria = session.createCriteria(EPackage.class); - criteria.add(Expression.eq("packageURI", ePackage.getNsURI())); + Criteria criteria = session.createCriteria(HibernateEPackage.class); + criteria.add(Expression.eq("nsUri", nsUri)); List<?> list = criteria.list(); if (list.size() != 1) { - throw new IllegalArgumentException("EPackage with uri " + ePackage.getNsURI() + " not present in the db"); + throw new IllegalArgumentException("EPackage with uri " + nsUri + " not present in the db"); } if (TRACER.isEnabled()) @@ -264,57 +192,24 @@ public class HibernatePackageHandler extends Lifecycle TRACER.trace("Found " + list.size() + " EPackages in DB"); } - EPackage dbPackage = (EPackage)list.get(0); + final HibernateEPackage hbEPackage = (HibernateEPackage)list.get(0); if (TRACER.isEnabled()) { - TRACER.trace("Read EPackage: " + ePackage.getName()); + TRACER.trace("Read EPackage: " + nsUri); } - ((InternalEPackage)ePackage).setServerInfo(dbPackage.getServerInfo()); - ((InternalEPackage)ePackage).setName(dbPackage.getName()); - ((InternalEPackage)ePackage).setEcore(dbPackage.getEcore()); - ((InternalEPackage)ePackage).setMetaIDRange(ePackage.getMetaIDRange()); - - final List<EClass> eClasses = new ArrayList<EClass>(); - for (EClass eClass : EMFUtil.getPersistentClasses(dbPackage)) - { - eClasses.add(eClass); - for (EClassProxy proxy : ((InternalEClass)eClass).getSuperTypeProxies()) - { - proxy.setCDOPackageManager(hibernateStore.getRepository().getPackageRegistry()); - } - - for (EStructuralFeature feature : eClass.getFeatures()) - { - final InternalCDOFeature internalFeature = (InternalCDOFeature)feature; - internalFeature.setContainingClass(eClass); - if (internalFeature.getReferenceTypeProxy() != null) - { - internalFeature.getReferenceTypeProxy().setCDOPackageManager( - hibernateStore.getRepository().getPackageRegistry()); - } - } - - // // force indices to be set - // if (TODO.getAllPersistentFeatures(eClass).length > 0) - // { - // ((InternalEClass)eClass).getFeatureIndex(0); - // } - } - - ((InternalEPackage)ePackage).setClasses(eClasses); + final EPackage rootEPackage = EMFUtil.createEPackage(nsUri, hbEPackage.getEPackageBlob(), ZIP_PACKAGE_BYTES, + hibernateStore.getRepository().getPackageRegistry()); + return EMFUtil.getAllPackages(rootEPackage); } finally { + session.getTransaction().commit(); session.close(); } - - if (TRACER.isEnabled()) - { - TRACER.trace("Finished reading EPackages"); - } } + @SuppressWarnings("unchecked") protected void readPackageUnits() { if (packageUnits == null || packageUnits.size() == 0) @@ -324,32 +219,18 @@ public class HibernatePackageHandler extends Lifecycle TRACER.trace("Reading EPackages from db"); } - Collection<InternalCDOPackageUnit> result = new ArrayList<InternalCDOPackageUnit>(); Session session = getSessionFactory().openSession(); try { - Criteria criteria = session.createCriteria(EPackage.class); + Criteria criteria = session.createCriteria(CDO_PACKAGE_UNIT_ENTITY_NAME); List<?> list = criteria.list(); if (TRACER.isEnabled()) { - TRACER.trace("Found " + list.size() + " EPackages in DB"); - } - - for (Object object : list) - { - EPackage ePackage = (EPackage)object; - if (TRACER.isEnabled()) - { - TRACER.trace("Read EPackage: " + ePackage.getName()); - } - - result.add(new CDOPackageInfo(ePackage.getNsURI(), ePackage.getParentURI(), ePackage.isDynamic(), ePackage - .getMetaIDRange())); - ((InternalEPackage)ePackage).setPackageManager(hibernateStore.getRepository().getPackageRegistry()); + TRACER.trace("Found " + list.size() + " CDOPackageUnits in DB"); } - packageUnits = result; + packageUnits = (Collection<InternalCDOPackageUnit>)list; } finally { @@ -445,6 +326,42 @@ public class HibernatePackageHandler extends Lifecycle } } + SystemInformation getSystemInformation() + { + Session session = getSessionFactory().openSession(); + session.beginTransaction(); + try + { + final Criteria c = session.createCriteria(SystemInformation.class); + List<?> l = c.list(); + + final SystemInformation systemInformation; + if (l.size() == 0) + { + systemInformation = new SystemInformation(); + systemInformation.setFirstTime(true); + systemInformation.setCreationTime(System.currentTimeMillis()); + session.saveOrUpdate(systemInformation); + } + else if (l.size() > 1) + { + throw new IllegalStateException( + "More than one records in the cdo_system_information table, this is an illegal situation"); + } + else + { + systemInformation = (SystemInformation)l.get(0); + systemInformation.setFirstTime(false); + } + return systemInformation; + } + finally + { + session.getTransaction().commit(); + session.close(); + } + } + protected void initSchema() { if (TRACER.isEnabled()) diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStore.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStore.java index b5a72618a7..aeb3f27f60 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStore.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStore.java @@ -14,7 +14,6 @@ package org.eclipse.emf.cdo.server.internal.hibernate; import org.eclipse.emf.cdo.common.id.CDOIDLibraryDescriptor; import org.eclipse.emf.cdo.common.id.CDOIDLibraryProvider; import org.eclipse.emf.cdo.common.id.CDOIDObjectFactory; -import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.server.ISession; import org.eclipse.emf.cdo.server.ITransaction; import org.eclipse.emf.cdo.server.IView; @@ -71,6 +70,8 @@ public class HibernateStore extends Store implements IHibernateStore private boolean doDropSchema = false; + private SystemInformation systemInformation; + public HibernateStore(IHibernateMappingProvider mappingProvider) { super(TYPE, set(ChangeFormat.REVISION), set(RevisionTemporality.NONE), set(RevisionParallelism.NONE)); @@ -157,7 +158,7 @@ public class HibernateStore extends Store implements IHibernateStore public long getCreationTime() { - return CDORevision.UNSPECIFIED_DATE; + return getSystemInformation().getCreationTime(); } public HibernatePackageHandler getPackageHandler() @@ -311,4 +312,18 @@ public class HibernateStore extends Store implements IHibernateStore org.eclipse.emf.cdo.server.hibernate.internal.id.bundle.OM.BUNDLE); } } + + public boolean isFirstTime() + { + return getSystemInformation().isFirstTime(); + } + + private SystemInformation getSystemInformation() + { + if (systemInformation == null) + { + systemInformation = getPackageHandler().getSystemInformation(); + } + return systemInformation; + } } diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java index bf5aa746cf..2968849a83 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/HibernateStoreAccessor.java @@ -445,8 +445,7 @@ public class HibernateStoreAccessor extends StoreAccessor implements IHibernateS @Override protected void detachObjects(CDOID[] detachedObjects, long revised, OMMonitor monitor) { - // TODO: implement HibernateStoreAccessor.detachObjects(detachedObjects) - throw new UnsupportedOperationException(); + // handled by the write method } @Override diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/SystemInformation.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/SystemInformation.java new file mode 100644 index 0000000000..62d6c9991b --- /dev/null +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/SystemInformation.java @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2004 - 2009 Martin Taal and others. and others + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Taal - initial API and implementation + * Eike Stepper - maintenance + */ +package org.eclipse.emf.cdo.server.internal.hibernate; + +/** + * Stores system related information, is used to keep track that CDO is started for the first time. There should only be + * one SystemInformation object in the database. + * + * @author Martin Taal + */ +public class SystemInformation +{ + private long id = 1; + + private long creationTime; + + private boolean firstTime = false; + + public boolean isFirstTime() + { + return firstTime; + } + + public void setFirstTime(boolean firstTime) + { + this.firstTime = firstTime; + } + + public long getId() + { + return id; + } + + public void setId(long id) + { + // on purposely not changing the id + // this.id = id; + } + + public long getCreationTime() + { + return creationTime; + } + + public void setCreationTime(long creationTime) + { + this.creationTime = creationTime; + } +} diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOInterceptor.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOInterceptor.java index ea2776b0ae..eeddd891ca 100644 --- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOInterceptor.java +++ b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOInterceptor.java @@ -11,6 +11,7 @@ */ package org.eclipse.emf.cdo.server.internal.hibernate.tuplizer; +import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.server.internal.hibernate.HibernateUtil; import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevision; @@ -32,6 +33,10 @@ public class CDOInterceptor extends EmptyInterceptor @Override public String getEntityName(Object object) { + if (!(object instanceof CDORevision)) + { + return object.getClass().getName(); + } InternalCDORevision revision = HibernateUtil.getInstance().getCDORevision(object); return revision.getEClass().getName(); } diff --git a/plugins/org.eclipse.emf.cdo.tests.hibernate/Hibernate AllTests (OSGi).launch b/plugins/org.eclipse.emf.cdo.tests.hibernate/Hibernate AllTests (OSGi).launch deleted file mode 100644 index 5941f0d7e8..0000000000 --- a/plugins/org.eclipse.emf.cdo.tests.hibernate/Hibernate AllTests (OSGi).launch +++ /dev/null @@ -1,390 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig"> -<booleanAttribute key="append.args" value="true"/> -<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/> -<booleanAttribute key="askclear" value="false"/> -<booleanAttribute key="automaticAdd" value="false"/> -<booleanAttribute key="automaticValidate" value="false"/> -<stringAttribute key="bootstrap" value=""/> -<stringAttribute key="checked" value="org.eclipse.emf.cdo,org.eclipse.emf.cdo.common,org.eclipse.emf.cdo.server,org.eclipse.emf.cdo.server.hibernate,org.eclipse.emf.cdo.server.hibernate.id,org.eclipse.net4j,org.eclipse.net4j.jvm,org.eclipse.net4j.tcp,org.eclipse.net4j.util"/> -<booleanAttribute key="clearConfig" value="true"/> -<booleanAttribute key="clearws" value="true"/> -<booleanAttribute key="clearwslog" value="false"/> -<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/> -<booleanAttribute key="default" value="true"/> -<booleanAttribute key="includeOptional" value="true"/> -<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/> -<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS"> -<listEntry value="/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/AllTests.java"/> -</listAttribute> -<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> -<listEntry value="1"/> -</listAttribute> -<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/> -<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/> -<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/> -<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit3"/> -<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> -<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.cdo.tests.hibernate.AllTests"/> -<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}"/> -<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.emf.cdo.tests.hibernate"/> -<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/> -<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.console"/> -<stringAttribute key="pde.version" value="3.3"/> -<stringAttribute key="product" value="org.eclipse.emf.cdo.server.product"/> -<stringAttribute key="selectedPlugin" value="org.eclipse.osgi"/> -<booleanAttribute key="show_selected_only" value="false"/> -<booleanAttribute key="tracing" value="true"/> -<mapAttribute key="tracingOptions"> -<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/> -<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/> -<mapEntry key="org.eclipse.ui/trace/sources" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/> -<mapEntry key="org.eclipse.net4j.buddies.chat/debug" value="true"/> -<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/> -<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/> -<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/> -<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/> -<mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/> -<mapEntry key="org.eclipse.jdt.core/debug" value="true"/> -<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/> -<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/> -<mapEntry key="org.eclipse.net4j.tcp/debug" value="true"/> -<mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.server/debug.repository" value="true"/> -<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/> -<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/> -<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/> -<mapEntry key="org.eclipse.emf.cdo.common/debug.protocol" value="true"/> -<mapEntry key="org.eclipse.net4j.util/debug.lifecycle.dump" value="true"/> -<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/debug.util" value="true"/> -<mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/> -<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/> -<mapEntry key="org.eclipse.ui/debug" value="false"/> -<mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/> -<mapEntry key="org.eclipse.jface.text/debug/AbstractInformationControlManager" value="false"/> -<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/> -<mapEntry key="org.eclipse.pde.core/classpath" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/threading" value="false"/> -<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/> -<mapEntry key="org.eclipse.net4j.jms.server/debug.store" value="true"/> -<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/> -<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/> -<mapEntry key="org.eclipse.osgi/trace/activation" value="false"/> -<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/> -<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/> -<mapEntry key="org.eclipse.team.core/threading" value="false"/> -<mapEntry key="org.eclipse.update.core/debug/parsing" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/> -<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFileMaps" value="false"/> -<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/> -<mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/> -<mapEntry key="org.eclipse.net4j.db/debug" value="true"/> -<mapEntry key="org.eclipse.net4j.buddies.chat.ui/debug" value="true"/> -<mapEntry key="org.eclipse.ui/debug/workingSets" value="false"/> -<mapEntry key="org.eclipse.debug.ui/debug/viewers/stateSaveRestore" value="false"/> -<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/> -<mapEntry key="org.eclipse.net4j.jms/debug.protocol" value="true"/> -<mapEntry key="org.eclipse.help/debug/toc" value="false"/> -<mapEntry key="org.eclipse.debug.ui/debug" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/> -<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/> -<mapEntry key="org.eclipse.pde.build/debug" value="false"/> -<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/> -<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/> -<mapEntry key="org.eclipse.update.core/debug/type" value="false"/> -<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/> -<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/> -<mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/> -<mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/> -<mapEntry key="org.eclipse.core.resources/refresh" value="false"/> -<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/> -<mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/> -<mapEntry key="org.eclipse.help.webapp/debug" value="true"/> -<mapEntry key="org.eclipse.jdt.core/debug/builder/stats" value="false"/> -<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/> -<mapEntry key="org.eclipse.equinox.security.ui/debug/storage" value="false"/> -<mapEntry key="org.eclipse.osgi/debug" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.server/debug.types" value="true"/> -<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/> -<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/> -<mapEntry key="org.eclipse.net4j.buddies/debug" value="true"/> -<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/> -<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/> -<mapEntry key="org.eclipse.osgi/profile/startup" value="false"/> -<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/> -<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/> -<mapEntry key="org.eclipse.emf.cdo.server.hibernate/debug" value="true"/> -<mapEntry key="org.eclipse.net4j/debug" value="true"/> -<mapEntry key="org.eclipse.net4j/debug.signal" value="true"/> -<mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/> -<mapEntry key="org.eclipse.net4j.db.hsqldb/debug.sql" value="true"/> -<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/> -<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/> -<mapEntry key="org.eclipse.net4j/debug.buffer" value="true"/> -<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/debug.repository" value="true"/> -<mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/> -<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.examples/debug" value="true"/> -<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/> -<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/> -<mapEntry key="org.eclipse.ui.ide/debug" value="false"/> -<mapEntry key="org.eclipse.osgi/profile/debug" value="false"/> -<mapEntry key="org.eclipse.pde.core/debug" value="true"/> -<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/> -<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/> -<mapEntry key="org.eclipse.net4j.util/debug.registry" value="true"/> -<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/> -<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/> -<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/> -<mapEntry key="org.eclipse.emf.cdo/debug.object" value="true"/> -<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.server/debug.revision" value="true"/> -<mapEntry key="org.eclipse.emf.cdo.server/debug.transaction" value="true"/> -<mapEntry key="org.eclipse.core.resources/strings" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/> -<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/> -<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/> -<mapEntry key="org.eclipse.core.resources/preferences" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/> -<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/> -<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/> -<mapEntry key="org.eclipse.jdt.apt.core/debug" value="false"/> -<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/> -<mapEntry key="org.eclipse.emf.cdo.server.hibernate.id/debug" value="true"/> -<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/perf.revision" value="false"/> -<mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/> -<mapEntry key="org.eclipse.net4j/set.signal.thread.name" value="false"/> -<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/> -<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.server/debug.session" value="true"/> -<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/> -<mapEntry key="org.eclipse.update.core/debug" value="true"/> -<mapEntry key="org.eclipse.osgi/debug/security" value="false"/> -<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/> -<mapEntry key="org.eclipse.ui/debug/swtdebugglobal" value="false"/> -<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/> -<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/> -<mapEntry key="org.eclipse.net4j.db.hsqldb/debug" value="true"/> -<mapEntry key="org.eclipse.net4j.jms.admin/debug.protocol" value="true"/> -<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/> -<mapEntry key="org.eclipse.core.resources/history" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.server/debug.store" value="true"/> -<mapEntry key="org.eclipse.net4j.http.server/debug" value="true"/> -<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/cvsprotocol" value="true"/> -<mapEntry key="org.eclipse.pde.core/validation" value="false"/> -<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/> -<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/> -<mapEntry key="org.eclipse.core.runtime/debug" value="false"/> -<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/> -<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/> -<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/> -<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/debug.protocol" value="true"/> -<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/> -<mapEntry key="org.eclipse.equinox.security.ui/debug" value="false"/> -<mapEntry key="org.eclipse.osgi/resolver/uses" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.common/perf.revision" value="false"/> -<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.common/debug.model" value="true"/> -<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/> -<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.common/perf.revision.reading" value="false"/> -<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/> -<mapEntry key="org.eclipse.net4j/debug.connector" value="true"/> -<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/> -<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/> -<mapEntry key="org.eclipse.equinox.security/debug/loginFramework" value="false"/> -<mapEntry key="org.eclipse.core.resources/restore" value="false"/> -<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/> -<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/> -<mapEntry key="org.eclipse.net4j.buddies.server/debug" value="true"/> -<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/> -<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/> -<mapEntry key="org.eclipse.osgi/debug/loader" value="true"/> -<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/> -<mapEntry key="org.eclipse.net4j/debug.acceptor" value="true"/> -<mapEntry key="org.eclipse.net4j.buddies.ui/debug" value="true"/> -<mapEntry key="org.eclipse.emf.cdo/perf" value="false"/> -<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/> -<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/> -<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/> -<mapEntry key="org.eclipse.net4j.jvm/debug" value="true"/> -<mapEntry key="org.eclipse.ui/trace/operations" value="false"/> -<mapEntry key="org.eclipse.ui.ide/debug/markers" value="false"/> -<mapEntry key="org.eclipse.update.core/debug/install" value="false"/> -<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/> -<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/> -<mapEntry key="org.eclipse.net4j.util/debug.lifecycle" value="true"/> -<mapEntry key="org.eclipse.emf.cdo.examples.spring/debug" value="true"/> -<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/> -<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/> -<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/> -<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/> -<mapEntry key="org.eclipse.ui.intro/flags/noBrowser" value="false"/> -<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/> -<mapEntry key="org.eclipse.equinox.security/debug" value="false"/> -<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/> -<mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/> -<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/> -<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/> -<mapEntry key="org.eclipse.help/debug/context" value="false"/> -<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/> -<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/debug" value="true"/> -<mapEntry key="org.eclipse.emf.cdo.ui/debug" value="true"/> -<mapEntry key="org.eclipse.net4j.examples/debug" value="true"/> -<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFiles" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/> -<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/> -<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/> -<mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/> -<mapEntry key="org.eclipse.team.core/debug" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.common/debug.revision" value="true"/> -<mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/> -<mapEntry key="org.eclipse.net4j.jms.server.jdbc/debug" value="true"/> -<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/> -<mapEntry key="org.eclipse.core.resources/save" value="false"/> -<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/> -<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.server/debug" value="true"/> -<mapEntry key="org.eclipse.osgi/debug/events" value="false"/> -<mapEntry key="org.eclipse.ui/trace/commands" value="false"/> -<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/> -<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/> -<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/> -<mapEntry key="org.eclipse.net4j.util/debug.om" value="true"/> -<mapEntry key="org.eclipse.net4j.jms.server/debug" value="true"/> -<mapEntry key="org.eclipse.net4j.db.mysql/debug" value="true"/> -<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/> -<mapEntry key="org.eclipse.net4j.util/debug" value="true"/> -<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/> -<mapEntry key="org.eclipse.ui.intro/debug" value="true"/> -<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/> -<mapEntry key="org.eclipse.net4j.jms/debug" value="true"/> -<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.server/debug.resource" value="true"/> -<mapEntry key="org.eclipse.net4j.debug/debug" value="true"/> -<mapEntry key="org.eclipse.net4j.db.derby/debug.sql" value="true"/> -<mapEntry key="org.eclipse.pde.core/cache" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.ui/test" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/debug.transaction" value="true"/> -<mapEntry key="org.eclipse.emf.cdo.server.db/debug" value="true"/> -<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/> -<mapEntry key="org.eclipse.net4j/debug.selector" value="true"/> -<mapEntry key="org.eclipse.emf.cdo.common/perf" value="false"/> -<mapEntry key="org.eclipse.jdt.ui/debug" value="true"/> -<mapEntry key="org.eclipse.net4j.db/debug.sql" value="true"/> -<mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/> -<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/> -<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/> -<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.common/debug.id" value="true"/> -<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/> -<mapEntry key="org.eclipse.net4j.util/debug.concurrency" value="true"/> -<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/> -<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/> -<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/> -<mapEntry key="org.eclipse.core.resources/natures" value="false"/> -<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/> -<mapEntry key="org.eclipse.emf.cdo.common/perf.revision.writing" value="false"/> -<mapEntry key="org.eclipse.net4j.jms.admin/debug" value="true"/> -<mapEntry key="org.eclipse.net4j.db.derby/debug" value="true"/> -<mapEntry key="org.eclipse.emf.cdo/debug.model" value="true"/> -<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/> -<mapEntry key="org.eclipse.help/debug/search" value="false"/> -<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/> -<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/> -<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/> -<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/> -<mapEntry key="org.eclipse.team.core/streams" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.ui/test.bulk_add" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.common/debug" value="true"/> -<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/> -<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/> -<mapEntry key="org.eclipse.net4j.ui/debug" value="true"/> -<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/> -<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/> -<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/> -<mapEntry key="org.eclipse.jdt.apt.core/debug/compilationEnv" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/debug.session" value="true"/> -<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/debug.adapter" value="true"/> -<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/> -<mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/> -<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/> -<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/> -<mapEntry key="org.eclipse.net4j.tcp/protocol.registration.timeout" value="10000"/> -<mapEntry key="org.eclipse.osgi/debug/services" value="false"/> -<mapEntry key="org.eclipse.net4j.db.mysql/debug.sql" value="true"/> -<mapEntry key="org.eclipse.net4j.util.ui/debug" value="true"/> -<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/> -<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/> -<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/> -<mapEntry key="org.eclipse.debug.core/debug" value="false"/> -<mapEntry key="org.eclipse.net4j.buddies.common/debug" value="true"/> -<mapEntry key="org.eclipse.core.resources/debug" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/> -<mapEntry key="org.eclipse.ui.browser/debug" value="false"/> -<mapEntry key="org.eclipse.emf.cdo.server/debug.protocol" value="true"/> -<mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/> -<mapEntry key="org.eclipse.net4j.jms.server/debug.protocol" value="true"/> -<mapEntry key="org.eclipse.update.core/debug/web" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/debug" value="false"/> -<mapEntry key="org.eclipse.help/debug" value="true"/> -<mapEntry key="org.eclipse.core.runtime/perf" value="false"/> -<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/> -<mapEntry key="org.eclipse.net4j/debug.channel" value="true"/> -<mapEntry key="org.eclipse.emf.cdo/perf.revision.loading" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/debug.revision" value="true"/> -<mapEntry key="org.eclipse.emf.cdo/debug.view" value="true"/> -<mapEntry key="org.eclipse.jdt.core/debug/formatter" value="false"/> -<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/> -<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/> -<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/> -<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/> -<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/> -<mapEntry key="org.eclipse.team.cvs.core/syncchangeevents" value="false"/> -<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/> -<mapEntry key="org.eclipse.net4j.http.common/debug" value="true"/> -<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/failure" value="false"/> -<mapEntry key="org.eclipse.emf.cdo/debug.resource" value="true"/> -<mapEntry key="org.eclipse.net4j.http/debug" value="true"/> -<mapEntry key="org.eclipse.jdt.apt.pluggable.core/debug" value="false"/> -<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/> -<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/> -<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/> -<mapEntry key="org.eclipse.net4j/debug.buffer.stream" value="false"/> -<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/> -<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/> -<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/> -<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/> -<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/> -<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/> -<mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/> -<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/> -<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/> -<mapEntry key="org.eclipse.update.configurator/debug" value="false"/> -<mapEntry key="org.eclipse.help.ui/debug" value="true"/> -<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/> -<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/> -<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/> -</mapAttribute> -<booleanAttribute key="useDefaultConfig" value="true"/> -<booleanAttribute key="useDefaultConfigArea" value="false"/> -<booleanAttribute key="useProduct" value="false"/> -</launchConfiguration> diff --git a/plugins/org.eclipse.emf.cdo.tests.hibernate/src/app.properties b/plugins/org.eclipse.emf.cdo.tests.hibernate/src/app.properties index e8345b5098..f880a73987 100644 --- a/plugins/org.eclipse.emf.cdo.tests.hibernate/src/app.properties +++ b/plugins/org.eclipse.emf.cdo.tests.hibernate/src/app.properties @@ -10,7 +10,7 @@ hibernate.connection.driver_class=org.hsqldb.jdbcDriver hibernate.connection.url=jdbc:hsqldb:mem:cdohibernate hibernate.connection.username=sa hibernate.connection.password= -#hibernate.connection.autocommit=true +hibernate.connection.autocommit=true hibernate.cache.provider_class=org.hibernate.cache.HashtableCacheProvider #-------------------------------------------------------------- diff --git a/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/AllTests.java b/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/AllTests.java index a6a7035784..ca2cba6551 100644 --- a/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/AllTests.java +++ b/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/AllTests.java @@ -27,9 +27,9 @@ public class AllTests TestSuite suite = new TestSuite("Tests for CDO using Hibernate"); suite.addTestSuite(HbViewTest.class); suite.addTestSuite(HbCDOAutomaticPackageRefTest.class); + suite.addTestSuite(HbContainmentTest.class); suite.addTestSuite(HbCDOPackageRefTest.class); suite.addTestSuite(HbPackageRegistryTest.class); - suite.addTestSuite(HbContainmentTest.class); suite.addTestSuite(HbResourceTest.class); suite.addTestSuite(HbComplexTest.class); suite.addTestSuite(HbTransactionDeadLockTest.class); |