Author: antelder
Date: Mon Apr 21 03:41:57 2008
New Revision: 650091
URL: http://svn.apache.org/viewvc?rev=650091&view=rev
Log:
TUSCANY-2240: Merge fix from trunk to fix Creation of SDO object out of XML
(read from an JMS message) is taking too long
Modified:
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelperImpl.java
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java
Modified:
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelperImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelperImpl.java?rev=650091&r1=650090&r2=650091&view=diff
==============================================================================
---
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelperImpl.java
(original)
+++
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/helper/XMLStreamHelperImpl.java
Mon Apr 21 03:41:57 2008
@@ -19,11 +19,8 @@
*/
package org.apache.tuscany.sdo.helper;
-import java.io.IOException;
-import java.util.Iterator;
import java.util.Map;
-import java.util.Set;
-import javax.xml.namespace.QName;
+
import javax.xml.stream.XMLStreamConstants;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
@@ -32,7 +29,6 @@
import org.apache.tuscany.sdo.util.resource.DataObjectXMLStreamReader;
import org.apache.tuscany.sdo.util.resource.XMLDocumentStreamReader;
import org.apache.tuscany.sdo.util.resource.XMLStreamSerializer;
-//import org.apache.tuscany.sdo.api.XMLStreamHelper;
import org.eclipse.emf.ecore.resource.Resource;
import commonj.sdo.DataObject;
@@ -114,6 +110,9 @@
}
public XMLStreamReader createXMLStreamReader(DataObject dataObject) {
+ if (dataObject == null) {
+ return null;
+ }
String rootElementURI;
String rootElementName;
Modified:
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java?rev=650091&r1=650090&r2=650091&view=diff
==============================================================================
---
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
(original)
+++
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
Mon Apr 21 03:41:57 2008
@@ -44,6 +44,7 @@
import org.apache.tuscany.sdo.impl.DataGraphImpl;
import org.apache.tuscany.sdo.model.ModelFactory;
import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
+import org.apache.tuscany.sdo.util.resource.SDOURIConverterImpl;
import org.apache.tuscany.sdo.util.resource.SDOXMLResourceFactoryImpl;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.URI;
@@ -2591,7 +2592,7 @@
{
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().putAll(getRegistrations());
resourceSet.setPackageRegistry(new
EPackageRegistryImpl(HelperContextImpl.getBuiltInModelRegistry()));
-// resourceSet.setURIConverter(new SDOURIConverterImpl());
+ resourceSet.setURIConverter(new SDOURIConverterImpl());
}
public static EClass createDocumentRoot()
Modified:
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java?rev=650091&r1=650090&r2=650091&view=diff
==============================================================================
---
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java
(original)
+++
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/resource/DataObjectXMLStreamReader.java
Mon Apr 21 03:41:57 2008
@@ -273,6 +273,9 @@
List elementList = new ArrayList();
List attributeList = new ArrayList();
+ if (dataObject == null) {
+ return;
+ }
Type type = dataObject.getType();
// Add xsi:type if rootElement doesn't exist or the type is different
Modified:
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java?rev=650091&r1=650090&r2=650091&view=diff
==============================================================================
---
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java
(original)
+++
incubator/tuscany/branches/sdo-1.1.1-incubating/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java
Mon Apr 21 03:41:57 2008
@@ -27,29 +27,34 @@
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.impl.URIConverterImpl;
-public class SDOURIConverterImpl extends URIConverterImpl
-{
- /**
- * Disable going out to the wire.
- */
- protected InputStream createURLInputStream(URI uri) throws IOException {
- String scheme = uri.scheme();
- if ("http".equalsIgnoreCase(scheme) || "https".equalsIgnoreCase(scheme))
{
- throw new Resource.IOWrappedException(
- new RuntimeException("Reading remote URL not supported."));
- }
- return super.createURLInputStream(uri);
- }
-
- /**
- * Disable going out to the wire.
- */
- protected OutputStream createURLOutputStream(URI uri) throws IOException {
- String scheme = uri.scheme();
- if ("http".equalsIgnoreCase(scheme) || "https".equalsIgnoreCase(scheme))
{
- throw new Resource.IOWrappedException(
- new RuntimeException("Writing remote URL not supported."));
- }
- return super.createURLOutputStream(uri);
- }
+public class SDOURIConverterImpl extends URIConverterImpl {
+ /**
+ * Disable going out to the wire.
+ */
+ protected InputStream createURLInputStream(URI uri) throws IOException {
+ String scheme = uri.scheme();
+ if ("http".equals(scheme) || "https".equals(scheme)) {
+ // TUSCANY 2240: We need to compromise if the remote loading is
allowed or not
+ String ext = uri.fileExtension();
+ if (!"wsdl".equalsIgnoreCase(ext) && !"xsd".equalsIgnoreCase(ext))
{
+ throw new Resource.IOWrappedException(new
RuntimeException("Reading remote URL not supported: " + uri));
+ }
+ }
+ return super.createURLInputStream(uri);
+ }
+
+ /**
+ * Disable going out to the wire.
+ */
+ protected OutputStream createURLOutputStream(URI uri) throws IOException {
+ String scheme = uri.scheme();
+ if ("http".equals(scheme) || "https".equals(scheme)) {
+ // TUSCANY 2240: We need to compromise if the remote loading is
allowed or not
+ String ext = uri.fileExtension();
+ if (!"wsdl".equalsIgnoreCase(ext) && !"xsd".equalsIgnoreCase(ext))
{
+ throw new Resource.IOWrappedException(new
RuntimeException("Reading remote URL not supported: " + uri));
+ }
+ }
+ return super.createURLOutputStream(uri);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]