[567999] Fix EStringToStringMapEntryImpl references in org.eclipse.emf.ecore.xml

https://bugs.eclipse.org/bugs/show_bug.cgi?id=567999

Signed-off-by: Sebastien Revol <sebastien.revol@cea.fr>
Signed-off-by: Eike Stepper <stepper@esc-net.de>
diff --git a/plugins/org.eclipse.emf.cdo.ecore/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.ecore/META-INF/MANIFEST.MF
index 5427a7a..6e9f6d7 100644
--- a/plugins/org.eclipse.emf.cdo.ecore/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.ecore/META-INF/MANIFEST.MF
@@ -2,11 +2,13 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.emf.cdo.ecore;singleton:=true
-Bundle-Version: 1.1.1.qualifier
+Bundle-Version: 1.1.2.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)";visibility:=reexport,
  org.eclipse.emf.cdo;bundle-version="[4.6.0,5.0.0)";visibility:=reexport
-Export-Package: org.eclipse.emf.cdo.ecore.impl;version="1.1.1"
+Export-Package: org.eclipse.emf.cdo.ecore.impl;version="1.1.2",
+ org.eclipse.emf.cdo.ecore.xml.namespace.impl;version="1.1.2",
+ org.eclipse.emf.cdo.ecore.xml.type.impl;version="1.1.2"
 Bundle-Vendor: %providerName
 Automatic-Module-Name: org.eclipse.emf.cdo.ecore
 Bundle-ClassPath: .
diff --git a/plugins/org.eclipse.emf.cdo.ecore/plugin.xml b/plugins/org.eclipse.emf.cdo.ecore/plugin.xml
index 0768a1a..c73e9d8 100644
--- a/plugins/org.eclipse.emf.cdo.ecore/plugin.xml
+++ b/plugins/org.eclipse.emf.cdo.ecore/plugin.xml
@@ -17,6 +17,12 @@
     <factory
       uri="http://www.eclipse.org/emf/2002/Ecore"
       class="org.eclipse.emf.cdo.ecore.impl.CDOEcoreFactoryImpl" />
-  </extension>
+    <factory
+      uri="http://www.eclipse.org/emf/2003/XMLType"
+      class="org.eclipse.emf.cdo.ecore.xml.type.impl.CDOXMLTypeFactoryImpl" />
+    <factory
+      uri="http://www.w3.org/XML/1998/namespace"
+      class="org.eclipse.emf.cdo.ecore.xml.namespace.impl.CDOXMLNamespaceFactoryImpl" />
+  </extension> 
 
 </plugin>
diff --git a/plugins/org.eclipse.emf.cdo.ecore/pom.xml b/plugins/org.eclipse.emf.cdo.ecore/pom.xml
index 2cf3167..22bc45d 100644
--- a/plugins/org.eclipse.emf.cdo.ecore/pom.xml
+++ b/plugins/org.eclipse.emf.cdo.ecore/pom.xml
@@ -25,7 +25,7 @@
 
   <groupId>org.eclipse.emf.cdo</groupId>
   <artifactId>org.eclipse.emf.cdo.ecore</artifactId>
-  <version>1.1.1-SNAPSHOT</version>
+  <version>1.1.2-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 
 </project>
diff --git a/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/namespace/impl/CDOXMLNamespaceFactoryImpl.java b/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/namespace/impl/CDOXMLNamespaceFactoryImpl.java
new file mode 100644
index 0000000..1bc0159
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/namespace/impl/CDOXMLNamespaceFactoryImpl.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2020 Eike Stepper (Loehne, Germany) and others.
+ * 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:
+ *   Sebastien REVOL (CEA LIST) sebastien.revol@cea.fr - Initial API and implementation
+ */
+package org.eclipse.emf.cdo.ecore.xml.namespace.impl;
+
+import org.eclipse.emf.ecore.xml.namespace.XMLNamespaceDocumentRoot;
+
+/**
+ * @author Sebastien Revol
+ */
+public class CDOXMLNamespaceFactoryImpl extends org.eclipse.emf.ecore.xml.namespace.impl.XMLNamespaceFactoryImpl
+{
+  public CDOXMLNamespaceFactoryImpl()
+  {
+  }
+
+  @Override
+  public XMLNamespaceDocumentRoot createXMLNamespaceDocumentRoot()
+  {
+    return new XMLNamespaceDocumentRootImpl();
+  }
+}
diff --git a/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/namespace/impl/XMLNamespaceDocumentRootImpl.java b/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/namespace/impl/XMLNamespaceDocumentRootImpl.java
new file mode 100644
index 0000000..99599d3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/namespace/impl/XMLNamespaceDocumentRootImpl.java
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2020 Eike Stepper (Loehne, Germany) and others.
+ * 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:
+ *   Sebastien REVOL (CEA LIST) sebastien.revol@cea.fr - Initial API and implementation
+ */
+package org.eclipse.emf.cdo.ecore.xml.namespace.impl;
+
+import org.eclipse.emf.cdo.ecore.impl.EStringToStringMapEntryImpl;
+
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.xml.namespace.XMLNamespacePackage;
+
+/**
+ * @author Sebastien Revol
+ */
+public class XMLNamespaceDocumentRootImpl extends org.eclipse.emf.ecore.xml.namespace.impl.XMLNamespaceDocumentRootImpl
+{
+  @Override
+  public EMap<String, String> getXMLNSPrefixMap()
+  {
+    if (xMLNSPrefixMap == null)
+    {
+      // The super class implementation would pass EMF's EStringToStringMapEntryImpl,
+      // but that's not compatible with CDO's replacement. So pass in CDO's version of it.
+      xMLNSPrefixMap = new EcoreEMap<>(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY, EStringToStringMapEntryImpl.class, this,
+          XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+    }
+
+    return xMLNSPrefixMap;
+  }
+
+  @Override
+  public EMap<String, String> getXSISchemaLocation()
+  {
+    if (xSISchemaLocation == null)
+    {
+      // The super class implementation would pass EMF's EStringToStringMapEntryImpl,
+      // but that's not compatible with CDO's replacement. So pass in CDO's version of it.
+      xSISchemaLocation = new EcoreEMap<>(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY, EStringToStringMapEntryImpl.class, this,
+          XMLNamespacePackage.XML_NAMESPACE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+    }
+
+    return xSISchemaLocation;
+  }
+}
diff --git a/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/type/impl/CDOXMLTypeFactoryImpl.java b/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/type/impl/CDOXMLTypeFactoryImpl.java
new file mode 100644
index 0000000..6b532c7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/type/impl/CDOXMLTypeFactoryImpl.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2020 Eike Stepper (Loehne, Germany) and others.
+ * 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:
+ *   Sebastien REVOL (CEA LIST) sebastien.revol@cea.fr - Initial API and implementation
+ */
+package org.eclipse.emf.cdo.ecore.xml.type.impl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypeDocumentRoot;
+
+/**
+ * @author Sebastien Revol
+ */
+public class CDOXMLTypeFactoryImpl extends org.eclipse.emf.ecore.xml.type.impl.XMLTypeFactoryImpl
+{
+  public CDOXMLTypeFactoryImpl()
+  {
+  }
+
+  @Override
+  public XMLTypeDocumentRoot createXMLTypeDocumentRoot()
+  {
+    return new XMLTypeDocumentRootImpl();
+  }
+}
diff --git a/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/type/impl/XMLTypeDocumentRootImpl.java b/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/type/impl/XMLTypeDocumentRootImpl.java
new file mode 100644
index 0000000..4595358
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.ecore/src/org/eclipse/emf/cdo/ecore/xml/type/impl/XMLTypeDocumentRootImpl.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2020 Eike Stepper (Loehne, Germany) and others.
+ * 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:
+ *   Sebastien REVOL (CEA LIST) sebastien.revol@cea.fr - Initial API and implementation
+ */
+package org.eclipse.emf.cdo.ecore.xml.type.impl;
+
+import org.eclipse.emf.cdo.ecore.impl.EStringToStringMapEntryImpl;
+
+import org.eclipse.emf.common.util.EMap;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+/**
+ * @author Sebastien Revol
+ */
+public class XMLTypeDocumentRootImpl extends org.eclipse.emf.ecore.xml.type.impl.XMLTypeDocumentRootImpl
+{
+  public XMLTypeDocumentRootImpl()
+  {
+  }
+
+  @Override
+  public EMap<String, String> getXMLNSPrefixMap()
+  {
+    if (xMLNSPrefixMap == null)
+    {
+      // The super class implementation would pass EMF's EStringToStringMapEntryImpl,
+      // but that's not compatible with CDO's replacement. So pass in CDO's version of it.
+      xMLNSPrefixMap = new EcoreEMap<>(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY, EStringToStringMapEntryImpl.class, this,
+          XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+    }
+
+    return xMLNSPrefixMap;
+  }
+
+  @Override
+  public EMap<String, String> getXSISchemaLocation()
+  {
+    if (xSISchemaLocation == null)
+    {
+      // The super class implementation would pass EMF's EStringToStringMapEntryImpl,
+      // but that's not compatible with CDO's replacement. So pass in CDO's version of it.
+      xSISchemaLocation = new EcoreEMap<>(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY, EStringToStringMapEntryImpl.class, this,
+          XMLTypePackage.XML_TYPE_DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+    }
+
+    return xSISchemaLocation;
+  }
+}