diff options
author | Eike Stepper | 2010-11-17 06:17:49 +0000 |
---|---|---|
committer | Eike Stepper | 2010-11-17 06:17:49 +0000 |
commit | 719f6be974311fde9b60bd2f33ae31a06c7379c2 (patch) | |
tree | db83e3353566a9269916aa34057c76e61b549532 /plugins/org.eclipse.emf.cdo.tests/src/org | |
parent | fefd1995dbbc873b67161498227351ec1c517402 (diff) | |
download | cdo-719f6be974311fde9b60bd2f33ae31a06c7379c2.tar.gz cdo-719f6be974311fde9b60bd2f33ae31a06c7379c2.tar.xz cdo-719f6be974311fde9b60bd2f33ae31a06c7379c2.zip |
[330235] Backup/Restore Functionality
https://bugs.eclipse.org/bugs/show_bug.cgi?id=330235
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests/src/org')
4 files changed, 132 insertions, 10 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AbstractSyncingTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AbstractSyncingTest.java index 5b02b7762d..f656e2dad0 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AbstractSyncingTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AbstractSyncingTest.java @@ -95,10 +95,17 @@ public abstract class AbstractSyncingTest extends AbstractCDOTest } protected static void checkEvent(TestListener listener, int newPackageUnits, int newObjects, int changedObjects, - int detachedObjects) + int detachedObjects) throws InterruptedException { - IEvent[] events = listener.getEvents(); - assertEquals(1, events.length); + final IEvent[] events = listener.getEvents(); + new PollingTimeOuter() + { + @Override + protected boolean successful() + { + return events.length == 1; + } + }.assertNoTimeOut(); IEvent event = events[0]; if (event instanceof CDOSessionInvalidationEvent) diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/BackupTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/BackupTest.java index e3fc51c5d9..f3bb6a0205 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/BackupTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/BackupTest.java @@ -10,17 +10,26 @@ */ package org.eclipse.emf.cdo.tests; +import org.eclipse.emf.cdo.common.model.lob.CDOBlob; +import org.eclipse.emf.cdo.common.model.lob.CDOClob; import org.eclipse.emf.cdo.eresource.CDOResource; import org.eclipse.emf.cdo.server.CDOServerExporter; import org.eclipse.emf.cdo.server.CDOServerImporter; import org.eclipse.emf.cdo.session.CDOSession; import org.eclipse.emf.cdo.spi.server.InternalRepository; +import org.eclipse.emf.cdo.tests.bundle.OM; import org.eclipse.emf.cdo.tests.model1.Customer; import org.eclipse.emf.cdo.tests.model1.SalesOrder; +import org.eclipse.emf.cdo.tests.model3.File; +import org.eclipse.emf.cdo.tests.model3.Image; import org.eclipse.emf.cdo.transaction.CDOTransaction; +import org.eclipse.net4j.util.io.IOUtil; + import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.io.InputStream; +import java.io.InputStreamReader; /** * @author Eike Stepper @@ -41,7 +50,7 @@ public class BackupTest extends AbstractCDOTest super.doTearDown(); } - public void testBackupExport() throws Exception + public void testExport() throws Exception { CDOSession session = openSession(); CDOTransaction transaction = session.openTransaction(); @@ -58,7 +67,72 @@ public class BackupTest extends AbstractCDOTest System.out.println(baos.toString()); } - public void testBackupImport() throws Exception + public void testExportBlob() throws Exception + { + InputStream blobStream = null; + + try + { + blobStream = OM.BUNDLE.getInputStream("copyright.txt"); + CDOBlob blob = new CDOBlob(blobStream); + + Image image = getModel3Factory().createImage(); + image.setWidth(320); + image.setHeight(200); + image.setData(blob); + + CDOSession session = openSession(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource("/res1"); + resource.getContents().add(image); + transaction.commit(); + } + finally + { + IOUtil.close(blobStream); + } + + InternalRepository repo1 = getRepository(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + CDOServerExporter.XML exporter = new CDOServerExporter.XML(repo1); + exporter.exportRepository(baos); + System.out.println(baos.toString()); + } + + public void testExportClob() throws Exception + { + InputStream clobStream = null; + + try + { + clobStream = OM.BUNDLE.getInputStream("copyright.txt"); + CDOClob clob = new CDOClob(new InputStreamReader(clobStream)); + + File file = getModel3Factory().createFile(); + file.setName("copyright.txt"); + file.setData(clob); + + CDOSession session = openSession(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource("/res1"); + resource.getContents().add(file); + transaction.commit(); + } + finally + { + IOUtil.close(clobStream); + } + + InternalRepository repo1 = getRepository(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + CDOServerExporter.XML exporter = new CDOServerExporter.XML(repo1); + exporter.exportRepository(baos); + System.out.println(baos.toString()); + } + + public void testImport() throws Exception { CDOSession session = openSession(); CDOTransaction transaction = session.openTransaction(); @@ -90,6 +164,47 @@ public class BackupTest extends AbstractCDOTest sleep(10000000); } + public void testImportBlob() throws Exception + { + InputStream blobStream = null; + + try + { + blobStream = OM.BUNDLE.getInputStream("copyright.txt"); + CDOBlob blob = new CDOBlob(blobStream); + + Image image = getModel3Factory().createImage(); + image.setWidth(320); + image.setHeight(200); + image.setData(blob); + + CDOSession session = openSession(); + CDOTransaction transaction = session.openTransaction(); + CDOResource resource = transaction.createResource("/res1"); + resource.getContents().add(image); + transaction.commit(); + } + finally + { + IOUtil.close(blobStream); + } + + InternalRepository repo1 = getRepository(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + CDOServerExporter.XML exporter = new CDOServerExporter.XML(repo1); + exporter.exportRepository(baos); + System.out.println(baos.toString()); + + InternalRepository repo2 = getRepository("repo2", false); + + ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); + CDOServerImporter.XML importer = new CDOServerImporter.XML(repo2); + importer.importRepository(bais); + + sleep(10000000); + } + private Customer createCustomer(String name) { Customer customer = getModel1Factory().createCustomer(); diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/PackageRegistryTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/PackageRegistryTest.java index 3cab2e5f83..10ef92a8f7 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/PackageRegistryTest.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/PackageRegistryTest.java @@ -126,10 +126,10 @@ public class PackageRegistryTest extends AbstractCDOTest public void testCommitNestedPackages() throws Exception { CDOSession session = openSession(); - assertEquals(2, session.getPackageRegistry().size()); + assertEquals(3, session.getPackageRegistry().size()); session.getPackageRegistry().putEPackage(getModel3SubpackagePackage()); - assertEquals(4, session.getPackageRegistry().size()); + assertEquals(5, session.getPackageRegistry().size()); session.close(); } @@ -137,10 +137,10 @@ public class PackageRegistryTest extends AbstractCDOTest public void testCommitTopLevelPackages() throws Exception { CDOSession session = openSession(); - assertEquals(2, session.getPackageRegistry().size()); + assertEquals(3, session.getPackageRegistry().size()); session.getPackageRegistry().putEPackage(getModel3Package()); - assertEquals(4, session.getPackageRegistry().size()); + assertEquals(5, session.getPackageRegistry().size()); CDOTransaction transaction = session.openTransaction(); CDOResource res = transaction.createResource("/res"); diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_303466_Test.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_303466_Test.java index 9d6e3dde6b..acd492dd4e 100644 --- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_303466_Test.java +++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_303466_Test.java @@ -48,7 +48,7 @@ public class Bugzilla_303466_Test extends AbstractCDOTest resource.load(null); session.getPackageRegistry().putEPackage(derivedPkg); - assertEquals(3, session.getPackageRegistry().size()); + assertEquals(4, session.getPackageRegistry().size()); EClass derivedClass = (EClass)derivedPkg.getEClassifier("DerivedClass"); EObject derived = derivedPkg.getEFactoryInstance().create(derivedClass); |