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/03/08 00:18:10 UTC

svn commit: r515841 - in /incubator/tuscany/java/sdo/impl/src: main/java/org/apache/tuscany/sdo/util/ main/java/org/apache/tuscany/sdo/util/resource/ test/java/org/apache/tuscany/sdo/test/ test/resources/

Author: frankb
Date: Wed Mar  7 15:18:09 2007
New Revision: 515841

URL: http://svn.apache.org/viewvc?view=rev&rev=515841
Log:
URIConverter fix for TUSCANY-1065

Added:
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java
    incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java
    incubator/tuscany/java/sdo/impl/src/test/resources/quoteInSOAP.xml
Modified:
    incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java

Modified: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java?view=diff&rev=515841&r1=515840&r2=515841
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java (original)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java Wed Mar  7 15:18:09 2007
@@ -40,6 +40,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;
@@ -2469,6 +2470,7 @@
   protected static void configureResourceSet(ResourceSet resourceSet)
   {
     resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().putAll(getRegistrations());
+    resourceSet.setURIConverter(new SDOURIConverterImpl());
   }
   
   public static EClass createDocumentRoot()

Added: incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java?view=auto&rev=515841
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java (added)
+++ incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/resource/SDOURIConverterImpl.java Wed Mar  7 15:18:09 2007
@@ -0,0 +1,47 @@
+/**
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.tuscany.sdo.util.resource;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import org.eclipse.emf.common.util.URI;
+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 {
+        throw new Resource.IOWrappedException(
+            new RuntimeException("Reading remote URL not supported."));
+    }
+    
+    /**
+     * Disable going out to the wire.
+     */
+    protected OutputStream createURLOutputStream(URI uri) throws IOException {
+        throw new Resource.IOWrappedException(
+            new RuntimeException("Writing remote URL not supported."));
+    }
+}

Added: incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java?view=auto&rev=515841
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java (added)
+++ incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java Wed Mar  7 15:18:09 2007
@@ -0,0 +1,108 @@
+/**
+ *
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.tuscany.sdo.test;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.net.URL;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sdo.util.SDOUtil;
+
+import commonj.sdo.DataObject;
+import commonj.sdo.helper.HelperContext;
+import commonj.sdo.helper.TypeHelper;
+import commonj.sdo.helper.XMLDocument;
+import commonj.sdo.helper.XMLHelper;
+
+
+public class DeserializationNoSchemaTestCase extends TestCase
+{
+  HelperContext hc;
+
+  TypeHelper th;
+
+  public void testLoadQuoteXMLDoc() throws IOException
+  {
+    XMLHelper xmlHelper = hc.getXMLHelper();
+    URL url = getClass().getResource("/quote.xml");
+    InputStream inputStream = url.openStream();
+    XMLDocument doc = xmlHelper.load(inputStream);
+    DataObject root = doc.getRootObject();
+
+    List symbols = root.getList("symbol");
+    DataObject symbol = (DataObject)symbols.get(0);
+
+    String seqValue = (String)symbol.getSequence().getValue(0);
+    assertEquals(seqValue, "fbnt");
+
+    //String symbol = root.getString("symbol");
+    //System.out.println("symbol: " + symbol);
+  }
+
+  public void testAnyTypeContainer() throws Exception
+  {
+    HelperContext hc = SDOUtil.createHelperContext();
+
+    URL url = getClass().getResource("/simple.xsd");
+    InputStream inputStream = url.openStream();
+    hc.getXSDHelper().define(inputStream, url.toString());
+
+    XMLHelper xmlHelper = hc.getXMLHelper();
+    url = getClass().getResource("/quoteInSOAP.xml");
+    inputStream = url.openStream();
+    XMLDocument doc = xmlHelper.load(inputStream);
+    DataObject root = doc.getRootObject();
+    DataObject body = (DataObject)root.getList("Body").get(0);
+    DataObject stockQuote = (DataObject)body.getList("stockQuote").get(0);
+
+    //xmlHelper.save(stockQuote, stockQuote.getType().getURI(), "stockQuote", System.out);
+
+    ByteArrayOutputStream bos = new ByteArrayOutputStream();
+    ObjectOutputStream oos = SDOUtil.createObjectOutputStream(bos, hc);
+    oos.writeObject(stockQuote);
+    oos.close();
+    bos.close();
+
+    ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
+    ObjectInputStream ois = SDOUtil.createObjectInputStream(bis, hc);
+    DataObject objectCopy = (DataObject)ois.readObject();
+    ois.close();
+    bis.close();
+    
+    assertEquals(objectCopy.getString("symbol"), "fbnt");
+    
+    //xmlHelper.save(objectCopy, stockQuote.getType().getURI(), "stockQuote", System.out);
+  }
+
+  protected void setUp() throws Exception
+  {
+    super.setUp();
+
+    hc = SDOUtil.createHelperContext();
+    th = hc.getTypeHelper();
+  }
+}

Added: incubator/tuscany/java/sdo/impl/src/test/resources/quoteInSOAP.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/resources/quoteInSOAP.xml?view=auto&rev=515841
==============================================================================
--- incubator/tuscany/java/sdo/impl/src/test/resources/quoteInSOAP.xml (added)
+++ incubator/tuscany/java/sdo/impl/src/test/resources/quoteInSOAP.xml Wed Mar  7 15:18:09 2007
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:simple="http://www.example.com/simple">
+    <soapenv:Header/>
+    <soapenv:Body>
+        <simple:stockQuote>
+          <symbol>fbnt</symbol>
+          <companyName>FlyByNightTechnology</companyName>
+          <price>1000.0</price>
+          <open1>1000.0</open1>
+          <high>1000.0</high>
+          <low>1000.0</low>
+          <volume>1000.0</volume>
+          <change1>1000.0</change1>
+          <quotes>
+            <price>2000.0</price>
+          </quotes>
+        </simple:stockQuote>
+    </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file



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