diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests.mongodb/src/org/eclipse/emf/cdo/tests/mongodb/MongoDBInitialTest.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.tests.mongodb/src/org/eclipse/emf/cdo/tests/mongodb/MongoDBInitialTest.java | 360 |
1 files changed, 180 insertions, 180 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests.mongodb/src/org/eclipse/emf/cdo/tests/mongodb/MongoDBInitialTest.java b/plugins/org.eclipse.emf.cdo.tests.mongodb/src/org/eclipse/emf/cdo/tests/mongodb/MongoDBInitialTest.java index 3ff5d5eba3..a1dd2610ad 100644 --- a/plugins/org.eclipse.emf.cdo.tests.mongodb/src/org/eclipse/emf/cdo/tests/mongodb/MongoDBInitialTest.java +++ b/plugins/org.eclipse.emf.cdo.tests.mongodb/src/org/eclipse/emf/cdo/tests/mongodb/MongoDBInitialTest.java @@ -1,180 +1,180 @@ -/*
- * Copyright (c) 2004 - 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.tests.mongodb;
-
-import org.eclipse.emf.cdo.CDOState;
-import org.eclipse.emf.cdo.eresource.CDOResource;
-import org.eclipse.emf.cdo.server.internal.mongodb.MongoDBStore;
-import org.eclipse.emf.cdo.session.CDOSession;
-import org.eclipse.emf.cdo.tests.AbstractCDOTest;
-import org.eclipse.emf.cdo.tests.model1.Supplier;
-import org.eclipse.emf.cdo.transaction.CDOTransaction;
-
-import org.eclipse.net4j.util.concurrent.ConcurrencyUtil;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-
-import com.mongodb.DBCollection;
-import com.mongodb.DBCursor;
-import com.mongodb.DBObject;
-
-import java.io.PrintStream;
-
-/**
- * @author Eike Stepper
- */
-public class MongoDBInitialTest extends AbstractCDOTest
-{
- public void testGetContentsClearedCache() throws Exception
- {
- {
- msg("Opening session");
- CDOSession session = openSession();
-
- msg("Opening transaction");
- CDOTransaction transaction = session.openTransaction();
-
- msg("Creating resource");
- CDOResource resource = transaction.createResource(getResourcePath("/test1"));
-
- msg("Creating supplier");
- Supplier supplier = getModel1Factory().createSupplier();
-
- msg("Setting name");
- supplier.setName("Stepper");
-
- msg("Adding supplier");
- resource.getContents().add(supplier);
-
- msg("Committing");
- transaction.commit();
- session.close();
- }
-
- clearCache(getRepository().getRevisionManager());
-
- msg("Opening session");
- CDOSession session = openSession();
-
- msg("Opening transaction");
- CDOTransaction transaction = session.openTransaction();
-
- msg("Getting resource");
- CDOResource resource = transaction.getResource(getResourcePath("/test1"));
-
- msg("Getting contents");
- EList<EObject> contents = resource.getContents();
- assertNotNull(contents);
-
- Supplier supplier = (Supplier)contents.get(0);
- String name = supplier.getName();
- assertEquals("Stepper", name);
- }
-
- public void testGetResourceClearedCache() throws Exception
- {
- Supplier supplier = getModel1Factory().createSupplier();
- supplier.setName("Stepper");
-
- CDOSession session = openSession();
- CDOTransaction transaction = session.openTransaction();
- CDOResource resource = transaction.createResource(getResourcePath("/test1"));
- resource.getContents().add(supplier);
- transaction.commit();
-
- clearCache(getRepository().getRevisionManager());
-
- // query(new BasicDBObject(Commits.REVISIONS, new BasicDBObject("$elemMatch", new BasicDBObject(
- // Commits.REVISIONS_RESOURCE, 1))));
- transaction = session.openTransaction();
-
- msg("Getting resource");
- resource = transaction.getResource(getResourcePath("/test1"), true);
- assertNotNull(resource);
- assertEquals(URI.createURI("cdo://" + session.getRepositoryInfo().getUUID() + getResourcePath("/test1")),
- resource.getURI());
- assertEquals(transaction.getResourceSet(), resource.getResourceSet());
- assertEquals(1, transaction.getResourceSet().getResources().size());
- assertEquals(CDOState.CLEAN, resource.cdoState());
- assertEquals(transaction, resource.cdoView());
- assertNotNull(resource.cdoRevision());
- }
-
- protected void query(DBObject query)
- {
- System.err.println();
- System.err.println("Query:");
- showDocument(query, "");
- System.err.println();
- System.err.println("Results:");
-
- MongoDBStore store = (MongoDBStore)getRepository().getStore();
- DBCollection collection = store.getCommits().getCollection();
- DBCursor cursor = collection.find(query);
-
- int i = 0;
- while (cursor.hasNext())
- {
- ++i;
- System.out.println("" + i + " = ");
- showDocument(cursor.next(), " ");
- }
-
- ConcurrencyUtil.sleep(1000000L);
- }
-
- protected void showDocument(DBObject doc, String level)
- {
- PrintStream pout = System.out;
- for (String key : doc.keySet())
- {
- pout.print(level);
- pout.print(key);
- pout.print(" = ");
-
- Object value = doc.get(key);
- if (value instanceof DBObject)
- {
- DBObject child = (DBObject)value;
- pout.println();
- showDocument(child, level + " ");
- }
- else
- {
- if (value instanceof String)
- {
- pout.print("\"");
- }
-
- pout.print(value);
- if (value instanceof String)
- {
- pout.print("\"");
- }
-
- pout.println();
- }
- }
- }
- //
- // @Override
- // protected IScenario getDefaultScenario()
- // {
- // Scenario scenario = new Scenario();
- // scenario.setContainerConfig(ContainerConfig.Combined.INSTANCE);
- // scenario.setRepositoryConfig(MongoDBStoreRepositoryConfig.INSTANCE);
- // scenario.setSessionConfig(Net4j.JVM.INSTANCE);
- // scenario.setModelConfig(ModelConfig.Native.INSTANCE);
- // return scenario;
- // }
-}
+/* + * Copyright (c) 2004 - 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.tests.mongodb; + +import org.eclipse.emf.cdo.CDOState; +import org.eclipse.emf.cdo.eresource.CDOResource; +import org.eclipse.emf.cdo.server.internal.mongodb.MongoDBStore; +import org.eclipse.emf.cdo.session.CDOSession; +import org.eclipse.emf.cdo.tests.AbstractCDOTest; +import org.eclipse.emf.cdo.tests.model1.Supplier; +import org.eclipse.emf.cdo.transaction.CDOTransaction; + +import org.eclipse.net4j.util.concurrent.ConcurrencyUtil; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.EObject; + +import com.mongodb.DBCollection; +import com.mongodb.DBCursor; +import com.mongodb.DBObject; + +import java.io.PrintStream; + +/** + * @author Eike Stepper + */ +public class MongoDBInitialTest extends AbstractCDOTest +{ + public void testGetContentsClearedCache() throws Exception + { + { + msg("Opening session"); + CDOSession session = openSession(); + + msg("Opening transaction"); + CDOTransaction transaction = session.openTransaction(); + + msg("Creating resource"); + CDOResource resource = transaction.createResource(getResourcePath("/test1")); + + msg("Creating supplier"); + Supplier supplier = getModel1Factory().createSupplier(); + + msg("Setting name"); + supplier.setName("Stepper"); + + msg("Adding supplier"); + resource.getContents().add(supplier); + + msg("Committing"); + transaction.commit(); + session.close(); + } + + clearCache(getRepository().getRevisionManager()); + + msg("Opening session"); + CDOSession session = openSession(); + + msg("Opening transaction"); + CDOTransaction transaction = session.openTransaction(); + + msg("Getting resource"); + CDOResource resource = transaction.getResource(getResourcePath("/test1")); + + msg("Getting contents"); + EList<EObject> contents = resource.getContents(); + assertNotNull(contents); + + Supplier supplier = (Supplier)contents.get(0); + String name = supplier.getName(); + assertEquals("Stepper", name); + } + + public void testGetResourceClearedCache() throws Exception + { + Supplier supplier = getModel1Factory().createSupplier(); + supplier.setName("Stepper"); + + CDOSession session = openSession(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource(getResourcePath("/test1")); + resource.getContents().add(supplier); + transaction.commit(); + + clearCache(getRepository().getRevisionManager()); + + // query(new BasicDBObject(Commits.REVISIONS, new BasicDBObject("$elemMatch", new BasicDBObject( + // Commits.REVISIONS_RESOURCE, 1)))); + transaction = session.openTransaction(); + + msg("Getting resource"); + resource = transaction.getResource(getResourcePath("/test1"), true); + assertNotNull(resource); + assertEquals(URI.createURI("cdo://" + session.getRepositoryInfo().getUUID() + getResourcePath("/test1")), + resource.getURI()); + assertEquals(transaction.getResourceSet(), resource.getResourceSet()); + assertEquals(1, transaction.getResourceSet().getResources().size()); + assertEquals(CDOState.CLEAN, resource.cdoState()); + assertEquals(transaction, resource.cdoView()); + assertNotNull(resource.cdoRevision()); + } + + protected void query(DBObject query) + { + System.err.println(); + System.err.println("Query:"); + showDocument(query, ""); + System.err.println(); + System.err.println("Results:"); + + MongoDBStore store = (MongoDBStore)getRepository().getStore(); + DBCollection collection = store.getCommits().getCollection(); + DBCursor cursor = collection.find(query); + + int i = 0; + while (cursor.hasNext()) + { + ++i; + System.out.println("" + i + " = "); + showDocument(cursor.next(), " "); + } + + ConcurrencyUtil.sleep(1000000L); + } + + protected void showDocument(DBObject doc, String level) + { + PrintStream pout = System.out; + for (String key : doc.keySet()) + { + pout.print(level); + pout.print(key); + pout.print(" = "); + + Object value = doc.get(key); + if (value instanceof DBObject) + { + DBObject child = (DBObject)value; + pout.println(); + showDocument(child, level + " "); + } + else + { + if (value instanceof String) + { + pout.print("\""); + } + + pout.print(value); + if (value instanceof String) + { + pout.print("\""); + } + + pout.println(); + } + } + } + // + // @Override + // protected IScenario getDefaultScenario() + // { + // Scenario scenario = new Scenario(); + // scenario.setContainerConfig(ContainerConfig.Combined.INSTANCE); + // scenario.setRepositoryConfig(MongoDBStoreRepositoryConfig.INSTANCE); + // scenario.setSessionConfig(Net4j.JVM.INSTANCE); + // scenario.setModelConfig(ModelConfig.Native.INSTANCE); + // return scenario; + // } +} |