You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by ke...@apache.org on 2007/04/11 12:16:06 UTC
svn commit: r527443 - in
/incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper:
HelperContextImpl.java HelperProviderImpl.java
Author: kelvingoodson
Date: Wed Apr 11 03:16:00 2007
New Revision: 527443
URL: http://svn.apache.org/viewvc?view=rev&rev=527443
Log:
Port fix for TUSCANY-1200 to M3 tag
Modified:
incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java
incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java
Modified: incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java?view=diff&rev=527443&r1=527442&r2=527443
==============================================================================
--- incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java (original)
+++ incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperContextImpl.java Wed Apr 11 03:16:00 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/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java?view=diff&rev=527443&r1=527442&r2=527443
==============================================================================
--- incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java (original)
+++ incubator/tuscany/tags/java/sdo/1.0-incubator-M3/sdo/impl/src/main/java/org/apache/tuscany/sdo/helper/HelperProviderImpl.java Wed Apr 11 03:16:00 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();
@@ -199,7 +201,15 @@
// Root object: [rootXML] = length + XML contents
int length = objectInput.readInt();
byte[] compressedBytes = new byte [length];
- objectInput.read(compressedBytes, 0, length);
+
+ int index = 0;
+ int bytesRead;
+ while (index < length) {
+ if ((bytesRead = objectInput.read(compressedBytes, index, length-index)) == -1) {
+ break;
+ }
+ index += bytesRead;
+ }
GZIPInputStream gzipInputStream = new GZIPInputStream(new ByteArrayInputStream(compressedBytes));
XMLHelper xmlHelperLocal = xmlHelper;
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org