Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Merks2020-08-17 07:34:49 +0000
committerEd Merks2020-08-17 07:34:49 +0000
commit09496f3d1afb01acfacfa692b10b6ab883c44ef9 (patch)
treec451eef20904192aaefe781d6af0d82f4c8d4a55
parentce46bd1eedac0ed9a28baa4f0c1bd5650474d77f (diff)
downloadorg.eclipse.emf-09496f3d1afb01acfacfa692b10b6ab883c44ef9.tar.gz
org.eclipse.emf-09496f3d1afb01acfacfa692b10b6ab883c44ef9.tar.xz
org.eclipse.emf-09496f3d1afb01acfacfa692b10b6ab883c44ef9.zip
[Releng] Fix org.eclipse.emf.test.xml.xsdecore.XSD2EcoreTest to tolerate
the change in behavior for Java 11 appinfo element serialization.
-rw-r--r--tests/org.eclipse.emf.test.xml/src/org/eclipse/emf/test/xml/xsdecore/XSD2EcoreTest.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/org.eclipse.emf.test.xml/src/org/eclipse/emf/test/xml/xsdecore/XSD2EcoreTest.java b/tests/org.eclipse.emf.test.xml/src/org/eclipse/emf/test/xml/xsdecore/XSD2EcoreTest.java
index 05a87b56b..9908ab5ae 100644
--- a/tests/org.eclipse.emf.test.xml/src/org/eclipse/emf/test/xml/xsdecore/XSD2EcoreTest.java
+++ b/tests/org.eclipse.emf.test.xml/src/org/eclipse/emf/test/xml/xsdecore/XSD2EcoreTest.java
@@ -23,8 +23,11 @@ import java.util.Vector;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
+import org.eclipse.emf.common.util.TreeIterator;
import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
@@ -159,6 +162,22 @@ public class XSD2EcoreTest
name = name.substring(dot + 1);
ePackage.setName(name);
}
+
+ // The call to org.eclipse.xsd.ecore.XSDEcoreBuilder.serialize(Element) introduces indentation and line breaks with Java 11.
+ // So we will normalize them away so that the tests don't fail.
+ for (TreeIterator<EObject> eAllContents = ePackage.eAllContents(); eAllContents.hasNext(); )
+ {
+ EObject eObject = eAllContents.next();
+ if (EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY.isInstance(eObject))
+ {
+ if ("appinfo".equals(eObject.eGet(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY__KEY)))
+ {
+ String value = (String)eObject.eGet(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY__VALUE);
+ eObject.eSet(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY__VALUE, value.replaceAll("[\n\r ]", ""));
+ }
+ }
+ }
+
newResource.getContents().add(ePackage);
}

Back to the top