diff options
author | Ed Merks | 2020-08-17 07:34:49 +0000 |
---|---|---|
committer | Ed Merks | 2020-08-17 07:34:49 +0000 |
commit | 09496f3d1afb01acfacfa692b10b6ab883c44ef9 (patch) | |
tree | c451eef20904192aaefe781d6af0d82f4c8d4a55 | |
parent | ce46bd1eedac0ed9a28baa4f0c1bd5650474d77f (diff) | |
download | org.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.java | 19 |
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); } |