/* * Copyright (c) 2010-2012 Eike Stepper (Berlin, Germany) 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: * Eike Stepper - initial API and implementation */ package org.eclipse.emf.cdo.examples.hibernate.client; import org.eclipse.emf.cdo.eresource.CDOResource; import org.eclipse.emf.cdo.examples.company.Company; import org.eclipse.emf.cdo.examples.company.CompanyFactory; import org.eclipse.emf.cdo.session.CDOSession; import org.eclipse.emf.cdo.transaction.CDOTransaction; /** * A quick test to show creating and persisting some data in the repository. To run these tests the CDO server has to be * started on tcp port 2036. This can be accomplished by using the CDOHibernateServer.launch configuration which makes * use of the cdo-server.xml config file in the config directory. * <p/> * The connection logic resides in the {@link BaseTest} parent class. * * @author Martin Taal */ public class QuickStartTest extends BaseTest { /** * Simple test that opens a connection gets a resource and creates an address */ public void testCreatePersist() throws Exception { // first create an address and persist it final String addressName = "name " + System.currentTimeMillis(); //$NON-NLS-1$ { final CDOSession session = openSession(); final CDOTransaction transaction = session.openTransaction(); // get/create a resource CDOResource resource = transaction.getOrCreateResource("/res1"); //$NON-NLS-1$ // clear any previous data resource.getContents().clear(); final Company address = CompanyFactory.eINSTANCE.createCompany(); address.setCity("test"); //$NON-NLS-1$ address.setName(addressName); address.setStreet("test"); //$NON-NLS-1$ resource.getContents().add(address); transaction.commit(); } // read back and do some tests { final CDOSession session = openSession(); final CDOTransaction transaction = session.openTransaction(); CDOResource resource = transaction.getResource("/res1"); //$NON-NLS-1$ assertEquals(true, resource.getContents().get(0) instanceof Company); assertEquals(1, resource.getContents().size()); final Company address = (Company)resource.getContents().get(0); assertEquals(addressName, address.getName()); transaction.commit(); } } }