Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2006-08-21 08:34:49 -0400
committerEike Stepper2006-08-21 08:34:49 -0400
commitb8caced330cd9ba5fd47c1daa4885b0387d12f73 (patch)
treedacdedeb4b9082e4c55bb37ad16b6345c47e59a2 /plugins/org.eclipse.emf.cdo.tests/src
parentadf73ce1a0f3461bcbab8229dd2277941ec84f9c (diff)
downloadcdo-b8caced330cd9ba5fd47c1daa4885b0387d12f73.tar.gz
cdo-b8caced330cd9ba5fd47c1daa4885b0387d12f73.tar.xz
cdo-b8caced330cd9ba5fd47c1daa4885b0387d12f73.zip
[154522] Copy from CDO resource to XMI resource does not work
https://bugs.eclipse.org/bugs/show_bug.cgi?id=154389
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests/src')
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/model1/SerializationTest.java90
-rw-r--r--plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/topology/ClientTopology.java17
2 files changed, 107 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/model1/SerializationTest.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/model1/SerializationTest.java
new file mode 100644
index 0000000000..9860c3d487
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/model1/SerializationTest.java
@@ -0,0 +1,90 @@
+/***************************************************************************
+ * Copyright (c) 2004, 2005, 2006 Eike Stepper, Fuggerstr. 39, 10777 Berlin, Germany.
+ * 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.model1;
+
+
+import org.eclipse.emf.cdo.client.CDOPersistable;
+import org.eclipse.emf.cdo.client.CDOResource;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+
+import org.eclipse.net4j.util.IOHelper;
+
+import testmodel1.TreeNode;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import java.io.File;
+
+
+public class SerializationTest extends AbstractModel1Test
+{
+ public void testExport() throws Exception
+ {
+ final String RESOURCE = "/test/res";
+ final String ROOT = "root";
+ final String[] CHILDREN = { "a", "b", "c"};
+
+ final File FILE = new File("testExport.testmodel1");
+ final String CONTENT = "<?xml version=\"1.0\" encoding=\"ASCII\"?>\r\n"
+ + "<testmodel1:TreeNode xmi:version=\"2.0\" xmlns:xmi=\"http://www.omg.org/XMI\" xmlns:testmodel1=\"http://www.eclipse.org/emf/cdo/2006/TestModel1\" stringFeature=\"root\">\r\n"
+ + " <children stringFeature=\"a\"/>\r\n" + " <children stringFeature=\"b\"/>\r\n"
+ + " <children stringFeature=\"c\"/>\r\n" + "</testmodel1:TreeNode>\r\n";
+
+ try
+ {
+ { // Execution
+ TreeNode root = createNode(ROOT);
+ createChildren(CHILDREN, root);
+ saveRoot(root, RESOURCE);
+
+ TreeNode loaded = (TreeNode) loadRoot(RESOURCE);
+ preLoadResource((CDOResource) loaded.eResource());
+ EObject copied = EcoreUtil.copy(loaded);
+
+ ResourceSet resourceSet = new ResourceSetImpl();
+ Map map = resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap();
+ map.put("testmodel1", new XMIResourceFactoryImpl());
+
+ URI uri = URI.createFileURI(FILE.getAbsolutePath());
+ Resource xmiResource = resourceSet.createResource(uri);
+ xmiResource.getContents().add(copied);
+ xmiResource.save(new HashMap());
+ }
+
+ { // Verification
+ String content = IOHelper.readFully(FILE);
+ assertEquals(CONTENT, content);
+ }
+ }
+ finally
+ {
+ FILE.delete();
+ }
+ }
+
+ protected void preLoadResource(CDOResource cdoResource)
+ {
+ for (Iterator it = EcoreUtil.getAllContents(cdoResource, true); it.hasNext();)
+ {
+ CDOPersistable persistable = (CDOPersistable) it.next();
+ persistable.cdoLoad();
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/topology/ClientTopology.java b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/topology/ClientTopology.java
index 26c4be4b75..3aad3b7228 100644
--- a/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/topology/ClientTopology.java
+++ b/plugins/org.eclipse.emf.cdo.tests/src/org/eclipse/emf/cdo/tests/topology/ClientTopology.java
@@ -11,21 +11,38 @@
package org.eclipse.emf.cdo.tests.topology;
+import org.eclipse.net4j.spring.Container;
+
import javax.sql.DataSource;
public class ClientTopology extends AbstractTopology
{
+ private Container net4j;
+
+ private Container net4jClient;
+
public ClientTopology()
{
}
public void start() throws Exception
{
+ super.start();
+
+ // Start client
+ net4j = createContainer("net4j", NET4J_LOCATION, null);
+ net4jClient = createContainer("client", NET4J_CLIENT_LOCATION, net4j);
+ createCDOClient("cdo", net4jClient);
}
public void stop() throws Exception
{
+ super.stop();
+
+ //Stop client
+ net4jClient.stop();
+ net4j.stop();
}
public DataSource getDataSource()

Back to the top