Bugzilla 83338
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/ProjectResourceSetImpl.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/ProjectResourceSetImpl.java
index 14b6249..a748816 100644
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/ProjectResourceSetImpl.java
+++ b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/internal/util/emf/workbench/ProjectResourceSetImpl.java
@@ -10,12 +10,16 @@
*******************************************************************************/
/*
* $$RCSfile: ProjectResourceSetImpl.java,v $$
- * $$Revision: 1.1 $$ $$Date: 2005/01/07 20:19:23 $$
+ * $$Revision: 1.2 $$ $$Date: 2005/01/26 14:46:54 $$
*/
package org.eclipse.jem.internal.util.emf.workbench;
import java.io.IOException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
import org.eclipse.core.resources.IProject;
import org.eclipse.emf.common.util.URI;
@@ -24,8 +28,11 @@
import org.eclipse.emf.ecore.resource.Resource.Factory.Registry;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-
-import org.eclipse.jem.util.emf.workbench.*;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.jem.util.emf.workbench.ProjectResourceSet;
+import org.eclipse.jem.util.emf.workbench.ResourceHandler;
+import org.eclipse.jem.util.emf.workbench.ResourceSetWorkbenchSynchronizer;
+import org.eclipse.jem.util.emf.workbench.nature.EMFNature;
import org.eclipse.jem.util.logger.proxy.Logger;
import org.eclipse.jem.util.plugin.JEMUtilPlugin;
@@ -35,7 +42,9 @@
protected List resourceHandlers = new ArrayList();
protected ResourceSetWorkbenchSynchronizer synchronizer;
protected ProjectResourceSetImpl() {
- setURIResourceMap(new HashMap(10)); // Tell it to cache uri->resource access.
+ HashMap resourceMap = new HashMap(10);
+ resourceMap.put(XMLResource.OPTION_USE_PARSER_POOL, EMFNature.SHARED_RESOURCE);
+ setURIResourceMap(resourceMap); // Tell it to cache uri->resource access.
}
public ProjectResourceSetImpl(IProject aProject) {
this();
diff --git a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/nature/EMFNature.java b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/nature/EMFNature.java
index b2fa001..2daf712 100644
--- a/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/nature/EMFNature.java
+++ b/plugins/org.eclipse.jem.util/jemutil/org/eclipse/jem/util/emf/workbench/nature/EMFNature.java
@@ -10,7 +10,7 @@
*******************************************************************************/
/*
* $$RCSfile: EMFNature.java,v $$
- * $$Revision: 1.1 $$ $$Date: 2005/01/07 20:19:23 $$
+ * $$Revision: 1.2 $$ $$Date: 2005/01/26 14:46:54 $$
*/
package org.eclipse.jem.util.emf.workbench.nature;
@@ -21,6 +21,8 @@
import org.eclipse.emf.common.util.*;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
import org.eclipse.jem.internal.util.emf.workbench.nature.EMFNatureRegistry;
import org.eclipse.jem.util.emf.workbench.*;
@@ -42,6 +44,8 @@
protected EMFWorkbenchContextBase emfContext;
protected boolean hasConfigured = false;
+
+ public static XMLResource SHARED_RESOURCE = new XMLResourceImpl();
public EMFNature() {
super();
diff --git a/plugins/org.eclipse.jem.util/plugin.xml b/plugins/org.eclipse.jem.util/plugin.xml
index 1583de9..0eef4ea 100644
--- a/plugins/org.eclipse.jem.util/plugin.xml
+++ b/plugins/org.eclipse.jem.util/plugin.xml
@@ -16,6 +16,7 @@
<import plugin="org.eclipse.core.runtime"/>
<import plugin="org.eclipse.core.resources"/>
<import plugin="org.eclipse.emf.ecore"/>
+ <import plugin="org.eclipse.emf.ecore.xmi"/>
<import plugin="org.eclipse.jdt.core" optional="true"/>
<import plugin="org.eclipse.perfmsr.core" optional="true"/>
</requires>