diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/HibernateTest.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/HibernateTest.java | 209 |
1 files changed, 109 insertions, 100 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/HibernateTest.java b/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/HibernateTest.java index f833893e99..cdc9766d1d 100644 --- a/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/HibernateTest.java +++ b/plugins/org.eclipse.emf.cdo.tests.hibernate/src/org/eclipse/emf/cdo/tests/hibernate/HibernateTest.java @@ -10,13 +10,6 @@ **************************************************************************/ package org.eclipse.emf.cdo.tests.hibernate; -import java.io.PrintWriter; -import java.sql.Driver; -import java.sql.DriverManager; -import java.util.HashMap; -import java.util.Map; -import java.util.Properties; - import org.eclipse.emf.cdo.CDOSession; import org.eclipse.emf.cdo.CDOTransaction; import org.eclipse.emf.cdo.server.CDOServerUtil; @@ -29,8 +22,7 @@ import org.eclipse.emf.cdo.tests.model1.Model1Factory; import org.eclipse.emf.cdo.tests.model1.Model1Package; import org.eclipse.emf.cdo.tests.model1.Product; import org.eclipse.emf.cdo.util.CDOUtil; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.Resource; + import org.eclipse.net4j.Net4jUtil; import org.eclipse.net4j.connector.IConnector; import org.eclipse.net4j.internal.util.om.log.PrintLogHandler; @@ -39,101 +31,118 @@ import org.eclipse.net4j.jvm.JVMUtil; import org.eclipse.net4j.util.container.ContainerUtil; import org.eclipse.net4j.util.container.IManagedContainer; import org.eclipse.net4j.util.om.OMPlatform; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.Resource; + import org.hibernate.cfg.Environment; import org.hibernate.dialect.MySQLInnoDBDialect; +import java.io.PrintWriter; +import java.sql.Driver; +import java.sql.DriverManager; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + /** * @author Eike Stepper */ -public class HibernateTest { - private static final String REPOSITORY_NAME = "repo1"; - - public static void main(String[] args) throws Exception { - IManagedContainer container = initContainer(); - - // Start the transport and create a repository - JVMUtil.getAcceptor(container, "default"); // Start the JVM transport - CDOServerUtil.addRepository(container, createRepository()); // Start a CDO respository - - // Establish a communications connection and open a session with the repository - IConnector connector = JVMUtil.getConnector(container, "default"); // Open a JVM connection - CDOSession session = CDOUtil.openSession(connector, REPOSITORY_NAME, true);// Open a CDO - // session - session.getPackageRegistry().putEPackage(Model1Package.eINSTANCE);// Not needed after - // first - // commit!!! - - // Open a transaction, and create a new resource - CDOTransaction transaction = session.openTransaction(); - Resource resource = transaction.createResource("/my/big/resource"); - resource.getContents().add(getInputModel()); - transaction.commit(); - - // Cleanup - session.close(); - connector.disconnect(); - } - - private static IManagedContainer initContainer() { - // Turn on tracing - OMPlatform.INSTANCE.setDebugging(true); - OMPlatform.INSTANCE.addTraceHandler(PrintTraceHandler.CONSOLE); - OMPlatform.INSTANCE.addLogHandler(PrintLogHandler.CONSOLE); - - // Prepare the standalone infra structure (not needed when running inside Eclipse) - IManagedContainer container = ContainerUtil.createContainer(); // Create a wiring container - Net4jUtil.prepareContainer(container); // Prepare the Net4j kernel - JVMUtil.prepareContainer(container); // Prepare the JVM transport - CDOServerUtil.prepareContainer(container); // Prepare the CDO server - CDOUtil.prepareContainer(container, false); // Prepare the CDO client - return container; - } - - private static IRepository createRepository() throws Exception { - Map<String, String> props = new HashMap<String, String>(); - props.put(Props.PROP_SUPPORTING_AUDITS, "false"); - props.put(Props.PROP_SUPPORTING_REVISION_DELTAS, "false"); - props.put(Props.PROP_VERIFYING_REVISIONS, "false"); - props.put(Props.PROP_CURRENT_LRU_CAPACITY, "10000"); - props.put(Props.PROP_REVISED_LRU_CAPACITY, "10000"); - return CDOServerUtil.createRepository(REPOSITORY_NAME, createStore(), props); - } - - private static IStore createStore() throws Exception { - DriverManager.setLogWriter(new PrintWriter(System.out)); - Driver driver = new com.mysql.jdbc.Driver(); - DriverManager.registerDriver(driver); - String driverName = driver.getClass().getName(); - String dialectName = MySQLInnoDBDialect.class.getName(); - - Properties props = new Properties(); - props.setProperty(Environment.DRIVER, driverName); - props.setProperty(Environment.URL, "jdbc:mysql://localhost/cdohibernate"); - props.setProperty(Environment.USER, "root"); - props.setProperty(Environment.PASS, "root"); - props.setProperty(Environment.DIALECT, dialectName); - props.setProperty(Environment.SHOW_SQL, "true"); - props.setProperty("hibernate.hbm2ddl.auto", "create-drop"); -// IHibernateMappingProvider mappingProvider = new TeneoHibernateMappingProvider(); -// return new HibernateStore(props, mappingProvider); - return new HibernateStore(props, null); - } - - private static EObject getInputModel() { - Category cat1 = Model1Factory.eINSTANCE.createCategory(); - cat1.setName("CAT1"); - Category cat2 = Model1Factory.eINSTANCE.createCategory(); - cat2.setName("CAT2"); - cat1.getCategories().add(cat2); - Product p1 = Model1Factory.eINSTANCE.createProduct(); - p1.setName("P1"); - cat1.getProducts().add(p1); - Product p2 = Model1Factory.eINSTANCE.createProduct(); - p2.setName("P2"); - cat1.getProducts().add(p2); - Product p3 = Model1Factory.eINSTANCE.createProduct(); - p3.setName("P3"); - cat2.getProducts().add(p3); - return cat1; - } +public class HibernateTest +{ + private static final String REPOSITORY_NAME = "repo1"; + + public static void main(String[] args) throws Exception + { + IManagedContainer container = initContainer(); + + // Start the transport and create a repository + JVMUtil.getAcceptor(container, "default"); // Start the JVM transport + CDOServerUtil.addRepository(container, createRepository()); // Start a CDO respository + + // Establish a communications connection and open a session with the repository + IConnector connector = JVMUtil.getConnector(container, "default"); // Open a JVM connection + CDOSession session = CDOUtil.openSession(connector, REPOSITORY_NAME, true);// Open a CDO + // session + session.getPackageRegistry().putEPackage(Model1Package.eINSTANCE);// Not needed after + // first + // commit!!! + + // Open a transaction, and create a new resource + CDOTransaction transaction = session.openTransaction(); + Resource resource = transaction.createResource("/my/big/resource"); + resource.getContents().add(getInputModel()); + transaction.commit(); + + // Cleanup + session.close(); + connector.disconnect(); + } + + private static IManagedContainer initContainer() + { + // Turn on tracing + OMPlatform.INSTANCE.setDebugging(true); + OMPlatform.INSTANCE.addTraceHandler(PrintTraceHandler.CONSOLE); + OMPlatform.INSTANCE.addLogHandler(PrintLogHandler.CONSOLE); + + // Prepare the standalone infra structure (not needed when running inside Eclipse) + IManagedContainer container = ContainerUtil.createContainer(); // Create a wiring container + Net4jUtil.prepareContainer(container); // Prepare the Net4j kernel + JVMUtil.prepareContainer(container); // Prepare the JVM transport + CDOServerUtil.prepareContainer(container); // Prepare the CDO server + CDOUtil.prepareContainer(container, false); // Prepare the CDO client + return container; + } + + private static IRepository createRepository() throws Exception + { + Map<String, String> props = new HashMap<String, String>(); + props.put(Props.PROP_SUPPORTING_AUDITS, "false"); + props.put(Props.PROP_SUPPORTING_REVISION_DELTAS, "false"); + props.put(Props.PROP_VERIFYING_REVISIONS, "false"); + props.put(Props.PROP_CURRENT_LRU_CAPACITY, "10000"); + props.put(Props.PROP_REVISED_LRU_CAPACITY, "10000"); + return CDOServerUtil.createRepository(REPOSITORY_NAME, createStore(), props); + } + + private static IStore createStore() throws Exception + { + DriverManager.setLogWriter(new PrintWriter(System.out)); + Driver driver = new com.mysql.jdbc.Driver(); + DriverManager.registerDriver(driver); + String driverName = driver.getClass().getName(); + String dialectName = MySQLInnoDBDialect.class.getName(); + + Properties props = new Properties(); + props.setProperty(Environment.DRIVER, driverName); + props.setProperty(Environment.URL, "jdbc:mysql://localhost/cdohibernate"); + props.setProperty(Environment.USER, "root"); + props.setProperty(Environment.PASS, "root"); + props.setProperty(Environment.DIALECT, dialectName); + props.setProperty(Environment.SHOW_SQL, "true"); + props.setProperty("hibernate.hbm2ddl.auto", "create-drop"); + // IHibernateMappingProvider mappingProvider = new TeneoHibernateMappingProvider(); + // return new HibernateStore(props, mappingProvider); + return new HibernateStore(props, null); + } + + private static EObject getInputModel() + { + Category cat1 = Model1Factory.eINSTANCE.createCategory(); + cat1.setName("CAT1"); + Category cat2 = Model1Factory.eINSTANCE.createCategory(); + cat2.setName("CAT2"); + cat1.getCategories().add(cat2); + Product p1 = Model1Factory.eINSTANCE.createProduct(); + p1.setName("P1"); + cat1.getProducts().add(p1); + Product p2 = Model1Factory.eINSTANCE.createProduct(); + p2.setName("P2"); + cat1.getProducts().add(p2); + Product p3 = Model1Factory.eINSTANCE.createProduct(); + p3.setName("P3"); + cat2.getProducts().add(p3); + return cat1; + } } |