Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2010-11-17 06:17:49 +0000
committerEike Stepper2010-11-17 06:17:49 +0000
commit719f6be974311fde9b60bd2f33ae31a06c7379c2 (patch)
treedb83e3353566a9269916aa34057c76e61b549532 /plugins/org.eclipse.emf.cdo.tests/src/org
parentfefd1995dbbc873b67161498227351ec1c517402 (diff)
downloadcdo-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')
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/AbstractSyncingTest.java13
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/BackupTest.java119
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/PackageRegistryTest.java8
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/bugzilla/Bugzilla_303466_Test.java2
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);

Back to the top