### Eclipse Workspace Patch 1.0 #P org.eclipse.emf.cdo.tests.db Index: src/org/eclipse/emf/cdo/tests/db/AllTestsDBH2Offline.java =================================================================== --- src/org/eclipse/emf/cdo/tests/db/AllTestsDBH2Offline.java (revision 8726) +++ src/org/eclipse/emf/cdo/tests/db/AllTestsDBH2Offline.java (working copy) @@ -10,6 +10,7 @@ */ package org.eclipse.emf.cdo.tests.db; +import org.eclipse.emf.cdo.common.CDOCommonRepository.IDGenerationLocation; import org.eclipse.emf.cdo.tests.config.IScenario; import org.eclipse.emf.cdo.tests.config.impl.ConfigTest; import org.eclipse.emf.cdo.tests.offline.Bugzilla_319552_Test; @@ -40,7 +41,8 @@ @Override protected void initConfigSuites(TestSuite parent) { - addScenario(parent, COMBINED, new H2OfflineConfig(), JVM, NATIVE); + addScenario(parent, COMBINED, new H2OfflineConfig(false, false, IDGenerationLocation.STORE), JVM, NATIVE); + addScenario(parent, COMBINED, new H2OfflineConfig(false, false, IDGenerationLocation.CLIENT), JVM, NATIVE); } @Override Index: src/org/eclipse/emf/cdo/tests/db/DBConfig.java =================================================================== --- src/org/eclipse/emf/cdo/tests/db/DBConfig.java (revision 8726) +++ src/org/eclipse/emf/cdo/tests/db/DBConfig.java (working copy) @@ -20,6 +20,7 @@ import org.eclipse.net4j.db.DBUtil; import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.db.IDBConnectionProvider; import org.eclipse.net4j.util.container.IPluginContainer; import javax.sql.DataSource; @@ -74,9 +75,13 @@ { IMappingStrategy mappingStrategy = createMappingStrategy(); mappingStrategy.setProperties(createMappingStrategyProperties()); + IDBAdapter dbAdapter = createDBAdapter(); + DataSource dataSource = createDataSource(repoName); - return CDODBUtil.createStore(mappingStrategy, dbAdapter, DBUtil.createConnectionProvider(dataSource)); + IDBConnectionProvider connectionProvider = DBUtil.createConnectionProvider(dataSource); + + return CDODBUtil.createStore(mappingStrategy, dbAdapter, connectionProvider); } protected Map createMappingStrategyProperties() Index: src/org/eclipse/emf/cdo/tests/db/H2OfflineConfig.java =================================================================== --- src/org/eclipse/emf/cdo/tests/db/H2OfflineConfig.java (revision 8726) +++ src/org/eclipse/emf/cdo/tests/db/H2OfflineConfig.java (working copy) @@ -10,6 +10,7 @@ */ package org.eclipse.emf.cdo.tests.db; +import org.eclipse.emf.cdo.common.CDOCommonRepository.IDGenerationLocation; import org.eclipse.emf.cdo.server.IStore; import org.eclipse.emf.cdo.server.db.CDODBUtil; import org.eclipse.emf.cdo.server.db.mapping.IMappingStrategy; @@ -17,6 +18,7 @@ import org.eclipse.net4j.db.DBUtil; import org.eclipse.net4j.db.IDBAdapter; +import org.eclipse.net4j.db.IDBConnectionProvider; import org.eclipse.net4j.db.h2.H2Adapter; import org.eclipse.net4j.util.WrappedException; import org.eclipse.net4j.util.container.IPluginContainer; @@ -30,6 +32,8 @@ import java.io.File; import java.sql.Connection; import java.sql.Statement; +import java.util.HashMap; +import java.util.Map; /** * @author Eike Stepper @@ -42,22 +46,64 @@ private static JdbcDataSource defaultDataSource; - public H2OfflineConfig() + private boolean withRanges; + + private boolean copyOnBranch; + + public H2OfflineConfig(boolean withRanges, boolean copyOnBranch, IDGenerationLocation idGenerationLocation) + { + super("H2Offline", idGenerationLocation); + this.withRanges = withRanges; + this.copyOnBranch = copyOnBranch; + } + + public boolean isWithRanges() + { + return withRanges; + } + + public boolean isCopyOnBranch() { - super("H2Offline"); + return copyOnBranch; } public IStore createStore(String repoName) { IMappingStrategy mappingStrategy = createMappingStrategy(); + mappingStrategy.setProperties(createMappingStrategyProperties()); + IDBAdapter dbAdapter = createDBAdapter(); + DataSource dataSource = createDataSource(repoName); - return CDODBUtil.createStore(mappingStrategy, dbAdapter, DBUtil.createConnectionProvider(dataSource)); + IDBConnectionProvider connectionProvider = DBUtil.createConnectionProvider(dataSource); + + return CDODBUtil.createStore(mappingStrategy, dbAdapter, connectionProvider); + } + + @Override + public void setUp() throws Exception + { + CDODBUtil.prepareContainer(IPluginContainer.INSTANCE); + super.setUp(); + } + + protected Map createMappingStrategyProperties() + { + Map props = new HashMap(); + props.put(IMappingStrategy.PROP_QUALIFIED_NAMES, "true"); + props.put(CDODBUtil.PROP_COPY_ON_BRANCH, Boolean.toString(copyOnBranch)); + return props; } protected IMappingStrategy createMappingStrategy() { - return CDODBUtil.createHorizontalMappingStrategy(); + return CDODBUtil.createHorizontalMappingStrategy(isSupportingAudits(), isSupportingBranches(), withRanges); + } + + @Override + protected String getMappingStrategySpecialization() + { + return (withRanges ? "-ranges" : "") + (copyOnBranch ? "-copy" : ""); } protected IDBAdapter createDBAdapter() @@ -104,13 +150,6 @@ return dataSource; } - @Override - public void setUp() throws Exception - { - CDODBUtil.prepareContainer(IPluginContainer.INSTANCE); - super.setUp(); - } - protected File createDBFolder() { return TMPUtil.createTempFolder("h2_", "_test"); #P org.eclipse.emf.cdo.tests Index: src/org/eclipse/emf/cdo/tests/config/impl/RepositoryConfig.java =================================================================== --- src/org/eclipse/emf/cdo/tests/config/impl/RepositoryConfig.java (revision 8806) +++ src/org/eclipse/emf/cdo/tests/config/impl/RepositoryConfig.java (working copy) @@ -579,9 +579,9 @@ private transient IAcceptor masterAcceptor; - public OfflineConfig(String name) + public OfflineConfig(String name, IDGenerationLocation idGenerationLocation) { - super(name, true, true, IDGenerationLocation.CLIENT); + super(name, true, true, idGenerationLocation); } @Override @@ -808,9 +808,9 @@ { private static final long serialVersionUID = 1L; - public MEMOfflineConfig() + public MEMOfflineConfig(IDGenerationLocation idGenerationLocation) { - super("MEMOffline"); + super("MEMOffline", idGenerationLocation); } public IStore createStore(String repoName) Index: src/org/eclipse/emf/cdo/tests/config/IConstants.java =================================================================== --- src/org/eclipse/emf/cdo/tests/config/IConstants.java (revision 8806) +++ src/org/eclipse/emf/cdo/tests/config/IConstants.java (working copy) @@ -34,7 +34,7 @@ public static final RepositoryConfig MEM_BRANCHES = new MEMConfig(true, true, IDGenerationLocation.STORE); - public static final RepositoryConfig MEM_OFFLINE = new MEMOfflineConfig(); + public static final RepositoryConfig MEM_OFFLINE = new MEMOfflineConfig(IDGenerationLocation.CLIENT); public static final SessionConfig EMBEDDED = SessionConfig.Embedded.INSTANCE;