summaryrefslogtreecommitdiffstats
path: root/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDHelperTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDHelperTest.java')
-rw-r--r--java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDHelperTest.java239
1 files changed, 0 insertions, 239 deletions
diff --git a/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDHelperTest.java b/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDHelperTest.java
deleted file mode 100644
index 1705f00e8a..0000000000
--- a/java/sdo-cts/sdo2.1/src/main/java/test/sdo21/tests/general/XSDHelperTest.java
+++ /dev/null
@@ -1,239 +0,0 @@
-/**
- * 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.
- *
- * $Rev$ $Date$
- */
-package test.sdo21.tests.general;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.IOException;
-import java.io.Reader;
-import java.net.URL;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Vector;
-
-//import org.junit.Before;
-import javax.xml.namespace.QName;
-import javax.xml.transform.stream.StreamSource;
-
-import org.apache.ws.commons.schema.XmlSchema;
-import org.apache.ws.commons.schema.XmlSchemaCollection;
-import org.apache.ws.commons.schema.XmlSchemaComplexType;
-import org.apache.ws.commons.schema.XmlSchemaObject;
-import org.apache.ws.commons.schema.XmlSchemaObjectTable;
-import org.apache.ws.commons.schema.XmlSchemaType;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-import org.junit.Ignore;
-
-import test.sdo21.CTSSuite;
-import test.sdo21.framework.CTSTestCase;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * Tests XSD serialization/deserialization.<p/>
- * This tests requires extension by import or creation of further tests.
- * It currently only tests one flavour of {@link XSDHelper#define(java.io.InputStream, String)} and {@link XSDHelper#generate(List)})
- *
- * @see <a href="http://osoa.org/download/attachments/36/Java-SDO-Spec-v2.1.0-FINAL.pdf?version=1#page=52">2.1 spec section 3.13</a>
- * @see <a href="http://osoa.org/download/attachments/36/Java-SDO-Spec-v2.1.0-FINAL.pdf?version=1#page=56">2.1 spec section 4</a>
- *
- */
-public class XSDHelperTest extends CTSTestCase {
- private static final String TEST_MODEL = "/simple.xsd";
- private XmlSchemaCollection col = new XmlSchemaCollection();
- private static URL modelURL;
-
- /**
- * Obtains test model resource. Runs once before any of the test methods.
- */
- @BeforeClass
- public static void obtainResource() {
- modelURL = XSDHelperTest.class.getResource(TEST_MODEL);
- }
-
- @Before public void setUp() throws Exception
- {
- super.setUp();
- }
-
- @After
- public void tearDown() throws Exception {
- super.tearDown();
- }
-
- /**
- * Verifies the performance of XSDHelper.define() when a SchemaLocation is provided.
- * @see <a href="http://osoa.org/download/attachments/36/Java-SDO-Spec-v2.1.0-FINAL.pdf?version=1#page=52">2.1 spec section 3.13</a>
- * @see commonj.sdo.XSDHelper#define(InputStream, String)
- */
- @Test
- public void testDefineWithLocation() {
- try {
-
- XSDHelper xsdHelper = getScope().getXSDHelper();
- List types = xsdHelper.define(modelURL.openStream(), modelURL.toString());
- checkTypes(modelURL, getScope().getTypeHelper(), types);
- } catch (Exception e) {
- fail("Exception calling xsdHelper.define" + e.toString());
- }
- }
-
-
- /**
- * Utility method to ensure that the set of types in the list includes all those explicity
- * defined in the schema<p>
- * Checking xsd type definition post condition ---<br/>
- * <i>for all t in schemaTypes there exists a t' in types such that QName(t) == QName(t')</i>
- * @param modelUrl location of the schema related to the set of types
- * @param typeHelper associated with the scope for the types in the list
- * @param types
- */
- private void checkTypes(URL modelUrl, TypeHelper typeHelper, List types) {
- try {
- XmlSchema schema = col.read(new StreamSource(modelUrl.openStream()), null);
- XmlSchemaObjectTable schemaTypes = schema.getSchemaTypes();
-
- Iterator<XmlSchemaType> it = schemaTypes.getValues();
- XmlSchemaType schemaType;
- while (it.hasNext()){
- schemaType = it.next();
- QName qname = schemaType.getQName();
- Type sdoType = typeHelper.getType(qname.getNamespaceURI(), qname.getLocalPart());
- assertNotNull("Type not known to SDO environment: "+ qname, sdoType);
- assertTrue("Sdo type not created from this invocation of type definition", types.contains(sdoType));
- }
- } catch (IOException e) {
-
- fail("Exception parsing schema" + e);
- }
- }
-
- /**
- * Verifies the performance of XSDHelper.define() when a SchemaLocation is not provided.
- * @see <a href="http://osoa.org/download/attachments/36/Java-SDO-Spec-v2.1.0-FINAL.pdf?version=1#page=52">2.1 spec section 3.13</a>
- * @see commonj.sdo.XSDHelper#define(InputStream, String)
- */
- @Test
- public void testDefineWithNoLocation() {
- try {
- XSDHelper xsdHelper = getScope().getXSDHelper();
- List types = xsdHelper.define(XSDHelperTest.class.getResourceAsStream(TEST_MODEL), null);
- checkTypes(modelURL, getScope().getTypeHelper(), types);
- //assertEquals("XSDHelper.define() did not create the expected number of Types", 2, types.size());
-
- } catch (Exception e) {
- e.printStackTrace();
- fail("Exception caught" + e.toString());
- }
- }
-
- /**
- * Verifies that duplicate Types are not redefined.
- * @see <a href="http://osoa.org/download/attachments/36/Java-SDO-Spec-v2.1.0-FINAL.pdf?version=1#page=52">2.1 spec section 3.13</a>
- * @see commonj.sdo.XSDHelper#define(InputStream, String)
- */
- @Test
- public void testDuplicateDefineWithLocation() {
- try {
- XSDHelper xsdHelper = getScope().getXSDHelper();
- List types = xsdHelper.define(modelURL.openStream(), modelURL.toString());
- assertTrue("XSDHelper.define() did not create the expected number of Types", types.size() > 0);
- // redefine type
- List duplicateTypes = xsdHelper.define(modelURL.openStream(), modelURL.toString());
- assertEquals("XSDHelper.define() did not create the expected number of Types", 0, duplicateTypes.size());
-
- } catch (Exception e) {
- e.printStackTrace();
- fail("Exception caught" + e.toString());
- }
- }
-
- /**
- * Verifies the performance of XSDHelper.generate for dynamic SDOs with no XSD model.<p/>
- * Could improve this by postconditions on generated schema.
- * @see commonj.sdo.XSDHelper#generate(InputStream, String)
- * @see <a href="http://osoa.org/download/attachments/36/Java-SDO-Spec-v2.1.0-FINAL.pdf?version=1#page=53">2.1 spec section 3.13.2</a>
- * @see <a href="http://osoa.org/download/attachments/36/Java-SDO-Spec-v2.1.0-FINAL.pdf?version=1#page=56">2.1 spec section 4</a>
- */
- @Test
- public void testXSDGeneration_DynamicSDOType() {
- try {
- boolean exceptionCaught = false;
-
- // test for dynamic SDOs that have no XSD model. Here the testcase
- // succeeds only if the
- // xsd is generated by XSDHelper in which case xsd must not be null
- XSDHelper xsdHelper = getScope().getXSDHelper();
- DataObject quoteType = getScope().getDataFactory().create("commonj.sdo", "Type");
- quoteType.set("uri", "http://www.example.com/dynamic");
- quoteType.set("name", "DynamicQuote");
-
- TypeHelper th = getScope().getTypeHelper();
- DataObject aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "symbol");
- aProperty.set("type", th.getType("commonj.sdo", "String"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "price");
- aProperty.set("type", th.getType("commonj.sdo", "Decimal"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "volume");
- aProperty.set("type", th.getType("commonj.sdo", "Double"));
-
- th.define(quoteType);
-
- Type dynamicQuoteType = th.getType("http://www.example.com/dynamic", "DynamicQuote");
-
- Vector types = new Vector();
- types.add(dynamicQuoteType);
- String xsd = null;
-
- try {
- xsd = xsdHelper.generate(types);
- assertNotNull("XSDHelper.generate() did not complete as expected for dynamic SDOs with no XSD model. Exception was thrown",
- xsd);
- } catch (IllegalArgumentException e) {
- fail("XSDHelper.generate() did not complete as expected for dynamic SDOs with no XSD model. Exception was thrown : " + e
- .toString());
- } catch (Exception e) {
- fail("Exception caught when generating a schema");
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- fail("Exception caught" + e.toString());
- }
- }
-
-}