You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by fr...@apache.org on 2007/04/03 23:40:55 UTC

svn commit: r525291 - in /incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper: HelperContextImpl.java HelperProviderImpl.java

Author: frankb
Date: Tue Apr  3 14:40:54 2007
New Revision: 525291

URL: http://svn.apache.org/viewvc?view=rev&rev=525291
Log:
Fix for TUSCANY-1200

Modified:
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java?view=diff&rev=525291&r1=525290&r2=525291
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java Tue Apr  3 14:40:54 2007
@@ -20,6 +20,8 @@
 
 package org.apache.tuscany.sdo.helper;
 
+import java.util.Iterator;
+
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
 import org.eclipse.emf.ecore.util.ExtendedMetaData;
@@ -48,9 +50,23 @@
     }
 
     public HelperContextImpl(boolean extensibleNamespaces) {
-        this(new SDOExtendedMetaDataImpl(new EPackageRegistryImpl(EPackage.Registry.INSTANCE)), extensibleNamespaces);
+        this(new SDOExtendedMetaDataImpl(new EPackageRegistryImpl(getBuiltInModelRegistry())), extensibleNamespaces);
     }
-
+    
+    static protected EPackage.Registry builtInModelRegistry = null;
+    static protected EPackage.Registry getBuiltInModelRegistry()
+    {
+      if (builtInModelRegistry == null) {
+        builtInModelRegistry = new EPackageRegistryImpl();
+        for (Iterator iter = TypeHelperImpl.getBuiltInModels().iterator(); iter.hasNext(); )
+        {
+          EPackage ePackage = (EPackage)iter.next();
+          builtInModelRegistry.put(ePackage.getNsURI(), ePackage);
+        }
+      }
+      return builtInModelRegistry;
+    }
+    
 	public CopyHelper getCopyHelper() {
 		return CopyHelper.INSTANCE;
 	}

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java?view=diff&rev=525291&r1=525290&r2=525291
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java Tue Apr  3 14:40:54 2007
@@ -31,7 +31,6 @@
 import java.util.zip.GZIPOutputStream;
 
 import org.apache.tuscany.sdo.util.DataObjectUtil;
-import org.apache.tuscany.sdo.util.SDOUtil;
 import org.apache.tuscany.sdo.util.resource.SDOObjectInputStream;
 
 import commonj.sdo.DataGraph;
@@ -70,7 +69,10 @@
 
   public HelperProviderImpl()
   {
-    HelperContext hc = SDOUtil.createHelperContext();
+    //FB HelperContext hc = SDOUtil.createHelperContext();
+    //FB The defulat HelperContext must use EMF's ClassLoader-delegating EPackage.Registry.INSTANCE, until we provide
+    //FB another way to get (ClassLoader scope) support for HelperContext.
+    HelperContext hc = new HelperContextImpl(new SDOExtendedMetaDataImpl(), false);
     typeHelper = hc.getTypeHelper();
     dataFactory = hc.getDataFactory();
     xmlHelper = hc.getXMLHelper();



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org