summaryrefslogtreecommitdiffstats
path: root/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-10 19:19:15 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-10 19:19:15 +0000
commitc993ba575bdd1530b7bbc0c6a19c32e66fce4b89 (patch)
tree94cfba65fe887c9017ea73727966d673e51d1ab7 /branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany
parentdc741421e88c3e4210b00f39877159c5117b99d3 (diff)
moving SDO branches
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@834612 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany')
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/AllTests.java41
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/AllTests.java47
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar1.java26
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar2.java26
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java167
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Foo.java26
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java129
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockProperty.java94
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java104
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/AllTests.java86
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java112
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryOnDataObjectTestCase.java216
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryPropertyTestCase.java219
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryTestCase.java92
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentCycleTestCase.java866
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentTypeUtil.java86
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/CrossScopeCopyTestCase.java474
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DataGraphTestCase.java270
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DataTypeBaseTypeTestCase.java68
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DateConversionTestCase.java374
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DefineOpenContentPropertyTestCase.java133
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java704
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java124
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DotNameTest.java78
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DynamicTypesComparisonTestCase.java256
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ExpectedExceptionsTestCase.java1878
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/FormTestCase.java112
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/HelperContextTestCase.java75
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/IsManyTestCase.java65
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/JavaSerializeDeserializeTestCase.java297
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/JiraTestCases.java184
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/MetadataInstancePropertiesTestCase.java220
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/MixedTypeTestCase.java89
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/NeverStaleChangeSummaryTestCase.java76
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/OpenTypeTestCase.java110
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SchemaLocationTestCase.java48
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SequenceTestCase.java100
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SerializeTypesTestCase.java190
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleCopyTestCase.java71
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleDynamicTestCase.java123
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleEqualityTestCase.java63
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java47
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java285
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeConversionTestCase.java892
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeHelperTestCase.java45
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java147
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLDocumentTestCase.java110
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLHelperTestCase.java214
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadOptionsTestCase.java192
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLSaveOptionsTestCase.java147
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperPerformanceTestCase.java91
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java169
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLUnknownPropertiesTestCase.java132
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java125
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java224
-rw-r--r--branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XSDQNameTestCase.java123
56 files changed, 0 insertions, 11462 deletions
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/AllTests.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/AllTests.java
deleted file mode 100644
index 7d91456137..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/AllTests.java
+++ /dev/null
@@ -1,41 +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.
- */
-package org.apache.tuscany.sdo;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-
- public static Test suite() {
-
- TestSuite suite = new TestSuite();
-
- suite.addTest(org.apache.tuscany.sdo.codegen.AllTests.suite());
- suite.addTest(org.apache.tuscany.sdo.test.AllTests.suite());
-
- return suite;
- }
-
-
- public static void main(String[] args) {
- junit.textui.TestRunner.run(suite());
- }
-}
-
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/AllTests.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/AllTests.java
deleted file mode 100644
index d67b53fb7c..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/AllTests.java
+++ /dev/null
@@ -1,47 +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.
- */
-
-package org.apache.tuscany.sdo.codegen;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-public class AllTests {
-
-
- public static TestSuite suite() {
-
- TestSuite suite = new TestSuite();
-
- suite.addTestSuite(BytecodeInterfaceGeneratorTestCase.class);
- suite.addTestSuite(JavaInterfaceGeneratorTestCase.class);
-
-
- return suite;
- }
-
-
- /**
- * Runs the test suite using the textual runner.
- */
- public static void main(String[] args) {
- junit.textui.TestRunner.run(suite());
- }
-}
-
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar1.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar1.java
deleted file mode 100644
index 4a51310cd0..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar1.java
+++ /dev/null
@@ -1,26 +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.
- */
-package org.apache.tuscany.sdo.codegen;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Bar1 {
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar2.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar2.java
deleted file mode 100644
index e9151b9d46..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Bar2.java
+++ /dev/null
@@ -1,26 +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.
- */
-package org.apache.tuscany.sdo.codegen;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Bar2 {
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java
deleted file mode 100644
index 218a725226..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/BytecodeInterfaceGeneratorTestCase.java
+++ /dev/null
@@ -1,167 +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.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import java.lang.reflect.Method;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-/**
- * @version $Rev$ $Date$
- */
-public class BytecodeInterfaceGeneratorTestCase extends TestCase {
- private MockType foo;
- private BytecodeInterfaceGenerator gen;
- private TestClassLoader cl;
-
- public void testHeaderNoBaseClass() {
- gen.visitType(foo);
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals("Foo", c.getName());
- assertTrue(c.isInterface());
- assertEquals(0, c.getInterfaces().length);
- assertEquals(0, c.getMethods().length);
- }
-
- public void testHeaderWithPackage() {
- gen.visitType(new MockType("org.apache.Foo", null));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals("org.apache.Foo", c.getName());
- assertEquals(0, c.getInterfaces().length);
- assertEquals(0, c.getMethods().length);
- }
-
- public void testHeaderOneBaseClass() throws NoJavaImplementationException {
- foo.addBaseType(new MockType("bar1", Bar1.class));
- gen.visitType(foo);
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals("Foo", c.getName());
- assertEquals(1, c.getInterfaces().length);
- assertEquals(Bar1.class, c.getInterfaces()[0]);
- assertEquals(0, c.getMethods().length);
- }
-
- public void testHeaderMultipleBaseClass() throws NoJavaImplementationException {
- foo.addBaseType(new MockType("bar1", Bar1.class));
- foo.addBaseType(new MockType("bar2", Bar2.class));
- gen.visitType(foo);
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals("Foo", c.getName());
- assertEquals(2, c.getInterfaces().length);
- assertEquals(Bar1.class, c.getInterfaces()[0]);
- assertEquals(Bar2.class, c.getInterfaces()[1]);
- assertEquals(0, c.getMethods().length);
- }
-
- public void testBooleanProperty() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("true", Boolean.TYPE, false, false));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(2, c.getMethods().length);
- Method getter = c.getMethod("isTrue", new Class[0]);
- assertEquals(boolean.class, getter.getReturnType());
- Method setter = c.getMethod("setTrue", new Class[] {boolean.class});
- assertEquals(void.class, setter.getReturnType());
- }
-
- public void testByteArrayProperty() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("bytes", byte[].class, false, false));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(2, c.getMethods().length);
- Method getter = c.getMethod("getBytes", new Class[0]);
- assertEquals(byte[].class, getter.getReturnType());
- Method setter = c.getMethod("setBytes", new Class[] {byte[].class});
- assertEquals(void.class, setter.getReturnType());
- }
-
- public void testObjectProperty() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("bar", Bar1.class, false, false));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(2, c.getMethods().length);
- Method getter = c.getMethod("getBar", new Class[0]);
- assertEquals(Bar1.class, getter.getReturnType());
- Method setter = c.getMethod("setBar", new Class[] {Bar1.class});
- assertEquals(void.class, setter.getReturnType());
- }
-
- public void testReadOnlyProperty() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("int", Integer.TYPE, false, true));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(1, c.getMethods().length);
- Method getter = c.getMethod("getInt", new Class[0]);
- assertEquals(int.class, getter.getReturnType());
- }
-
- public void testManyProperty() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("list", Integer.TYPE, true, false));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(1, c.getMethods().length);
- Method getter = c.getMethod("getList", new Class[0]);
- assertEquals(List.class, getter.getReturnType());
- }
-
- public void testTwoProperties() throws NoJavaImplementationException, NoSuchMethodException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("true", Boolean.TYPE, false, false));
- gen.visitProperty(new MockProperty("int", Integer.TYPE, false, false));
- gen.visitEnd();
- Class c = cl.addClass(gen.getClassData());
- assertEquals(4, c.getMethods().length);
- Method getter = c.getMethod("isTrue", new Class[0]);
- assertEquals(boolean.class, getter.getReturnType());
- Method setter = c.getMethod("setTrue", new Class[] {boolean.class});
- assertEquals(void.class, setter.getReturnType());
- getter = c.getMethod("getInt", new Class[0]);
- assertEquals(int.class, getter.getReturnType());
- setter = c.getMethod("setInt", new Class[] {int.class});
- assertEquals(void.class, setter.getReturnType());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- foo = new MockType("foo", null);
- gen = new BytecodeInterfaceGenerator();
- cl = new TestClassLoader();
- }
-
- private class TestClassLoader extends ClassLoader {
- public TestClassLoader() {
- super(TestClassLoader.class.getClassLoader());
- }
-
- Class addClass(byte[] bytes) {
- return defineClass(null, bytes, 0, bytes.length);
- }
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Foo.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Foo.java
deleted file mode 100644
index 56bf6af9b4..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/Foo.java
+++ /dev/null
@@ -1,26 +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.
- */
-package org.apache.tuscany.sdo.codegen;
-
-/**
- * @version $Rev$ $Date$
- */
-public interface Foo {
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java
deleted file mode 100644
index 6cc0529c5f..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/JavaInterfaceGeneratorTestCase.java
+++ /dev/null
@@ -1,129 +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.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import java.io.PrintWriter;
-import java.io.StringWriter;
-
-import junit.framework.TestCase;
-
-/**
- * @version $Rev$ $Date$
- */
-public class JavaInterfaceGeneratorTestCase extends TestCase {
- private static final String SEP = System.getProperty("line.separator");
-
- private JavaInterfaceGenerator gen;
- private StringWriter writer;
- private MockType foo;
-
- public void testHeaderNoBaseClass() {
- gen.visitType(foo);
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n}\n"), writer.toString());
- }
-
- public void testHeaderWithPackage() {
- gen.visitType(new MockType("org.apache.Foo", null));
- gen.visitEnd();
- assertEquals(localize("package org.apache;\n\npublic interface Foo {\n}\n"), writer.toString());
- }
-
- public void testHeaderOneBaseClass() throws NoJavaImplementationException {
- foo.addBaseType(new MockType("bar1", Bar1.class));
- gen.visitType(foo);
- gen.visitEnd();
- assertEquals(localize("public interface Foo extends org.apache.tuscany.sdo.codegen.Bar1 {\n}\n"), writer.toString());
- }
-
- public void testHeaderMultipleBaseClass() throws NoJavaImplementationException {
- foo.addBaseType(new MockType("bar1", Bar1.class));
- foo.addBaseType(new MockType("bar2", Bar2.class));
- gen.visitType(foo);
- gen.visitEnd();
- assertEquals(localize("public interface Foo extends org.apache.tuscany.sdo.codegen.Bar1, org.apache.tuscany.sdo.codegen.Bar2 {\n}\n"), writer.toString());
- }
-
- public void testBooleanProperty() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("true", Boolean.TYPE, false, false));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\tboolean isTrue();\n\tvoid setTrue(boolean value);\n}\n"), writer.toString());
- }
-
- public void testByteArrayProperty() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("bytes", byte[].class, false, false));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\tbyte[] getBytes();\n\tvoid setBytes(byte[] value);\n}\n"), writer.toString());
- }
-
- public void testObjectProperty() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("bar", Bar1.class, false, false));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\torg.apache.tuscany.sdo.codegen.Bar1 getBar();\n\tvoid setBar(org.apache.tuscany.sdo.codegen.Bar1 value);\n}\n"), writer.toString());
- }
-
- public void testReadOnlyProperty() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("int", Integer.TYPE, false, true));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\tint getInt();\n}\n"), writer.toString());
- }
-
- public void testManyProperty() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("list", Integer.TYPE, true, false));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\tjava.util.List getList();\n}\n"), writer.toString());
- }
-
- public void testTwoProperties() throws NoJavaImplementationException {
- gen.visitType(foo);
- gen.visitProperty(new MockProperty("true", Boolean.TYPE, false, false));
- gen.visitProperty(new MockProperty("int", Integer.TYPE, false, false));
- gen.visitEnd();
- assertEquals(localize("public interface Foo {\n\tboolean isTrue();\n\tvoid setTrue(boolean value);\n\tint getInt();\n\tvoid setInt(int value);\n}\n"), writer.toString());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- writer = new StringWriter();
- gen = new JavaInterfaceGenerator(new PrintWriter(writer));
- foo = new MockType("foo", null);
- }
-
- private String localize(String s) {
- StringBuffer b = new StringBuffer(s.length() + s.length()/10);
- for (int i = 0; i < s.length(); i++) {
- char ch = s.charAt(i);
- if (ch == '\t') {
- b.append(" ");
- } else if (ch == '\n') {
- b.append(SEP);
- } else {
- b.append(ch);
- }
- }
- return b.toString();
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockProperty.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockProperty.java
deleted file mode 100644
index 3e3e87e47b..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockProperty.java
+++ /dev/null
@@ -1,94 +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.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import java.util.List;
-
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-
-/**
- * @version $Rev$ $Date$
- */
-class MockProperty implements Property {
- private final String name;
- private final Type type;
- private final boolean many;
- private final boolean readOnly;
-
- public MockProperty(String name, Class type, boolean many, boolean readOnly) {
- this.name = name;
- this.type = new MockType(null, type);
- this.many = many;
- this.readOnly = readOnly;
- }
-
- public String getName() {
- return name;
- }
-
- public Type getType() {
- return type;
- }
-
- public boolean isMany() {
- return many;
- }
-
- public boolean isContainment() {
- throw new UnsupportedOperationException();
- }
-
- public Type getContainingType() {
- throw new UnsupportedOperationException();
- }
-
- public Object getDefault() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isReadOnly() {
- return readOnly;
- }
-
- public Property getOpposite() {
- throw new UnsupportedOperationException();
- }
-
- public List /*String*/ getAliasNames() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isNullable() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isOpenContent() {
- throw new UnsupportedOperationException();
- }
-
- public List getInstanceProperties() {
- throw new UnsupportedOperationException();
- }
-
- public Object get(Property property) {
- throw new UnsupportedOperationException();
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java
deleted file mode 100644
index ec848de4fa..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/codegen/MockType.java
+++ /dev/null
@@ -1,104 +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.
- */
-package org.apache.tuscany.sdo.codegen;
-
-import java.util.List;
-import java.util.ArrayList;
-
-import commonj.sdo.Type;
-import commonj.sdo.Property;
-
-/**
- * @version $Rev$ $Date$
- */
-class MockType implements Type {
- private final String name;
- private final Class javaClass;
- private final List baseTypes = new ArrayList();
-
- public MockType(String name, Class javaClass) {
- this.javaClass = javaClass;
- this.name = name;
- }
-
- public void addBaseType(Type baseType) {
- baseTypes.add(baseType);
- }
-
- public String getName() {
- return name;
- }
-
- public String getURI() {
- throw new UnsupportedOperationException();
- }
-
- public Class getInstanceClass() {
- return javaClass;
- }
-
- public boolean isInstance(Object object) {
- throw new UnsupportedOperationException();
- }
-
- public List /*Property*/ getProperties() {
- throw new UnsupportedOperationException();
- }
-
- public Property getProperty(String propertyName) {
- throw new UnsupportedOperationException();
- }
-
- public boolean isDataType() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isOpen() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isSequenced() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isAbstract() {
- throw new UnsupportedOperationException();
- }
-
- public List /*Type*/ getBaseTypes() {
- return baseTypes;
- }
-
- public List /*Property*/ getDeclaredProperties() {
- throw new UnsupportedOperationException();
- }
-
- public List /*String*/ getAliasNames() {
- throw new UnsupportedOperationException();
- }
-
- public List getInstanceProperties() {
- throw new UnsupportedOperationException();
- }
-
- public Object get(Property property) {
- throw new UnsupportedOperationException();
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/AllTests.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/AllTests.java
deleted file mode 100644
index 734c1b0469..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/AllTests.java
+++ /dev/null
@@ -1,86 +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.
- */
-
-package org.apache.tuscany.sdo.test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-public class AllTests extends TestCase {
-
-
- public static TestSuite suite() {
-
- TestSuite suite = new TestSuite();
-
- suite.addTestSuite(ChangeSummaryOnDataObjectTestCase.class);
- suite.addTestSuite(ChangeSummaryPropertyTestCase.class);
- suite.addTestSuite(ChangeSummaryTestCase.class);
- suite.addTestSuite(ContainmentCycleTestCase.class);
- suite.addTestSuite(CrossScopeCopyTestCase.class);
- suite.addTestSuite(DataGraphTestCase.class);
- suite.addTestSuite(DataTypeBaseTypeTestCase.class);
- suite.addTestSuite(DateConversionTestCase.class);
- suite.addTestSuite(DefineOpenContentPropertyTestCase.class);
- suite.addTestSuite(DefineTypeTestCase.class);
- suite.addTestSuite(FormTestCase.class);
- suite.addTestSuite(HelperContextTestCase.class);
- suite.addTestSuite(IsManyTestCase.class);
- suite.addTestSuite(JavaSerializeDeserializeTestCase.class);
- suite.addTestSuite(MixedTypeTestCase.class);
- suite.addTestSuite(NeverStaleChangeSummaryTestCase.class);
- suite.addTestSuite(OpenTypeTestCase.class);
- suite.addTestSuite(SchemaLocationTestCase.class);
- suite.addTestSuite(SerializeTypesTestCase.class);
- suite.addTestSuite(SimpleCopyTestCase.class);
- suite.addTestSuite(SimpleDynamicTestCase.class);
- suite.addTestSuite(SimpleEqualityTestCase.class);
- suite.addTestSuite(SubstitutionValuesTestCase.class);
- suite.addTestSuite(TypeConversionTestCase.class);
- suite.addTestSuite(TypeRoundTripTestCase.class);
- suite.addTestSuite(XMLDocumentTestCase.class);
- suite.addTestSuite(XMLHelperTestCase.class);
- suite.addTestSuite(XMLStreamHelperTestCase.class);
- suite.addTestSuite(XPathTestCase.class);
- suite.addTestSuite(XSDHelperTestCase.class);
- suite.addTestSuite(XSDQNameTestCase.class);
- suite.addTestSuite(XMLLoadOptionsTestCase.class);
- suite.addTestSuite(XMLSaveOptionsTestCase.class);
- suite.addTestSuite(XMLUnknownPropertiesTestCase.class);
- suite.addTestSuite(ExpectedExceptionsTestCase.class);
- suite.addTestSuite(TypeHelperTestCase.class);
- return suite;
- }
-
-
-
- /**
- * Runs the test suite using the textual runner.
- */
- public static void main(String[] args) {
- junit.textui.TestRunner.run(suite());
- }
-}
-
-
-
-
-
-
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java
deleted file mode 100644
index 4d085eae28..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/AnyTypeTest.java
+++ /dev/null
@@ -1,112 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.net.URL;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XSDHelper;
-
-public class AnyTypeTest extends TestCase {
- private static TypeHelper typeHelper;
- private static DataFactory dataFactory;
- private static XMLStreamHelper streamHelper;
- private static XSDHelper xsdHelper;
-
- private static final String TEST_MODEL = "/anytype.xsd";
- private static final String TEST_NAMESPACE = "http://www.example.com/anytype";
-
- public void testAnySimpleType() throws Exception {
- final Property property = typeHelper.getOpenContentProperty(TEST_NAMESPACE, "globalElement");
- final Type propertyType = property.getType();
-
- DataObject dataObject = dataFactory.create(TEST_NAMESPACE, "Person");
- dataObject.set("firstName", "Fuhwei");
-
- DataObject rootObject = dataFactory.create(propertyType);
- rootObject.set("anyTypeElement", dataObject);
-
- dataObject = dataFactory.create(TEST_NAMESPACE, "Person");
- dataObject.set("firstName", "Mindy");
- rootObject.set("personElement", dataObject);
-
- // XMLStreamHelper.saveObject has a problem to serialize the any type
- final XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
- streamHelper.saveObject(rootObject, streamWriter);
- streamWriter.flush();
- // System.out.println(writer.toString());
-
- final XMLInputFactory inputFactory = XMLInputFactory.newInstance();
- final StringReader reader = new StringReader(writer.toString());
- final XMLStreamReader streamReader = inputFactory.createXMLStreamReader(reader);
- final XMLDocument doc = streamHelper.load(streamReader);
- rootObject = doc.getRootObject();
- DataObject testObject = rootObject.getDataObject("anyTypeElement");
- // System.out.println("anyTypeElement dataobject: " + testObject);
- testObject = rootObject.getDataObject("personElement");
- // System.out.println("personElement dataobject: " + testObject);
- }
-
- public void testAbstractTypeFails() {
- try {
- final DataObject abstractObj = dataFactory.create("commonj.sdo","DataObject");
- assertTrue("Should not succeed", false);
- }
- catch ( final IllegalArgumentException e) {
- // expected result
- }
- }
-
- protected void setUp() throws Exception {
- final HelperContext hc = SDOUtil.createHelperContext();
- typeHelper = hc.getTypeHelper();
- dataFactory = hc.getDataFactory();
- xsdHelper = hc.getXSDHelper();
- streamHelper = SDOUtil.createXMLStreamHelper(hc);
-
- // Populate the meta data for the test (Stock Quote) model
- final URL url = getClass().getResource(TEST_MODEL);
- final InputStream inputStream = url.openStream();
- xsdHelper.define(inputStream, url.toString());
- inputStream.close();
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryOnDataObjectTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryOnDataObjectTestCase.java
deleted file mode 100644
index b9b9c0f2ea..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryOnDataObjectTestCase.java
+++ /dev/null
@@ -1,216 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-
-public class ChangeSummaryOnDataObjectTestCase extends TestCase {
-
-
- private final String TEST_DATA = "/simplechangesummary.xml";
- HelperContext hc;
- XSDHelper xh;
- TypeHelper th;
-
- public void testBasicsDO() {
- Type cst = th.getType("commonj.sdo","ChangeSummaryType");
- Type strt = th.getType("commonj.sdo", "String");
-
- Type newt = SDOUtil.createType(hc, "testcases.changesummary", "simpleCS", false);
- Property strProp = SDOUtil.createProperty(newt, "strElem", strt);
- SDOUtil.createProperty(newt, "changeSummary", cst);
-
- DataObject iNewt = hc.getDataFactory().create(newt);
-
- testBasicsBody(strProp, iNewt);
-}
-
- public void testBasicsDG() {
-
- Type strt = th.getType("commonj.sdo", "String");
-
-
- Type newt = SDOUtil.createType(hc, "testcases.changesummary", "simpleNOCS", false);
- Property strProp = SDOUtil.createProperty(newt, "strElem", strt);
-
- DataGraph graph = SDOUtil.createDataGraph();
- DataObject iNewt = graph.createRootObject(newt);
-
- testBasicsBody(strProp, iNewt);
-}
-
-
- /**
- * @param strProp
- * @param iNewt
- */
- private void testBasicsBody(Property strProp, DataObject iNewt) {
- ChangeSummary cs = iNewt.getChangeSummary();
- cs.beginLogging();
-
- List co = cs.getChangedDataObjects();
- assertEquals(0, co.size());
- iNewt.set(strProp, "some text");
- assertEquals(0, co.size());
- co = cs.getChangedDataObjects();
- assertEquals(1, co.size());
-
- List oldValues = cs.getOldValues((DataObject)co.get(0));
-
- ChangeSummary.Setting ov1 = (ChangeSummary.Setting)oldValues.get(0);
- Property p = ov1.getProperty();
- assertEquals("strElem", p.getName());
- Object v = ov1.getValue();
- assertEquals(null, v);
-
- assertTrue(cs.isLogging());
- cs.endLogging();
- assertFalse(cs.isLogging());
-
- }
-
-
-
- public void testDynamicNestedDataObjectsDG() throws Exception {
- DataGraph dataGraph = SDOUtil.createDataGraph();
- DataObject quote = dataGraph.createRootObject(th.getType("http://www.example.com/simple", "Quote"));
-
- testDynamicNestedDOBody(quote);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- SDOUtil.saveDataGraph(dataGraph, baos, null);
- // SDOUtil.saveDataGraph(dataGraph, System.out, null);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(TEST_DATA)));
-
-
- assertEquals(1, quote.getList("quotes").size());
- assertEquals("fbnt", quote.getString("symbol"));
- dataGraph.getChangeSummary().undoChanges();
- // SDOUtil.saveDataGraph(dataGraph, System.out, null);
- assertEquals(0, quote.getList("quotes").size());
- assertNull(quote.getString("symbol"));
-
-
- }
-
- public void testDynamicNestedDataObjectsDO() throws Exception {
- Type quoteType = th.getType("http://www.example.com/simpleCS", "RootQuote");
- DataObject quote = hc.getDataFactory().create(quoteType);
-
- testDynamicNestedDOBody(quote);
- //hc.getXMLHelper().save(quote, "http://www.example.com/simpleCS", "stockQuote", System.out);
- assertEquals(1, quote.getList("quotes").size());
- assertEquals("fbnt", quote.getString("symbol"));
-
- quote.getChangeSummary().undoChanges();
-
- assertEquals(0, quote.getList("quotes").size());
- assertNull(quote.getString("symbol"));
-
-
-
- }
-
- /**
- * @param quote
- */
- private void testDynamicNestedDOBody(DataObject quote) {
- // Begin logging changes
- //
- ChangeSummary changeSummary = quote.getChangeSummary();
- assertNotNull(changeSummary);
- assertFalse(changeSummary.isLogging());
- changeSummary.beginLogging();
-
-
- // Modify the data graph in various fun and interesting ways
- //
- quote.setString("symbol", "fbnt");
- quote.setString("companyName", "FlyByNightTechnology");
- quote.setBigDecimal("price", new BigDecimal("1000.0"));
- quote.setBigDecimal("open1", new BigDecimal("1000.0"));
- quote.setBigDecimal("high", new BigDecimal("1000.0"));
- quote.setBigDecimal("low", new BigDecimal("1000.0"));
- quote.setDouble("volume", 1000);
- quote.setDouble("change1", 1000);
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- changeSummary.endLogging();
- assertEquals(2, changeSummary.getChangedDataObjects().size()); // 2 DataObjects
- assertTrue(changeSummary.getChangedDataObjects().contains(quote));
- assertTrue(changeSummary.getChangedDataObjects().contains(child));
- assertFalse(changeSummary.isCreated(quote));
- assertTrue(changeSummary.isCreated(child));
-
- ChangeSummary.Setting ov = changeSummary.getOldValue(quote, quote.getType().getProperty("symbol"));
- assertNull(ov.getValue());
-
-
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
-// uncomment these lines for sending aspect trace to a file
-// tracing.lib.TraceMyClasses tmc = (TraceMyClasses)Aspects.aspectOf(TraceMyClasses.class);
-// tmc.initStream(new PrintStream("c:\\temp\\trace.log"));
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource("/simple.xsd");
- InputStream inputStream = url.openStream();
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
- xh = hc.getXSDHelper();
- xh.define(inputStream, url.toString());
- inputStream.close();
-
- URL url2 = getClass().getResource("/simpleWithChangeSummary.xsd");
- InputStream inputStream2 = url2.openStream();
- xh.define(inputStream2, url2.toString());
- inputStream.close();
-
-
-
-}
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryPropertyTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryPropertyTestCase.java
deleted file mode 100644
index 4a62ec6135..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryPropertyTestCase.java
+++ /dev/null
@@ -1,219 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class ChangeSummaryPropertyTestCase extends TestCase {
- private final String TEST_MODEL = "/simpleWithChangeSummary.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/simpleCS";
-
- private final String TEST_DATA_BEFORE_UNDO = "/simpleWithChangeSummary.xml";
- private final String TEST_DATA_AFTER_UNDO = "/simpleWithChangeSummaryUndone.xml";
-
- HelperContext hc;
- DataFactory dataFactory;
- XMLHelper xmlHelper;
-
- void verify(ChangeSummary cs, DataObject quote, String nameSpace, String element, String beforeUndo, String afterUndo) throws IOException {
- // Stop logging changes and serialize the resulting data graph
- //
- cs.endLogging();
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(quote, nameSpace, element, baos);
- //xmlHelper.save(quote, nameSpace, element, System.out);
-
- byte[] bytes = baos.toByteArray();
- URL url = getClass().getResource(beforeUndo);
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(bytes), url));
-
- DataObject loaded = xmlHelper.load(new ByteArrayInputStream(bytes)).getRootObject();
- baos.reset();
- xmlHelper.save(loaded, nameSpace, element, baos);
- //xmlHelper.save(loaded, nameSpace, element, System.out);
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), url));
-
- // Undo all changes and then serialize the resulting data graph again
- //
- cs.undoChanges();
-
- baos.reset();
- xmlHelper.save(quote, nameSpace, element, baos);
- //xmlHelper.save(quote, nameSpace, element, System.out);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(afterUndo)));
- }
-
- /**
- * ChangeSummary property test.
- */
- protected final void change(String nameSpace, String beforeUndo, String afterUndo) throws Exception {
- Type quoteType = hc.getTypeHelper().getType(nameSpace, "RootQuote");
- DataObject quote = dataFactory.create(quoteType);
-
- ChangeSummary cs = quote.getChangeSummary();
- ChangeSummary csp = (ChangeSummary)quote.get("changes");
-
- assertSame(cs, csp);
-
- quote.setString("symbol", "fbnt");
- quote.setString("companyName", "FlyByNightTechnology");
- quote.setBigDecimal("price", new BigDecimal("1000.0"));
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("1500.0"));
- child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
- child = child.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.99"));
- child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2500.0"));
-
- // Begin logging changes
- //
- cs.beginLogging();
-
- // Modify the data graph in various ways
- //
- quote.setString("symbol", "FBNT");
- quote.setBigDecimal("price", new BigDecimal("999.0"));
- quote.setDouble("volume", 1000);
-
- child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("3000.0"));
- child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("4000.0"));
-
- quote.getDataObject("quotes[2]").delete();
-
- verify(cs, quote, nameSpace, "stockQuote", beforeUndo, afterUndo);
- }
-
- /**
- * Simple ChangeSummary property test.
- */
- public void testChangeSummary() throws Exception {
- change(TEST_NAMESPACE, TEST_DATA_BEFORE_UNDO, TEST_DATA_AFTER_UNDO);
- }
-
- static final String SequenceTest_NameSpace = "http://www.example.com/sequenceCS";
-
- /**
- * Mixed ChangeSummary property test.
- */
- public void testMixedChangeSummary() throws Exception {
- change(SequenceTest_NameSpace, "/mixedChangeSummary.xml", "/mixedChangeSummaryUndone.xml");
- }
-
- protected final DataObject createDataObject(Type quoteType, Object value, Sequence sequence, Property property) {
- DataObject child = dataFactory.create(quoteType);
- child.set("symbol", value);
- sequence.add(property, child);
- return child;
- }
-
- static final String SequenceTest_ELEMENT = "openQuote";
-
- private XSDHelper xsdHelper;
-
- /**
- * Open/any ChangeSummary property test.
- */
- public void testOpenChangeSummary() throws Exception {
- DataObject quote = dataFactory.create(xsdHelper.getGlobalProperty(SequenceTest_NameSpace, SequenceTest_ELEMENT, true).getType());
-
- ChangeSummary cs = quote.getChangeSummary();
- ChangeSummary csp = (ChangeSummary)quote.get("changes");
-
- assertSame(cs, csp);
-
- quote.set("symbol", "fbnt");
- Property property = xsdHelper.getGlobalProperty("http://www.example.com/open", "openStockQuote", true);
- Type quoteType = property.getType();
- List openStockQuotes = ((DataObject)quote).getList(property);
-
- addQuote(openStockQuotes, quoteType, "1500.0");
- DataObject osq2 = addQuote(openStockQuotes, quoteType, "2000.0");
- addQuote(osq2.getList(property), quoteType, "2000.99");
- addQuote(openStockQuotes, quoteType, "2500.0");
-
- // Begin logging changes
- //
- cs.beginLogging();
-
- // Modify the data graph in various ways
- //
- quote.set("symbol", "FBNT");
-
- addQuote(openStockQuotes, quoteType, "3000.0");
- addQuote(openStockQuotes, quoteType, "4000.0");
-
- openStockQuotes.remove(osq2);
-
-
- verify(cs, quote, SequenceTest_NameSpace, SequenceTest_ELEMENT, "/openChangeSummary.xml", "/openChangeSummaryUndone.xml");
- }
-
- private DataObject addQuote(List openStockQuotes, Type quoteType,
- Object value) {
- DataObject osq = dataFactory.create(quoteType);
- osq.set("symbol", value);
- openStockQuotes.add(osq);
- return osq;
- }
-
- void define(String model) throws Exception {
- // Populate the meta data for the test model
- URL url = getClass().getResource(model);
- xsdHelper.define(url.openStream(), url.toString());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- xsdHelper = hc.getXSDHelper();
- dataFactory = hc.getDataFactory();
- xmlHelper = hc.getXMLHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- define(TEST_MODEL);
-
- define("/SequenceChangeSummary.xsd");
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryTestCase.java
deleted file mode 100644
index e956720117..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ChangeSummaryTestCase.java
+++ /dev/null
@@ -1,92 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.XSDHelper;
-
-
-public class ChangeSummaryTestCase extends TestCase {
- private final String TEST_MODEL = "/simple.xsd";
- private final String TEST_DATA = "/simplechangesummary.xml";
-
- /**
- * Simple ChangeSummary test.
- */
- public void testChangeSummary() throws IOException {
- // Create an empty data graph and add a root object, an instance of type Quote
- //
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- DataObject quote = dataGraph.createRootObject("http://www.example.com/simple", "Quote");
-
- // Begin logging changes
- //
- ChangeSummary changeSummary = dataGraph.getChangeSummary();
- changeSummary.beginLogging();
-
- // Modify the data graph in various fun and interesting ways
- //
- quote.setString("symbol", "fbnt");
- quote.setString("companyName", "FlyByNightTechnology");
- quote.setBigDecimal("price", new BigDecimal("1000.0"));
- quote.setBigDecimal("open1", new BigDecimal("1000.0"));
- quote.setBigDecimal("high", new BigDecimal("1000.0"));
- quote.setBigDecimal("low", new BigDecimal("1000.0"));
- quote.setDouble("volume", 1000);
- quote.setDouble("change1", 1000);
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- // Stop logging changes and print the resulting data graph to stdout
- //
- changeSummary.endLogging();
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- SDOUtil.saveDataGraph(dataGraph, baos, null);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(TEST_DATA)));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentCycleTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentCycleTestCase.java
deleted file mode 100644
index 843ab9b982..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentCycleTestCase.java
+++ /dev/null
@@ -1,866 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed 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 junit.framework.TestCase;
-import commonj.sdo.DataObject;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-
-import com.example.test.Containment.ContainmentFactory;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Tests serialization of containment cycles. For JavaSerialization, the test case
- * passes if an IllegalStateException is thrown. For XMLHelper and XMLStreamHelper
- * serialization, serization should complete without throwing an Exception. In all
- * cases, the actual structure of the DataObject should not be changed by the
- * method call to serialize the DO.
- *
- * The same test is run for a static model (Type created using XSD2JavaGenerator), a
- * dynamic model (Type created using TypeHelper), and a 'mixed' model (Type created
- * using XSDHelper - dynamic Type creation using static resources).
- */
-public class ContainmentCycleTestCase extends TestCase {
-
- private static final String CONTAIN_URI = "http://www.example.com/ContainmentTest";
- private static final String CONTAIN_TYPE = "ContainmentTest";
- private static HelperContext staticScope;
- private static HelperContext dynamicScope;
- private static HelperContext mixedScope;
- private static boolean initialized = false;
- private static boolean mixedCreated = false;
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the static version of this test case.
- */
- // Note: Static test cases are prevented due to a JVM Error in ObjectOutputStream.
- // The IllegalStateException thrown by Java serialization is caught, which in turn allows
- // the StackOverflowException to occur. The catcher is catching RuntimeException, so it does
- // not matter which Exception is thrown by the SDO code.
- public void atestStaticOneMemberSingleValueSetDataObject() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
-
- setSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the static version of this test case.
- */
- public void atestStaticNMemberSingleValueSetDataObject() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the static version of this test case.
- */
- public void atestStaticOneMemberMultiValueSetDataObject() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the static version of this test case.
- */
- public void atestStaticNMemberMultiValueSetDataObject() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the static version
- * of this test case.
- */
- public void atestStaticOneMemberReturnedList() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
-
- returnedListOneMember(dataObj1);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the static version
- * of this test case.
- */
- public void atestStaticNMemberReturnedList() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- returnedListNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the static version of this test case.
- */
- public void atestStaticOneMemberSingleValueSequence() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
-
- sequenceSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the static version of this test case.
- */
- public void atestStaticNMemberSingleValueSequence() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of
- * serialization. This is the static version of this test case.
- */
- public void atestStaticOneMemberMultiValueSequence() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of
- * serialization. This is the static version of this test case.
- */
- public void atestStaticNMemberMultiValueSequence() {
- final DataObject dataObj1 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj2 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
- final DataObject dataObj3 = (DataObject) ContainmentFactory.INSTANCE.createContainmentTest();
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, staticScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the hybrid version of this test case.
- */
- public void testHybridOneMemberSingleValueSetDataObject() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- setSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the hybrid version of this test case.
- */
- public void testHybridNMemberSingleValueSetDataObject() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the hybrid version of this test case.
- */
- public void testHybridOneMemberMultiValueSetDataObject() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
-
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the hybrid version of this test case.
- */
- public void testHybridNMemberMultiValueSetDataObject() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the hybrid version
- * of this test case.
- */
- public void testHybridOneMemberReturnedList() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- returnedListOneMember(dataObj1);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the hybrid version
- * of this test case.
- */
- public void testHybridNMemberReturnedList() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- returnedListNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the hybrid version of this test case.
- */
- public void testHybridOneMemberSingleValueSequence() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- sequenceSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the hybrid version of this test case.
- */
- public void testHybridNMemberSingleValueSequence() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of serialization.
- * This is the hybrid version of this test case.
- */
- public void testHybridOneMemberMultiValueSequence() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of serialization.
- * This is the hybrid version of this test case.
- */
- public void testHybridNMemberMultiValueSequence() {
- assertTrue("Test case cannot proceed due to error creating Type.", mixedCreated);
-
- final DataObject dataObj1 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = mixedScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, mixedScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the dynamic version of this test case.
- */
- public void testDynamicOneMemberSingleValueSetDataObject() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI,
- CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- setSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a single valued property
- * and verify the behavior of serialization. This is the dynamic version of this test case.
- */
- public void testDynamicNMemberSingleValueSetDataObject() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the dynamic version of this test case.
- */
- public void testDynamicOneMemberMultiValueSetDataObject() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using set____ on a multi valued property
- * and verify the behavior of serialization. This is the dynamic version of this test case.
- */
- public void testDynamicNMemberMultiValueSetDataObject() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- setManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the dynamic version
- * of this test case.
- */
- public void testDynamicOneMemberReturnedList() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- returnedListOneMember(dataObj1);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle by making updates to a List returned
- * from the DataObject and verify the behavior of serialization. This is the dynamic version
- * of this test case.
- */
- public void testDynamicNMemberReturnedList() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- returnedListNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the dynamic version of this test case.
- */
- public void testDynamicOneMemberSingleValueSequence() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
-
- sequenceSingleValueOneMember(dataObj1);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a single valued property, and verify the behavior of
- * serialization. This is the dynamic version of this test case.
- */
- public void testDynamicNMemberSingleValueSequence() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceSingleValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create a 1-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of
- * serialization. This is the dynamic version of this test case.
- */
- public void testDynamicOneMemberMultiValueSequence() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceMultiValueOneMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to create an n-Member Containment Cycle using by using a Sequence to make updates
- * to the DataObject, affecting a multi valued property, and verify the behavior of
- * serialization. This is the dynamic version of this test case.
- */
- public void testDynamicNMemberMultiValueSequence() {
- final DataObject dataObj1 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj2 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- final DataObject dataObj3 = dynamicScope.getDataFactory().create(CONTAIN_URI, CONTAIN_TYPE);
- dataObj1.setString("Name", "dataObj1");
- dataObj2.setString("Name", "dataObj2");
- dataObj3.setString("Name", "dataObj3");
-
- sequenceManyValueNMember(dataObj1, dataObj2, dataObj3);
- attemptSerialization(dataObj1, dynamicScope);
- }
-
- /**
- * Attempt to serialize the DataObject in via XML, XMLStreamHelper,
- * and Java serialization.
- * @param dataObj
- */
- private void attemptSerialization(final DataObject dataObj, final HelperContext scope) {
-
- assertTrue("Containment cycle was not established.",
- containmentCycleExists(dataObj));
-
- try {
- serializeDataObjectXML(dataObj, scope);
- } catch (final Exception e) {
- fail("XML serialization of a containment cycle resulted in a(n) " + e.getClass().getName() + ".");
- e.printStackTrace();
- }
-
- assertTrue("Containment cycle was affected by XMLHelper serialization.",
- containmentCycleExists(dataObj));
-
- try {
- serializeDataObjectJava(dataObj);
- fail("Java serialization of a containment cycle should result in an IllegalStateException.");
- } catch (final Exception e) {
- // Do nothing. An Exception is expected in this case.
- }
-
- assertTrue("Containment cycle was affected by Java serialization.",
- containmentCycleExists(dataObj));
-
- try {
- serializeDataObjectStream(dataObj, scope);
- } catch (final Exception e) {
- fail("XMLStreamHelper serialization of a containment cycle resulted in a(n) " + e.getClass().getName() + ".");
- e.printStackTrace();
- }
- assertTrue("Containment cycle was affected by XMLStreamHelper serialization.",
- containmentCycleExists(dataObj));
- }
- /**
- * Uses the XMLHelper to serialize the input DataObject
- *
- * @param dataObject
- * @param fileName
- * @throws IOException
- */
- private static void serializeDataObjectXML(final DataObject dataObject, final HelperContext scope) {
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- final Type type = dataObject.getType();
-
- try {
- scope.getXMLHelper().save(dataObject, type.getURI(), type.getName(), baos);
- }
- catch (final IOException e) {
- fail("Could not complete test case due to IOException.");
- }
- }
-
- /**
- * Uses Java serialization to serialize the input DataObject
- *
- * @param dataObject
- * @param fileName
- * @throws IOException
- */
- private static void serializeDataObjectStream(final DataObject dataObject, final HelperContext scope) {
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- final XMLOutputFactory factory = XMLOutputFactory.newInstance();
- XMLStreamWriter serializer;
- final XMLStreamHelper xmlStreamHelper = SDOUtil.createXMLStreamHelper(scope);
- try {
- serializer = factory.createXMLStreamWriter(baos);
- xmlStreamHelper.saveObject(dataObject, serializer);
- serializer.flush();
- }
- catch (final XMLStreamException e) {
- fail("Exception encountered during XMLStreamHelper serialization.");
- e.printStackTrace();
- }
- }
-
- /**
- * Uses Java serialization to serialize the input DataObject
- *
- * @param dataObject
- * @param fileName
- * @throws IOException
- */
- private static void serializeDataObjectJava(final DataObject dataObject) {
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- try {
- final ObjectOutputStream out = new ObjectOutputStream(baos);
- out.writeObject(dataObject);
- out.close();
- }
- catch (final IOException e) {
- fail("Could not complete test case due to IOException.");
- }
- }
-
- /**
- * Returns true if input DataObject root is part of a containment cycle,
- * false otherwise.
- * @param root
- * @return
- */
- private static boolean containmentCycleExists (final DataObject root)
- {
- DataObject curr = root.getContainer();
-
- while (curr != null)
- {
- if (curr == root) {
- return true;
- }
-
- curr = curr.getContainer();
- }
- return false;
- }
-
- /**
- * Use setDataObject to create a one member containment cycle.
- * @param dataObj1
- */
- private void setSingleValueOneMember(final DataObject dataObj1) {
- dataObj1.setDataObject("Contain", dataObj1);
- }
-
- /**
- * Use setDataObject to create an N-member containment cycle.
- * @param dataObj1
- * @param dataObj2
- * @param dataobj3
- */
- private void setSingleValueNMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- dataObj1.setDataObject("Contain", dataObj2);
- dataObj2.setDataObject("Contain", dataObj3);
- dataObj3.setDataObject("Contain", dataObj1);
- }
-
- /**
- * Use setList to create a one member containment cycle.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void setMultiValueOneMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- final List addList = new ArrayList();
-
- addList.add(dataObj2);
- addList.add(dataObj1);
- addList.add(dataObj3);
- dataObj1.setList("ContainMany", addList);
- }
-
- /**
- * Use setList to create an N-member containment cycle.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void setManyValueNMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- final List addList = new ArrayList();
-
- dataObj1.setDataObject("Contain", dataObj2);
- dataObj2.setDataObject("Contain", dataObj3);
- addList.add(dataObj1);
- dataObj3.setList("ContainMany", addList);
- }
-
- /**
- * Create a 1-member containment cycle by making updates to a returned List.
- * @param dataObj1
- */
- private void returnedListOneMember(final DataObject dataObj1) {
- final List returnedList = dataObj1.getList("ContainMany");
-
- returnedList.add(dataObj1);
- }
-
- /**
- * Create an n-member containment cycle by making updates to a returned List.
- * @param dataObj1
- * @param dataObj2
- * @param dataobj3
- */
- private void returnedListNMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- dataObj1.setDataObject("Contain", dataObj2);
- dataObj2.setDataObject("Contain", dataObj3);
-
- final List returnedList = dataObj3.getList("ContainMany");
-
- returnedList.add(dataObj1);
- }
-
- /**
- * Create a 1-member containment cycle by making updates to a Sequence.
- * The data member in this case is single valued.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void sequenceSingleValueOneMember(final DataObject dataObj1) {
- assertTrue("DataObject is not Sequenced. Test case may not proceed.", dataObj1.getType().isSequenced());
-
- final Sequence sequence = dataObj1.getSequence();
-
- sequence.add("Contain", dataObj1);
- }
-
- /**
- * Create an n-member containment cycle by making updates to a Sequence.
- * The data member in this case is single valued.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void sequenceSingleValueNMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- assertTrue("DataObject is not Sequenced. Test case may not proceed.", dataObj1.getType().isSequenced());
-
- final Sequence sequence1 = dataObj1.getSequence();
- final Sequence sequence2 = dataObj2.getSequence();
- final Sequence sequence3 = dataObj3.getSequence();
-
- sequence1.add("Contain", (Object) dataObj2);
- sequence2.add("Contain", (Object) dataObj3);
-
- sequence3.add("Contain", (Object) dataObj1);
- }
-
- /**
- * Create a 1-member containment cycle by making updates to a Sequence.
- * The data member in this case is many valued.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void sequenceMultiValueOneMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- assertTrue("DataObject is not Sequenced. Test case may not proceed.", dataObj1.getType().isSequenced());
-
- final Sequence sequence = dataObj1.getSequence();
-
- sequence.add("ContainMany", dataObj2);
- sequence.add("ContainMany", dataObj3);
- sequence.add("ContainMany", dataObj1);
- }
-
- /**
- * Create an n-member containment cycle by making updates to a Sequence.
- * The data member in this case is many valued.
- * @param dataObj1
- * @param dataObj2
- * @param dataObj3
- */
- private void sequenceManyValueNMember(final DataObject dataObj1, final DataObject dataObj2, final DataObject dataObj3) {
- assertTrue("DataObject is not Sequenced. Test case may not proceed.", dataObj1.getType().isSequenced());
-
- final List addList = new ArrayList();
-
- addList.add(dataObj2);
- dataObj1.setList("ContainMany", addList);
-
- addList.clear();
- addList.add(dataObj3);
- dataObj2.setList("ContainMany", addList);
-
- final Sequence sequence = dataObj3.getSequence();
-
- sequence.add("ContainMany", dataObj1);
- }
-
- public void setUp() {
- if (!initialized) {
- staticScope = SDOUtil.createHelperContext();
- ContainmentFactory.INSTANCE.register(staticScope);
-
- dynamicScope = SDOUtil.createHelperContext();
- ContainmentTypeUtil.createDynamically(dynamicScope);
-
- mixedScope = SDOUtil.createHelperContext();
- mixedCreated = ContainmentTypeUtil.createDynamicWithStaticResources(mixedScope);
-
- initialized = true;
- }
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentTypeUtil.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentTypeUtil.java
deleted file mode 100644
index f602555fa6..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ContainmentTypeUtil.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- *
- * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
- *
- * Licensed 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.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-/**
- * Provides methods to dynamically create the ContainemntTest Type using the XSDHelper
- * and the TypeHelper.
- */
-public class ContainmentTypeUtil {
-
- /**
- * createDynamicWithStaticResources creates the DataObject type from an existing
- * XSD. The same XSD is used to create the Types statically using the XSD2JavaGenerator.
- * The XSD should be kept in synch with the createDynamically method in this class.
- * @throws IOException
- * @return true if
- */
- public static boolean createDynamicWithStaticResources(HelperContext hc) {
- try {
- // Populate the meta data for the test model (ContainTest)
- URL url = ContainmentCycleTestCase.class.getResource("/containmenttest.xsd");
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
- } catch(IOException e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
-
- /**
- * createDynamically() creates the SDO Types using the TypeHelper. This method should be kept in
- * synch with the XSD used for createDynamicallyWithStaticResources. The same XSD is used for
- * the static generation of SDO Types using XSD2JavaGenerator.
- */
- public static void createDynamically(HelperContext hc) {
- TypeHelper types = hc.getTypeHelper();
- Type stringType = types.getType("commonj.sdo", "String");
-
- DataObject testType = hc.getDataFactory().create("commonj.sdo", "Type");
- testType.set("uri", "http://www.example.com/ContainmentTest");
- testType.set("name", "ContainmentTest");
- testType.setBoolean("sequenced", true);
-
- DataObject nameProperty = testType.createDataObject("property");
- nameProperty.set("name", "Name");
- nameProperty.set("type", stringType);
-
- DataObject containProperty = testType.createDataObject("property");
- containProperty.set("name", "Contain");
- containProperty.setBoolean("containment", true);
- containProperty.set("type", testType);
-
- DataObject containManyProperty = testType.createDataObject("property");
- containManyProperty.set("name", "ContainMany");
- containManyProperty.setBoolean("many", true);
- containManyProperty.setBoolean("containment", true);
- containManyProperty.set("type", testType);
-
- types.define(testType);
- }
-} \ No newline at end of file
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/CrossScopeCopyTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/CrossScopeCopyTestCase.java
deleted file mode 100644
index bba7fb4c1b..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/CrossScopeCopyTestCase.java
+++ /dev/null
@@ -1,474 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Vector;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-public class CrossScopeCopyTestCase extends TestCase
-{
- // Literals
- private static final String TEST_NAMESPACE = "http://www.example.com/bank";
- private static final String BANK_MODEL = "/bank.xsd";
- private static final String BANK_TYPE = "bankType";
- private static final String BRANCH_TYPE = "branchType";
- private static final String SERVICE_TYPE = "serviceType";
- private static final String ACCOUNT_TYPE = "accountType";
- private static final String CUSTOMER_TYPE = "customerType";
- private static final String ADDRESS_TYPE = "addressType";
- private static final String DYNAMIC_TYPE = "dynamicType";
-
- // SDO model objects
- private HelperContext hca;
- private HelperContext hcb;
- private TypeHelper scopeA;
- private TypeHelper scopeB;
-
- // SDO instance objects
- private DataObject bankSDO;
- private DataObject branchSDO1;
- private DataObject branchSDO2;
- private DataObject serviceSDO1;
- private DataObject serviceSDO2;
- private DataObject serviceSDO3;
- private DataObject customerSDO1;
- private DataObject customerSDO2;
- private DataObject customerSDO3;
- private DataObject customerSDO4;
-
- private int indent = 0;
-
- public void testCrossScopeCopy() throws IOException
- {
- CopyHelper copyHelperB = SDOUtil.createCrossScopeCopyHelper(hcb);
-
- // Perform Shallow Copy Test
- DataObject copiedSDO = copyHelperB.copyShallow(bankSDO);
- shallowCopyAssertions(bankSDO, copiedSDO);
-
- // Perform Deep Copy Test
- copiedSDO = copyHelperB.copy(bankSDO);
- deepCopyAssertions(bankSDO, copiedSDO);
-
- // Inter-Reference Copy
- copiedSDO = copyHelperB.copy(customerSDO1);
- DataObject prop = (DataObject)copiedSDO.get("HomeBranch");
- assertTrue(prop==null);
-
- // Perform invalid namespace test
- DataObject sdo = hca.getDataFactory().create(TEST_NAMESPACE, DYNAMIC_TYPE );
- sdo.set("custNum", "099" );
- sdo.set("firstName", "John");
- sdo.set("lastName", "Doe");
- boolean failed = false;
- try
- {
- // In this case, we are copying an object to a scope
- // where the object's type has not been defined. That
- // will generate a null pointer exception what we will
- // catch.
- copyHelperB.copy(sdo);
- }
- catch(java.lang.NullPointerException ex)
- {
- failed = true;
- }
- assertTrue(failed);
- }
-
- protected void setUp() throws Exception
- {
- super.setUp();
-
- // Create Two Scopes
- hca = SDOUtil.createHelperContext();
- hcb = SDOUtil.createHelperContext();
- scopeA = hca.getTypeHelper();
- scopeB = hcb.getTypeHelper();
-
- // Populate scopes with bank model now
- URL url = getClass().getResource(BANK_MODEL);
- InputStream inputStream = url.openStream();
- hca.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
- inputStream = url.openStream();
- hcb.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
-
- // Now Populate scopeA with some dynamic models
- populateScopeWithDynamicTypes(scopeA);
-
- // Construct Source Tree
- constructSourceTree(hca.getDataFactory());
- }
-
- private void shallowCopyAssertions(DataObject sdo, DataObject copiedSdo)
- {
- assertEquals(sdo.getType().getName(), copiedSdo.getType().getName());
- assertEquals(sdo.getType().getURI(), copiedSdo.getType().getURI());
- assertNotSame(sdo.getType(), copiedSdo.getType());
- assertEquals(sdo.getInstanceProperties().size(), copiedSdo
- .getInstanceProperties().size());
-
- for(Iterator it = sdo.getInstanceProperties().iterator(), it2 = copiedSdo
- .getInstanceProperties().iterator(); it.hasNext();)
- {
- Property p1 = (Property) it.next(), p2 = (Property) it2.next();
- assertEquals(p1.getName(), p2.getName());
- Object o1 = sdo.get(p1), o2 = copiedSdo.get(p2);
- if(p1.getType().isDataType())
- {
- assertEquals(o1, o2);
- // TODO is there a way I can distinguish between mutable and
- // immutable types
- // so that I can do some "same object" tests
- }
- else
- {
- assertNotSame(p1, p2);
- if(p2.isMany())
- {
- assertEquals(copiedSdo.getList(p2).size(), 0);
- }
- else
- {
- assertNull(copiedSdo.get(p2));
- }
- }
- try
- {
- sdo.get(p2);
- assertTrue(false);
- }
- catch(Exception e)
- {
- // expected route
- }
- try
- {
- copiedSdo.get(p1);
- assertTrue(false);
- }
- catch(Exception e2)
- {
- // expected route
- }
- }
- }
-
- private void deepCopyAssertions(DataObject sdo, DataObject copiedSdo)
- {
- //indent();
-
- //System.out.println("checking objects of types: "
- // + sdo.getType().getName() + ", "
- // + copiedSdo.getType().getName());
- indent++;
-
- assertEquals(sdo.getType().getName(), copiedSdo.getType().getName());
- assertEquals(sdo.getType().getURI(), copiedSdo.getType().getURI());
- assertNotSame(sdo.getType(), copiedSdo.getType());
- assertEquals(sdo.getInstanceProperties().size(), copiedSdo
- .getInstanceProperties().size());
-
- for(Iterator it = sdo.getInstanceProperties().iterator(), it2 = copiedSdo
- .getInstanceProperties().iterator(); it.hasNext();)
- {
- Property p1 = (Property) it.next(), p2 = (Property) it2.next();
- assertEquals(p1.getName(), p2.getName());
- Object o1 = sdo.get(p1), o2 = copiedSdo.get(p2);
- if(p1.getType().isDataType())
- {
- assertEquals(o1, o2);
- // TODO is there a way I can distinguish between mutable and
- // immutable types
- // so that I can do some "same object" tests
- }
- else
- {
- assertNotSame(p1, p2);
- if(p2.isMany())
- {
- assertEquals(sdo.getList(p1).size(), copiedSdo.getList(p2)
- .size());
- for(Iterator it3 = sdo.getList(p1).iterator(), it4 = copiedSdo
- .getList(p2).iterator(); it3.hasNext();)
- {
- deepCopyAssertions((DataObject) it3.next(),
- (DataObject) it4.next());
- }
- }
- else
- {
- deepCopyAssertions(sdo.getDataObject(p1), copiedSdo
- .getDataObject(p2));
- }
- }
- try
- {
- sdo.get(p2);
- assertTrue(false);
- }
- catch(Exception e)
- {
- // expected route
- }
- try
- {
- copiedSdo.get(p1);
- assertTrue(false);
- }
- catch(Exception e2)
- {
- // expected route
- }
- }
-
- indent--;
- }
-
- /*
- private void indent()
- {
- for(int i=0; i <indent; i++) System.out.print(" ");
- }
- */
-
- protected void constructSourceTree(DataFactory df)
- {
- // Create Instances
- bankSDO = df.create(TEST_NAMESPACE, BANK_TYPE );
- branchSDO1 = df.create(TEST_NAMESPACE, BRANCH_TYPE );
- branchSDO2 = df.create(TEST_NAMESPACE, BRANCH_TYPE );
- serviceSDO1 = df.create(TEST_NAMESPACE, SERVICE_TYPE );
- serviceSDO2 = df.create(TEST_NAMESPACE, SERVICE_TYPE );
- serviceSDO3 = df.create(TEST_NAMESPACE, SERVICE_TYPE );
- customerSDO1 = df.create(TEST_NAMESPACE, CUSTOMER_TYPE );
- customerSDO2 = df.create(TEST_NAMESPACE, CUSTOMER_TYPE );
- customerSDO3 = df.create(TEST_NAMESPACE, CUSTOMER_TYPE );
- customerSDO4 = df.create(TEST_NAMESPACE, CUSTOMER_TYPE );
-
- // Populate the Bank Instance
- bankSDO.set("name", "Fourth National");
- Vector v = new Vector();
- v.add(branchSDO1);
- v.add(branchSDO2);
- bankSDO.set("Branch",v);
- v.removeAllElements();
- v.add(serviceSDO1);
- v.add(serviceSDO2);
- v.add(serviceSDO3);
- bankSDO.set("Service",v);
- v.removeAllElements();
- v.add(customerSDO1);
- v.add(customerSDO2);
- v.add(customerSDO3);
- v.add(customerSDO4);
- bankSDO.set("Customer",v);
- v.removeAllElements();
-
- // Populate Branch Instances
- // Branch 1
- branchSDO1.set("ID", "BR100");
- DataObject addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "1302 Money Street");
- addr.set("City", "Apex");
- addr.set("State", "NC");
- addr.set("Zip", "27502");
- branchSDO1.set("Address", addr);
- v.add("If you are north, head south");
- v.add("If you are south, head north");
- branchSDO1.set("Directions", v);
- v.removeAllElements();
- DataObject account1 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account1.set("ID", "0000 1200 0001");
- account1.set("Service", serviceSDO1 );
- account1.setBigDecimal("Balance", new BigDecimal("3124.12"));
- v.add(account1);
- DataObject account2 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account2.set("ID", "0000 8899 0001");
- account2.set("Service", serviceSDO1 );
- account2.setBigDecimal("Balance", new BigDecimal("20.00"));
- v.add(account2);
- DataObject account3 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account3.set("ID", "0000 3110 0020");
- account3.set("Service", serviceSDO3 );
- account3.setBigDecimal("Balance", new BigDecimal("5000.00"));
- v.add(account3);
- branchSDO1.set("Account", v);
- v.removeAllElements();
- // Branch 2
- branchSDO2.set("ID", "BR200");
- addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "1207 Cash Court");
- addr.set("City", "Raleigh");
- addr.set("State", "NC");
- addr.set("Zip", "27701");
- branchSDO2.set("Address", addr);
- v.add("If you are east, head west");
- v.add("If you are west, head east");
- branchSDO2.set("Directions", v);
- v.removeAllElements();
- DataObject account4 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account4.set("ID", "0000 0011 0001");
- account4.set("Service", serviceSDO1 );
- account4.setBigDecimal("Balance", new BigDecimal("99.12"));
- v.add(account4);
- DataObject account5 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account5.set("ID", "0000 9911 0001");
- account5.set("Service", serviceSDO2 );
- account5.setBigDecimal("Balance", new BigDecimal("820.00"));
- v.add(account5);
- DataObject account6 = df.create(TEST_NAMESPACE, ACCOUNT_TYPE );
- account6.set("ID", "0000 0001 0020");
- account6.set("Service", serviceSDO3 );
- account6.setBigDecimal("Balance", new BigDecimal("9000.00"));
- v.add(account6);
- branchSDO2.set("Account", v);
- v.removeAllElements();
-
- // Populate Service Instances
- serviceSDO1.set("ID", "SRV01");
- serviceSDO1.set("Name", "Checking");
- serviceSDO1.setBigDecimal("Fee", new BigDecimal("0.00"));
- serviceSDO2.set("ID", "SRV02");
- serviceSDO2.set("Name", "Savings");
- serviceSDO2.setBigDecimal("Fee", new BigDecimal("0.00"));
- serviceSDO3.set("ID", "SRV03");
- serviceSDO3.set("Name", "Loan");
- serviceSDO3.setBigDecimal("Fee", new BigDecimal("0.00"));
-
- // Populate Customer Instances
- // Customer 1
- customerSDO1.set("ID", "CUST01");
- customerSDO1.set("First", "James");
- customerSDO1.set("Last", "Madison");
- addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "1234 Easy Street");
- addr.set("City", "New York");
- addr.set("State", "NY");
- addr.set("Zip", "27511");
- customerSDO1.set("Address", addr);
- customerSDO1.set("HomeBranch", branchSDO1);
- v.add(account1);
- customerSDO1.set("Account", v);
- v.removeAllElements();
- v.add(customerSDO2);
- v.add(customerSDO3);
- customerSDO1.set("Related", v);
- v.removeAllElements();
- // Customer 2
- customerSDO2.set("ID", "CUST02");
- customerSDO2.set("First", "George");
- customerSDO2.set("Last", "Washington");
- addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "1776 Potomac Avenue");
- addr.set("City", "Washington");
- addr.set("State", "DC");
- addr.set("Zip", "50555");
- customerSDO2.set("Address", addr);
- customerSDO2.set("HomeBranch", branchSDO1);
- v.add(account2);
- v.add(account3);
- customerSDO2.set("Account", v);
- v.removeAllElements();
- // Customer 3
- customerSDO3.set("ID", "CUST03");
- customerSDO3.set("First", "Thomas");
- customerSDO3.set("Last", "Jefferson");
- addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "1492 Columbus Avenue");
- addr.set("City", "Charlottesville");
- addr.set("State", "VA");
- addr.set("Zip", "20121");
- customerSDO3.set("Address", addr);
- customerSDO3.set("HomeBranch", branchSDO2);
- v.add(account4);
- customerSDO3.set("Account", v);
- v.removeAllElements();
- // Customer 4
- customerSDO4.set("ID", "CUST04");
- customerSDO4.set("First", "Benjamin");
- customerSDO4.set("Last", "Franklin");
- addr = df.create(TEST_NAMESPACE, ADDRESS_TYPE );
- addr.set("Street", "99 Light Street");
- addr.set("City", "Philadelphia");
- addr.set("State", "PA");
- addr.set("Zip", "19251");
- customerSDO4.set("Address", addr);
- customerSDO4.set("HomeBranch", branchSDO2);
- v.add(account5);
- v.add(account6);
- customerSDO4.set("Account", v);
- v.removeAllElements();
-
- }
-
- private void populateScopeWithDynamicTypes(TypeHelper scope)
- {
- Type stringType = scope.getType("commonj.sdo", "String");
- DataObject customerType = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- customerType.set("uri", TEST_NAMESPACE);
- customerType.set("name", DYNAMIC_TYPE );
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", stringType);
- DataObject firstNameProperty = customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
- scope.define(customerType);
- }
-
- /*
- private void dumpObject(DataObject sdo, String node )
- {
- try
- {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- SDOUtil.createXMLHelper(scopeA).save(sdo, TEST_NAMESPACE,
- node, baos);
- System.out.println(baos.toString());
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- */
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DataGraphTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DataGraphTestCase.java
deleted file mode 100644
index 5fcc567908..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DataGraphTestCase.java
+++ /dev/null
@@ -1,270 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * Tests methods of DataGraph except for change summary which is tested elsewhere.
- */
-public class DataGraphTestCase extends TestCase {
- private final String SIMPLE_MODEL = "/simple.xsd";
- private final String ANYTYPE_MODEL = "/anytype.xsd";
-
- /**
- * createRootObject(type) test with good parms.
- */
- public void testCreateRootObjectType() throws IOException {
- // Create an empty data graph and add a root object, an instance of type Quote
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = dataGraph.getType("http://www.example.com/simple", "Quote");
- DataObject quote = dataGraph.createRootObject(quoteType);
-
- assertNotNull(quote);
- }
-
- /**
- * createRootObject(type) test with bad parm.
- */
- public void testCreateRootObjectTypeBad() throws IOException {
- // Create an empty data graph and pass bad parms to createRootObject
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- boolean success = false;
- try {
- dataGraph.createRootObject(null);
- } catch(NullPointerException npe) {
- fail("createRootObject with null type threw NullPointerException");
- } catch(Exception e) {
- success = true;
- }
- if (!success) {
- fail("createRootObject with null type parameter did not throw an exception");
- }
- }
-
- /**
- * createRootObject(type) test with good parms but too often to ensure
- * that IllegalStateException is thrown
- */
- public void testCreateRootObjectTypeIllegalState() throws IOException {
- // Create an empty data graph and add a root object, then add another root object
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- DataObject quote = dataGraph.createRootObject("http://www.example.com/anytype", "Person");
-
- assertNotNull(quote);
-
- Type quoteType = dataGraph.getType("http://www.example.com/simple", "Quote");
- assertNotNull(quoteType);
- boolean success = false;
- try {
- dataGraph.createRootObject(quoteType);
- } catch(IllegalStateException ise) {
- success = true;
- } catch(Exception e) {
- fail("createRootObject called when a root was already created and an exception other than IllegalStateException was thrown: "+e.getMessage());
- }
- if (!success) {
- fail("createRootObject called when a root was already created but no IllegalStateException was thrown");
- }
- }
-
- /**
- * createRootObject(type) test with good parms but too often to ensure
- * that IllegalStateException is thrown
- */
- public void testCreateRootObjectUriTypenameIllegalState() throws IOException {
- // Create an empty data graph and add a root object, then add another root object
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- DataObject quote = dataGraph.createRootObject("http://www.example.com/anytype", "Person");
-
- assertNotNull(quote);
-
- boolean success = false;
- try {
- dataGraph.createRootObject("http://www.example.com/simple", "Quote");
- } catch(IllegalStateException ise) {
- success = true;
- } catch(Exception e) {
- fail("createRootObject called when a root was already created and an exception other than IllegalStateException was thrown: "+e.getMessage());
- }
- if (!success) {
- fail("createRootObject called when a root was already created but no IllegalStateException was thrown");
- }
- }
-
- /**
- * createRootObject(uri_string, typeName_string) test with good parms.
- */
- public void testCreateRootObjectUriTypename() throws IOException {
- // Create an empty data graph and add a root object, an instance of type Quote
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- DataObject quote = dataGraph.createRootObject("http://www.example.com/simple", "Quote");
-
- assertNotNull(quote);
- }
-
- /**
- * createRootObject(uri_string, typeName_string) test with bad parms.
- */
- public void testCreateRootObjectUriTypenameBad1() throws IOException {
- // Create an empty data graph and pass bad parms to createRootObject
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- boolean success = false;
- try {
- dataGraph.createRootObject("http://www.example.com/mangled", "Quote");
- } catch(NullPointerException npe) {
- fail("createRootObject with mangled URI threw NullPointerException");
- } catch(Exception e) {
- success = true;
- }
- if (!success) {
- fail("createRootObject with mangled URI did not throw an exception");
- }
- }
-
- /**
- * createRootObject(uri_string, typeName_string) test with bad parms.
- */
- public void testCreateRootObjectUriTypenameBad2() throws IOException {
- // Create an empty data graph and pass bad parms to createRootObject
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- boolean success = false;
- try {
- dataGraph.createRootObject("http://www.example.com/simple", "Mangled");
- } catch(NullPointerException npe) {
- fail("createRootObject with mangled type name threw NullPointerException");
- } catch(Exception e) {
- success = true;
- }
- if (!success) {
- fail("createRootObject with mangled type name did not throw an exception");
- }
- }
-
- /**
- * getType(uri_string, typeName_string) test with good parms.
- */
- public void testGetType() throws IOException {
- // Create an empty data graph and get a type, a Quote type
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = dataGraph.getType("http://www.example.com/simple", "Quote");
-
- assertNotNull(quoteType);
- }
-
- /**
- * getType(uri_string, typeName_string) test with bad URI parm.
- */
- public void testGetTypeBad1() throws IOException {
- // Create an empty data graph and pass bad parms to getType
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = null;
- try {
- quoteType = dataGraph.getType("http://www.example.com/mangled", "Quote");
- } catch(Exception e) {
- fail("getType with mangled URI threw an exception: "+e.getMessage());
- }
- assertNull(quoteType);
- }
-
- /**
- * getType(uri_string, typeName_string) test with bad type name parm.
- */
- public void testGetTypeBad2() throws IOException {
- // Create an empty data graph and pass bad parms to getType
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = null;
- try {
- quoteType = dataGraph.getType("http://www.example.com/simple", "Mangled");
- } catch(Exception e) {
- fail("getType with mangled type name threw an exception: "+e.getMessage());
- }
- assertNull(quoteType);
- }
-
- /**
- * getType(uri_string, typeName_string) test with null URI parm.
- */
- public void testGetTypeBad3() throws IOException {
- // Create an empty data graph and pass bad parms to getType
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = null;
- try {
- quoteType = dataGraph.getType(null, "Quote");
- } catch(Exception e) {
- fail("getType with null URI threw an exception: "+e.getMessage());
- }
- assertNull(quoteType);
- }
-
- /**
- * getType(uri_string, typeName_string) test with null type name parm.
- */
- public void testGetTypeBad4() throws IOException {
- // Create an empty data graph and pass bad parms to getType
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type quoteType = null;
- try {
- quoteType = dataGraph.getType("http://www.example.com/simple", null);
- } catch(Exception e) {
- fail("getType with null type name threw an exception: "+e.getMessage());
- }
- assertNull(quoteType);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the Quote type
- URL url = getClass().getResource(SIMPLE_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
-
- // Populate the meta data for the Person type
- URL url2 = getClass().getResource(ANYTYPE_MODEL);
- InputStream inputStream2 = url2.openStream();
- XSDHelper.INSTANCE.define(inputStream2, url2.toString());
- inputStream2.close();
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DataTypeBaseTypeTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DataTypeBaseTypeTestCase.java
deleted file mode 100644
index a49b165386..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DataTypeBaseTypeTestCase.java
+++ /dev/null
@@ -1,68 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.Type;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-
-public class DataTypeBaseTypeTestCase extends TestCase {
- private final String TEST_MODEL = "/datatype.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/datatype";
-
- public void testSimpleSDOType() throws IOException
- {
- Type type = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "SimpleSDOType");
- List baseTypes = type.getBaseTypes();
- assertTrue(baseTypes.size() == 1);
- }
-
- public void testSimpleSDOTypeInstanceClass() throws IOException
- {
- Type type = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "SimpleSDOTypeInstanceClass");
- List baseTypes = type.getBaseTypes();
- assertTrue(baseTypes.size() == 0);
- }
-
- public void testSimpleSDOTypeExtendedInstanceClass() throws IOException
- {
- Type type = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "SimpleSDOTypeExtendedInstanceClass");
- List baseTypes = type.getBaseTypes();
- assertTrue(baseTypes.size() == 1);
- }
-
- public void setUp() throws Exception
- {
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DateConversionTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DateConversionTestCase.java
deleted file mode 100644
index 291842e1aa..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DateConversionTestCase.java
+++ /dev/null
@@ -1,374 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.lang.reflect.Method;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.helper.DataHelper;
-
-// DateConversionTestCase insures that the DataHelper conversions accurately
-// retain the information in the specified fields (e.g. month, day or year).
-// It also provides coverage for the DataHelper API.
-// Note that toDate is called each time Test.initialize() is called.
-
-public class DateConversionTestCase extends TestCase
-{
- private static Calendar test_calendar;
- private static Date test_date;
- private static DataHelper data_helper;
-
- private static final TestType TO_DATE_TIME = new TestType("toDateTime", new int [] {Calendar.YEAR, Calendar.MONTH,
- Calendar.DAY_OF_MONTH, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND});
- private static final TestType TO_DURATION = new TestType("toDuration", new int [] {Calendar.YEAR, Calendar.MONTH,
- Calendar.DAY_OF_MONTH, Calendar.HOUR_OF_DAY, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND});
- private static final TestType TO_TIME = new TestType("toTime", new int [] {Calendar.HOUR_OF_DAY, Calendar.MINUTE,
- Calendar.SECOND, Calendar.MILLISECOND});
- private static final TestType TO_DAY = new TestType("toDay", new int[] {Calendar.DAY_OF_MONTH});
- private static final TestType TO_MONTH = new TestType("toMonth", new int[] {Calendar.MONTH});
- private static final TestType TO_MONTH_DAY = new TestType("toMonthDay", new int[] {Calendar.MONTH, Calendar.DAY_OF_MONTH});
- private static final TestType TO_YEAR = new TestType("toYear", new int[] {Calendar.YEAR});
- private static final TestType TO_YEAR_MONTH= new TestType("toYearMonth", new int[] {Calendar.YEAR, Calendar.MONTH});
- private static final TestType TO_YEAR_MONTH_DAY = new TestType("toYearMonthDay", new int[] {Calendar.YEAR,
- Calendar.MONTH, Calendar.DAY_OF_MONTH});
-
- public DateConversionTestCase() throws Exception
- {
- data_helper = DataHelper.INSTANCE;
- test_calendar = new GregorianCalendar();
- test_calendar.setTime(new Date(System.currentTimeMillis()));
- test_date = test_calendar.getTime();
- }
-
- private static class TestType
- {
- private static final Class[] DATE_CLASS_ARRAY = {Date.class};
- private static final Class[] CALENDAR_CLASS_ARRAY = {Calendar.class};
-
- Method date_method;
- Method calendar_method;
- int [] compare_fields;
-
- public TestType (String method_name, int [] compare_fields)
- {
- try
- {
- this.date_method = DataHelper.class.getMethod(method_name, DATE_CLASS_ARRAY);
- }
- catch (NoSuchMethodException e)
- {
- this.date_method = null;
- }
-
- this.compare_fields = compare_fields;
- try
- {
- this.calendar_method = DataHelper.class.getMethod(method_name, CALENDAR_CLASS_ARRAY);
- }
- catch (NoSuchMethodException e)
- {
- this.calendar_method = null;
- }
-
- }
-
- public Method getDateMethod()
- {
- return this.date_method;
- }
-
- public Method getCalendarMethod()
- {
- return this.calendar_method;
- }
- }
-
- private static class Test
- {
- String from_type;
- Date from_date;
- Calendar from_calendar;
- Class expected_exception;
-
- public Test ()
- {
- this.from_date = null;
- this.from_calendar = null;
- expected_exception = null;
- }
-
- public void initialize (TestType from_type)
- {
- this.from_type = from_type.getDateMethod().getName();
-
- try
- {
- String date_string = (String) from_type.getDateMethod().invoke(data_helper, new Object[] {test_date});
-
- this.from_date = data_helper.toDate(date_string);
- date_string = (String) from_type.getCalendarMethod().invoke(data_helper, new Object[] {test_calendar});
- this.from_calendar = data_helper.toCalendar(date_string);
- }
- catch (Exception e)
- {
- this.from_date = null;
- this.from_calendar = null;
- }
-
- }
-
- // This method is needed because there is not a toDate(Date) method in DataHelper.
-
- public void initializeToDate()
- {
- this.from_calendar = test_calendar;
- this.from_date = test_date;
- this.from_type = "toDate";
- }
-
- public void attemptConversion (TestType to_type) throws Exception
- {
- executeConversion(to_type.getDateMethod(), new Object[] {this.from_date}, to_type.compare_fields);
- executeConversion(to_type.getCalendarMethod(), new Object[] {this.from_calendar}, to_type.compare_fields);
- }
-
- private void executeConversion (Method conversion, Object[] parm, int [] compare_fields) throws Exception
- {
- String result;
-
- try
- {
- result = (String) conversion.invoke(data_helper, parm);
- }
- catch (Exception e)
- {
- System.err.println("An unexpected exception was thrown while calling " + conversion.getName() +
- " after initializing with " + this.from_type + ".");
- throw e;
- }
-
- assertTrue("The expected value did not result when calling " + conversion.getName() +
- " after initializing with " + this.from_type + ".", compareFields(parm[0], result, compare_fields));
- }
-
- private boolean compareFields(Object compare_to, String output, int [] compare_fields)
- {
- Calendar result = data_helper.toCalendar(output);
- Calendar expected;
-
- if (compare_to instanceof Calendar)
- expected = (GregorianCalendar) test_calendar;
- else
- {
- expected = new GregorianCalendar();
- expected.setTime((Date) test_date);
- }
-
- for (int i = 0; i < compare_fields.length; i++)
- {
- if (expected.get(compare_fields[i]) != result.get(compare_fields[i]))
- {
- System.err.println("Failed: - expected '" + expected.get(compare_fields[i]) + "' got '" + result.get(compare_fields[i]) + "' for output: " + output);
- return false;
- }
- }
- return true;
- }
-
- }
-
- public void testConversionsFromDay() throws Exception
- {
- Test FromDay = new Test();
-
- FromDay.initialize(TO_DAY);
-
- FromDay.attemptConversion(TO_DAY);
- }
-
- public void testConversionsFromDate() throws Exception
- {
- Test FromDate = new Test();
-
- FromDate.initializeToDate();
-
- FromDate.attemptConversion(TO_DATE_TIME);
- FromDate.attemptConversion(TO_DURATION);
- FromDate.attemptConversion(TO_TIME);
- FromDate.attemptConversion(TO_DAY);
- FromDate.attemptConversion(TO_MONTH);
- FromDate.attemptConversion(TO_MONTH_DAY);
- FromDate.attemptConversion(TO_YEAR);
- FromDate.attemptConversion(TO_YEAR_MONTH);
- FromDate.attemptConversion(TO_YEAR_MONTH_DAY);
- }
-
- public void testConversionsFromDateTime() throws Exception
- {
- Test FromDateTime = new Test();
-
- FromDateTime.initialize(TO_DATE_TIME);
-
- FromDateTime.attemptConversion(TO_DATE_TIME);
- FromDateTime.attemptConversion(TO_DURATION);
- FromDateTime.attemptConversion(TO_TIME);
- FromDateTime.attemptConversion(TO_DAY);
- FromDateTime.attemptConversion(TO_MONTH);
- FromDateTime.attemptConversion(TO_MONTH_DAY);
- FromDateTime.attemptConversion(TO_YEAR);
- FromDateTime.attemptConversion(TO_YEAR_MONTH);
- FromDateTime.attemptConversion(TO_YEAR_MONTH_DAY);
- }
-
- public void testConversionsFromDuration() throws Exception
- {
- Test FromDuration = new Test();
-
- FromDuration.initialize(TO_DURATION);
-
- FromDuration.attemptConversion(TO_DURATION);
- FromDuration.attemptConversion(TO_DATE_TIME);
- FromDuration.attemptConversion(TO_TIME);
- FromDuration.attemptConversion(TO_DAY);
- FromDuration.attemptConversion(TO_MONTH);
- FromDuration.attemptConversion(TO_MONTH_DAY);
- FromDuration.attemptConversion(TO_YEAR);
- FromDuration.attemptConversion(TO_YEAR_MONTH);
- FromDuration.attemptConversion(TO_YEAR_MONTH_DAY);
- }
-
- public void testConversionsFromMonth() throws Exception
- {
- Test FromMonth = new Test();
-
- FromMonth.initialize(TO_MONTH);
-
- FromMonth.attemptConversion(TO_MONTH);
- }
-
- public void testConversionsFromMonthDay() throws Exception
- {
- Test FromMonthDay = new Test();
-
- FromMonthDay.initialize(TO_MONTH_DAY);
- FromMonthDay.attemptConversion(TO_MONTH_DAY);
- FromMonthDay.attemptConversion(TO_MONTH);
- FromMonthDay.attemptConversion(TO_DAY);
- }
-
- public void testConversionsFromTime() throws Exception
- {
- Test FromTime = new Test();
-
- FromTime.initialize(TO_TIME);
-
- FromTime.attemptConversion(TO_TIME);
- }
-
- public void testConversionsFromYear() throws Exception
- {
- Test FromYear = new Test();
-
- FromYear.initialize(TO_YEAR);
-
- FromYear.attemptConversion(TO_YEAR);
- }
-
- public void testConversionsFromYearMonth() throws Exception
- {
- Test FromYearMonth = new Test();
-
- FromYearMonth.initialize(TO_YEAR_MONTH);
-
- FromYearMonth.attemptConversion(TO_YEAR_MONTH);
- FromYearMonth.attemptConversion(TO_MONTH);
- FromYearMonth.attemptConversion(TO_YEAR);
- }
-
- public void testConversionsFromYearMonthDay() throws Exception
- {
- Test FromYearMonthDay = new Test();
-
- FromYearMonthDay.initialize(TO_YEAR_MONTH_DAY);
-
- FromYearMonthDay.attemptConversion(TO_YEAR_MONTH_DAY);
- FromYearMonthDay.attemptConversion(TO_YEAR_MONTH);
- FromYearMonthDay.attemptConversion(TO_MONTH_DAY);
- FromYearMonthDay.attemptConversion(TO_YEAR);
- FromYearMonthDay.attemptConversion(TO_MONTH);
- FromYearMonthDay.attemptConversion(TO_DAY);
- }
-
- // Ensure that strings that should be recognized by toDate do not
- // result in a null Date value.
-
- public void testToDateFormats() throws Exception
- {
- String[] validStrings =
- {
- "2006-03-31T03:30:45.123Z",
- "-2006-03-31T03:30:45.1Z",
- "2006-03-31T03:30:45Z",
- "2006-03-31T03:30:45.123",
- "2006-03-31T03:30:45.1",
- "-2006-03-31T03:30:45",
- "2006-03-31T03:30:45.123 EDT",
- "2006-03-31T03:30:45.1 EDT",
- "2006-03-31T03:30:45 EDT",
- "---05 PST",
- "---04",
- "--12 GMT",
- "--12",
- "--08-08 EST",
- "--08-08",
- "1976-08-08 PDT",
- "1976-08-08",
- "88-12 CST",
- "1988-12",
- "2005 CDT",
- "1999",
- "P2006Y 08M 10D T 12H 24M 07S",
- "P2006Y 10D T 12H",
- "-P2006Y 08M 10D T 07S.2",
- "P08M 10D T 07H",
- "-P 04M 10DT12H 24S.88",
- "PT12H"
- };
-
- for (int i = 0; i < validStrings.length; i++)
- {
- assertNotNull("DataHelper.toData() should not return null for '" + validStrings[i] + "'.",
- data_helper.toDate(validStrings[i]));
- }
-
- }
-
- public void testDateTime(){
- // a small bolt on test case resulting from a fix for JIRA TUSCANY-1044
- String date = DataHelper.INSTANCE.toDateTime(DataHelper.INSTANCE.toCalendar("2007-02-04T00:00:00.200Z"));
- assertEquals("2007-02-04T00:00:00.200Z", date);
- }
-
-}
-
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DefineOpenContentPropertyTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DefineOpenContentPropertyTestCase.java
deleted file mode 100644
index bbbad11f53..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DefineOpenContentPropertyTestCase.java
+++ /dev/null
@@ -1,133 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import junit.framework.TestCase;
-
-
-public class DefineOpenContentPropertyTestCase extends TestCase {
- private final String TEST_MODEL = "/open.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/open";
- private final String TEST_DATA = "/openContentProperty.xml";
-
- private TypeHelper typeHelper;
- private XSDHelper xsdHelper;
- private XMLHelper xmlHelper;
- private DataFactory dataFactory;
-
- public void testDefineOpenContentProperty() throws IOException {
- Type quoteType = typeHelper.getType(TEST_NAMESPACE, "OpenQuote");
- DataObject quote = dataFactory.create(quoteType);
-
- Property symbolProperty = quoteType.getProperty("symbol");
- assertFalse(symbolProperty.isOpenContent());
-
- quote.setString(symbolProperty, "s1");
-
- Property companyProperty = typeHelper.getOpenContentProperty(TEST_NAMESPACE, "company");
- assertTrue(companyProperty.isOpenContent());
-
- DataObject company = quote.createDataObject(companyProperty);
- company.setString("name", "FlyByNightTechnology");
-
- Property priceProperty = typeHelper.getOpenContentProperty(TEST_NAMESPACE, "price");
- assertTrue(priceProperty.isOpenContent());
-
- quote.getList(priceProperty).add(new BigDecimal("1000.0"));
-
- // Define a new SDO open content property with simple type
- DataObject p = dataFactory.create("commonj.sdo", "Property");
- p.set("type", typeHelper.getType("commonj.sdo", "Decimal"));
- p.set("name", "highPrice");
- Property highPrice = typeHelper.defineOpenContentProperty(TEST_NAMESPACE, p);
- assertTrue(highPrice.isOpenContent());
-
- quote.setBigDecimal(highPrice, new BigDecimal("1100.0"));
-
- // Define a new SDO open content property with complex type
- DataObject mutualFundQuotePropertyDef = dataFactory.create("commonj.sdo", "Property");
- mutualFundQuotePropertyDef.set("type", quoteType);
- mutualFundQuotePropertyDef.set("name", "mutualFundQuote");
- mutualFundQuotePropertyDef.setBoolean("containment", true);
- Property mutualFundQuoteProperty = typeHelper.defineOpenContentProperty(TEST_NAMESPACE, mutualFundQuotePropertyDef);
- assertTrue(mutualFundQuoteProperty.isOpenContent());
-
- DataObject mutualFundQuote = quote.createDataObject(mutualFundQuoteProperty);
- mutualFundQuote.setString("symbol", "mutual-1");
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(quote, TEST_NAMESPACE, "openStockQuote", baos);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(TEST_DATA)));
-
- // validate existing property condition
- Property duplicateProp = typeHelper.defineOpenContentProperty(TEST_NAMESPACE, p);
- assertTrue(highPrice.equals(duplicateProp));
-
- // validate error condition, where new property exists with different type
- boolean errorCondition = false;
- try
- {
- p = dataFactory.create("commonj.sdo", "Property");
- p.set("type", typeHelper.getType("commonj.sdo", "String"));
- p.set("name", "highPrice");
- highPrice = typeHelper.defineOpenContentProperty(TEST_NAMESPACE, p);
- }
- catch( IllegalArgumentException ex )
- {
- errorCondition = true;
- }
- assertTrue(errorCondition);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- HelperContext hc = SDOUtil.createHelperContext();
- typeHelper = hc.getTypeHelper();
- dataFactory = hc.getDataFactory();
- xsdHelper = hc.getXSDHelper();
- xmlHelper = hc.getXMLHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- xsdHelper.define(inputStream, url.toString());
- inputStream.close();
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java
deleted file mode 100644
index 5b3e814f69..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DefineTypeTestCase.java
+++ /dev/null
@@ -1,704 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class DefineTypeTestCase extends TestCase
-{
- private static final String CUSTOMER1_XML = "/customer1.xml";
- private static final String CUSTOMER2_XML = "/customer2.xml";
- private static final String OPEN_XML = "/open2.xml";
- private static final String MIXED_XML = "/mixed2.xml";
- private static final String MIXEDOPEN_XML = "/mixedopen.xml";
-
- HelperContext hc;
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- }
-
- public void testDefineTypeRoundTrip() throws Exception {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type intType = types.getType("commonj.sdo", "Int");
- Type stringType = types.getType("commonj.sdo", "String");
-
- Property xmlElementProp = hc.getXSDHelper().getGlobalProperty("commonj.sdo/xml", "xmlElement", false);
-
- // create a new Type for Customers
- DataObject customerType = factory.create("commonj.sdo",
- "Type");
- customerType.set("uri", "http://example.com/customer");
- customerType.set("name", "Customer");
-
- // create a customer number property as an XSD attribute
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
- custNumProperty.setBoolean(xmlElementProp, false);
-
- // create a first name property as an XSD attribute
- DataObject firstNameProperty =
- customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
- firstNameProperty.setBoolean(xmlElementProp, false);
-
- // create a last name property as an XSD attribute
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
- lastNameProperty.setBoolean(xmlElementProp, false);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(customerType, "commonj.sdo", "type", baos);
-
- ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
- XMLDocument xdoc = xmlHelper.load(bais);
-
- customerType = xdoc.getRootObject();
-
- // now define the Customer type so that customers can be made
- types.define(customerType);
-
- DataObject customer1 = factory.create("http://example.com/customer",
- "Customer");
-
- customer1.setInt("custNum", 1);
- customer1.set("firstName", "John");
- customer1.set("lastName", "Adams");
- DataObject customer2 = factory.create("http://example.com/customer",
- "Customer");
- customer2.setInt("custNum", 2);
- customer2.set("firstName", "Jeremy");
- customer2.set("lastName", "Pavick");
-
- assertNotNull(customer1);
- Type type = customer1.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- assertNotNull(customer2);
- type = customer2.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer1,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER1_XML)));
-
- baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer2,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER2_XML)));
- }
-
- public void testDefineType() throws Exception
- {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type intType = types.getType("commonj.sdo", "Int");
- Type stringType = types.getType("commonj.sdo", "String");
-
- Property xmlElementProp = hc.getXSDHelper().getGlobalProperty("commonj.sdo/xml", "xmlElement", false);
-
- // create a new Type for Customers
- DataObject customerType = factory.create("commonj.sdo",
- "Type");
- customerType.set("uri", "http://example.com/customer");
- customerType.set("name", "Customer");
-
- // create a customer number property
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
- custNumProperty.setBoolean(xmlElementProp, false);
-
- // create a first name property
- DataObject firstNameProperty =
- customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
- firstNameProperty.setBoolean(xmlElementProp, false);
-
- // create a last name property
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
- lastNameProperty.setBoolean(xmlElementProp, false);
-
- // now define the Customer type so that customers can be made
- types.define(customerType);
-
- DataObject customer1 = factory.create("http://example.com/customer",
- "Customer");
-
- customer1.setInt("custNum", 0);
- assertTrue(customer1.isSet("custNum"));
-
- customer1.setInt("custNum", 1);
- customer1.set("firstName", "John");
- customer1.set("lastName", "Adams");
- DataObject customer2 = factory.create("http://example.com/customer",
- "Customer");
- customer2.setInt("custNum", 2);
- customer2.set("firstName", "Jeremy");
- customer2.set("lastName", "Pavick");
-
- assertNotNull(customer1);
- Type type = customer1.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- assertNotNull(customer2);
- assertNotNull(types.getOpenContentProperty("http://example.com/customer", "customer"));
-
- type = customer2.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer1,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER1_XML)));
-
- baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer2,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER2_XML)));
- }
-
- public void testDefineDataType() throws Exception
- {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
- XSDHelper xsdHelper = hc.getXSDHelper();
-
- Property xmlElementProp = hc.getXSDHelper().getGlobalProperty("commonj.sdo/xml", "xmlElement", false);
- Property javaClassProperty = xsdHelper.getGlobalProperty("commonj.sdo/java", "javaClass", false);
-
- // create a data types
- DataObject intType = factory.create("commonj.sdo", "Type");
- intType.set("uri", "http://example.com/customer");
- intType.set("name", "MyIntType");
- intType.setBoolean("dataType", true);
- intType.set(javaClassProperty, "int");
-
- DataObject stringType = factory.create("commonj.sdo", "Type");
- stringType.set("uri", "http://example.com/customer");
- stringType.set("name", "MyStringType");
- stringType.setBoolean("dataType", true);
- stringType.set(javaClassProperty, "java.lang.String");
-
- // create a new Type for Customers
- DataObject customerType = factory.create("commonj.sdo",
- "Type");
- customerType.set("uri", "http://example.com/customer");
- customerType.set("name", "Customer");
-
- // create a customer number property
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
- custNumProperty.setBoolean(xmlElementProp, false);
-
- // create a first name property
- DataObject firstNameProperty =
- customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
- firstNameProperty.setBoolean(xmlElementProp, false);
-
- // create a last name property
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
- lastNameProperty.setBoolean(xmlElementProp, false);
-
- // now define the Customer type so that customers can be made
- types.define(customerType);
-
- DataObject customer1 = factory.create("http://example.com/customer",
- "Customer");
-
- customer1.setInt("custNum", 1);
- customer1.set("firstName", "John");
- customer1.set("lastName", "Adams");
- DataObject customer2 = factory.create("http://example.com/customer",
- "Customer");
- customer2.setInt("custNum", 2);
- customer2.set("firstName", "Jeremy");
- customer2.set("lastName", "Pavick");
-
- assertNotNull(customer1);
- Type type = customer1.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
-
- type = type.getProperty("custNum").getType();
- assertEquals(type.getURI(), "http://example.com/customer");
- assertEquals(type.getName(), "MyIntType");
- assertTrue(type.isDataType());
-
- assertNotNull(customer2);
- assertNotNull(types.getOpenContentProperty("http://example.com/customer", "customer"));
-
- type = customer2.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer1,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER1_XML)));
-
- baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer2,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER2_XML)));
- }
-
- public void testFastDefineType() throws Exception
- {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type intType = types.getType("commonj.sdo", "Int");
- Type stringType = types.getType("commonj.sdo", "String");
-
- // create a new Type for Customers
- Type customerType = SDOUtil.createType(hc, "http://example.com/customer", "Customer", false);
-
- // create a customer number property
- Property custNumProperty = SDOUtil.createProperty(customerType, "custNum", intType);
- SDOUtil.setPropertyXMLKind(custNumProperty, false);
-
- // create a first name property
- Property firstNameProperty = SDOUtil.createProperty(customerType, "firstName", stringType);
- SDOUtil.setPropertyXMLKind(firstNameProperty, false);
-
- // create a last name property
- Property lastNameProperty = SDOUtil.createProperty(customerType, "lastName", stringType);
- SDOUtil.setPropertyXMLKind(lastNameProperty, false);
-
- DataObject customer1 = factory.create("http://example.com/customer",
- "Customer");
- customer1.setInt("custNum", 1);
- customer1.set("firstName", "John");
- customer1.set("lastName", "Adams");
- DataObject customer2 = factory.create("http://example.com/customer",
- "Customer");
- customer2.setInt("custNum", 2);
- customer2.set("firstName", "Jeremy");
- customer2.set("lastName", "Pavick");
-
- assertNotNull(customer1);
- Type type = customer1.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- assertNotNull(customer2);
- type = customer2.getType();
- assertNotNull(type.getProperty("custNum"));
- assertNotNull(type.getProperty("firstName"));
- assertNotNull(type.getProperty("lastName"));
- assertEquals(type.getProperty("custNum").getType(), intType);
- assertEquals(type.getProperty("firstName").getType(), stringType);
- assertEquals(type.getProperty("lastName").getType(), stringType);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer1,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER1_XML)));
-
- baos = new ByteArrayOutputStream();
- xmlHelper.save(
- customer2,
- "http://example.com/customer",
- "Customer", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(CUSTOMER2_XML)));
- }
-
- public void testDefineSequencedType() throws Exception
- {
-
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type stringType = types.getType("commonj.sdo", "String");
- Type decimalType = types.getType("commonj.sdo", "Decimal");
-
- // Define a new mixed type - MixedQuote
- DataObject mixedQuoteType = factory.create("commonj.sdo", "Type");
- mixedQuoteType.set("uri", "http://www.example.com/mixed");
- mixedQuoteType.set("name", "MixedQuote");
- mixedQuoteType.set("sequenced", Boolean.TRUE);
-
- DataObject symbolProperty = mixedQuoteType.createDataObject("property");
- symbolProperty.set("name", "symbol");
- symbolProperty.set("type", stringType);
-
- DataObject companyNameProperty = mixedQuoteType.createDataObject("property");
- companyNameProperty.set("name", "companyName");
- companyNameProperty.set("type", stringType);
-
- DataObject priceProperty = mixedQuoteType.createDataObject("property");
- priceProperty.set("name", "price");
- priceProperty.set("type", decimalType);
-
- DataObject quotesProperty = mixedQuoteType.createDataObject("property");
- quotesProperty.set("name", "quotes");
- quotesProperty.set("type", mixedQuoteType);
- quotesProperty.set("many", Boolean.TRUE);
- quotesProperty.set("containment", Boolean.TRUE);
-
- types.define(mixedQuoteType);
-
- DataObject quote = factory.create("http://www.example.com/mixed", "MixedQuote");
-
- assertTrue(quote.getType().isSequenced());
-
- Sequence sequence = quote.getSequence();
-
- sequence.addText("\n ");
-
- quote.setString("symbol", "fbnt");
-
- sequence.addText("\n ");
-
- quote.setString("companyName", "FlyByNightTechnology");
-
- sequence.addText("\n some text\n ");
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- sequence.addText("\n more text\n ");
-
- // quote.setBigDecimal("price", new BigDecimal("1000.0"));
- sequence.add("price", new BigDecimal("1000.0"));
-
- sequence.addText("\n");
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(quote, "http://www.example.com/mixed", "mixedStockQuote", baos);
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(MIXED_XML)));
- }
-
- public void testDefineSequencedOpenType() throws Exception
- {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type stringType = types.getType("commonj.sdo", "String");
- Type decimalType = types.getType("commonj.sdo", "Decimal");
-
- // Define a new mixed type - MixedQuote
- DataObject mixedQuoteType = factory.create("commonj.sdo", "Type");
- mixedQuoteType.set("uri", "http://www.example.com/mixed");
- mixedQuoteType.set("name", "MixedOpenQuote");
- mixedQuoteType.set("sequenced", Boolean.TRUE);
- mixedQuoteType.set("open", Boolean.TRUE);
-
-// DataObject symbolProperty = mixedQuoteType.createDataObject("property");
-// symbolProperty.set("name", "symbol");
-// symbolProperty.set("type", stringType);
-
- DataObject companyNameProperty = mixedQuoteType.createDataObject("property");
- companyNameProperty.set("name", "companyName");
- companyNameProperty.set("type", stringType);
-
- DataObject priceProperty = mixedQuoteType.createDataObject("property");
- priceProperty.set("name", "price");
- priceProperty.set("type", decimalType);
-
- DataObject quotesProperty = mixedQuoteType.createDataObject("property");
- quotesProperty.set("name", "quotes");
- quotesProperty.set("type", mixedQuoteType);
- quotesProperty.set("many", Boolean.TRUE);
- quotesProperty.set("containment", Boolean.TRUE);
-
- types.define(mixedQuoteType);
-
- // Define a global type
- DataObject globalType = factory.create("commonj.sdo", "Type");
- globalType.set("uri", "http://www.example.com/open");
- // Don't set the type's name - null is used for types containing global properties.
-
- DataObject symbolProperty = globalType.createDataObject("property");
- symbolProperty.set("name", "symbol");
- symbolProperty.set("type", stringType);
- symbolProperty.set("containment", Boolean.TRUE);
-
- types.define(globalType);
-
- DataObject quote = factory.create("http://www.example.com/mixed", "MixedOpenQuote");
-
- assertTrue(quote.getType().isSequenced());
-
- Sequence sequence = quote.getSequence();
-
- sequence.addText("\n ");
-
- Type definedGlobalType = types.getType("http://www.example.com/open", "DocumentRoot");
-
- Property definedSymbolProperty = definedGlobalType.getProperty("symbol");
- quote.setString(definedSymbolProperty, "fbnt");
-
- sequence.addText("\n ");
-
- quote.setString("companyName", "FlyByNightTechnology");
-
- sequence.addText("\n some text\n ");
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- sequence.addText("\n more text\n ");
-
- // quote.setBigDecimal("price", new BigDecimal("1000.0"));
- sequence.add("price", new BigDecimal("1000.0"));
-
- sequence.addText("\n");
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(quote, "http://www.example.com/mixed", "mixedOpenStockQuote", baos);
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(MIXEDOPEN_XML)));
- }
-
-
- public void testDefineOpenType() throws Exception
- {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- Type stringType = types.getType("commonj.sdo", "String");
- Type decimalType = types.getType("commonj.sdo", "Decimal");
-
- Property xmlElementProp = hc.getXSDHelper().getGlobalProperty("commonj.sdo/xml", "xmlElement", false);
-
- // Define a new open type - OpenQuote
- DataObject openQuoteType = factory.create("commonj.sdo", "Type");
- openQuoteType.set("uri", "http://www.example.com/open");
- openQuoteType.set("name", "OpenQuote");
- openQuoteType.set("open", Boolean.TRUE);
- openQuoteType.setBoolean("open", true);
-
- types.define(openQuoteType);
-
- // Define new type - CompanyType
- DataObject companyType = factory.create("commonj.sdo", "Type");
- companyType.set("uri", "http://www.example.com/open");
- companyType.set("name", "CompanyType");
-
- // Create CompanyType property - "name" as an XSD attribute
- DataObject nameProperty = companyType.createDataObject("property");
- nameProperty.set("name", "name");
- nameProperty.set("type", stringType);
- nameProperty.set("containment", Boolean.TRUE);
- nameProperty.setBoolean(xmlElementProp, false);
-
- types.define(companyType);
-
- // Define open content property - company
- DataObject symbolProperty = factory.create("commonj.sdo", "Property");
- symbolProperty.set("name", "symbol");
- symbolProperty.set("type", stringType);
- types.defineOpenContentProperty("http://www.example.com/open", symbolProperty);
-
- // Define open content property - company
- DataObject companyProperty = factory.create("commonj.sdo", "Property");
- companyProperty.set("name", "company");
- companyProperty.set("type", companyType);
- companyProperty.set("containment", Boolean.TRUE);
- types.defineOpenContentProperty("http://www.example.com/open", companyProperty);
-
- // Define open content property - price
- DataObject priceProperty = factory.create("commonj.sdo", "Property");
- priceProperty.set("name", "price");
- priceProperty.set("type", decimalType);
- types.defineOpenContentProperty("http://www.example.com/open", priceProperty);
-
- // Create DataObject instances
- DataObject openQuote = factory.create("http://www.example.com/open", "OpenQuote");
- assertTrue(openQuote.getType().isOpen());
-
- Property definedSymbolProperty = types.getOpenContentProperty("http://www.example.com/open", "symbol");
- openQuote.set(definedSymbolProperty, "s1");
-
- Property definedCompanyProperty = types.getOpenContentProperty("http://www.example.com/open", "company");
- DataObject company = openQuote.createDataObject(definedCompanyProperty);
- company.setString("name", "FlyByNightTechnology");
-
- Property definedPriceProperty = types.getOpenContentProperty("http://www.example.com/open", "price");
- openQuote.setBigDecimal(definedPriceProperty, new BigDecimal("1000.0"));
-
- assertEquals(definedPriceProperty.getType(), decimalType);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlHelper.save(
- openQuote,
- "http://www.example.com/open",
- "openStockQuote", baos);
- assertTrue(
- TestUtil.equalXmlFiles(
- new ByteArrayInputStream(baos.toByteArray()),
- getClass().getResource(OPEN_XML)));
- }
-
-/**
- * Type T1 has property t1p of type T2, type T2 has property t2p of type T1.
- * Ensure that the typehelper can handle this circularity
- */
-public void testInterdependentTypes()
- {
- DataObject t1 = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- DataObject t1p = DataFactory.INSTANCE.create("commonj.sdo", "Property");
- DataObject t2 = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- DataObject t2p = DataFactory.INSTANCE.create("commonj.sdo", "Property");
-
- t1.set("name", "T1");
- t1.set("uri", "foo");
- t2.set("name", "T2");
- t2.set("uri", "foo");
-
- t1.getList("property").add(t1p);
- t2.getList("property").add(t2p);
- t1p.set("name", "t1p");
- t1p.set("type", t2);
- t2p.set("name", "t2p");
- t2p.set("type", t1);
-
- List ts = new ArrayList();
- ts.add(t1);
- ts.add(t2);
- List types = hc.getTypeHelper().define(ts);
-
- Type first = (Type)types.get(0);
- Type second = (Type)types.get(1);
-
- Type firstsPropsType = ((Property)first.getProperties().get(0)).getType();
- Type secondPropsType = ((Property)second.getProperties().get(0)).getType();
-
- assertNotNull(first);
- assertNotNull(second);
- assertEquals(first, secondPropsType);
- assertEquals(second, firstsPropsType);
-
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java
deleted file mode 100644
index 5bde232a72..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DeserializationNoSchemaTestCase.java
+++ /dev/null
@@ -1,124 +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.
- */
-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;
-
- private final String xmlStr =
- "<?xml version=\"1.0\" encoding=\"ASCII\"?> " +
- "<simple:stockQuote xmlns:simple=\"www.example.com/simple\"> " +
- "<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>";
-
- public void testLoadQuoteXMLDoc() throws IOException
- {
- XMLHelper xmlHelper = hc.getXMLHelper();
-/* URL url = getClass().getResource("/quote.xml");
- InputStream inputStream = url.openStream();*/
- XMLDocument doc = xmlHelper.load(xmlStr);
- 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();
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DotNameTest.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DotNameTest.java
deleted file mode 100644
index 476f34c328..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DotNameTest.java
+++ /dev/null
@@ -1,78 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-
-public class DotNameTest extends TestCase {
- private final String TEST_MODEL = "/dotNames.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/dotNames";
- private HelperContext hc;
- private TypeHelper th;
- private DataFactory df;
-
- /**
- * Simple Dynamic SDO 2 test.
- */
- public void testDynamic() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "DotNameType");
- DataObject quote = df.create(quoteType);
-
-
- quote.getList("property.2.1").add(TEST_NAMESPACE);
- assertTrue(quote.isSet("property.2.1"));
- assertSame(quote.get("property.2.1.0"), TEST_NAMESPACE);
- quote.getList("foo.bar").add(TEST_NAMESPACE);
- assertTrue(quote.isSet("foo.bar"));
- assertSame(quote.get("foo.bar.0"), TEST_NAMESPACE);
- }
-
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
- df = hc.getDataFactory();
-
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
-
-
- }
-
-} \ No newline at end of file
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DynamicTypesComparisonTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DynamicTypesComparisonTestCase.java
deleted file mode 100644
index 1a9deaf775..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/DynamicTypesComparisonTestCase.java
+++ /dev/null
@@ -1,256 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * Test to compare data objects created with SDO API with one created from XML
- */
-public class DynamicTypesComparisonTestCase extends TestCase {
- private final String COMMONJ_SDO = "commonj.sdo";
-
- private final String DYNAMIC_ROOT_TYPE_0 = "TestType0";
-
- private final String DYNAMIC_TYPES_SCHEMA_STRING = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<xsd:schema\n"
- + " targetNamespace=\"http://www.example.com/dynamicTypesFromSchemaSimple\"\n"
- + " xmlns:dtfs=\"http://www.example.com/dynamicTypesFromSchemaSimple\"\n"
- + " xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n" + " \n"
- + " <xsd:complexType name=\"TestType0\" mixed=\"true\">\n" + " <xsd:sequence>\n"
- + " <xsd:element name=\"aString\" minOccurs=\"0\" maxOccurs=\"unbounded\" type=\"xsd:string\"/>\n"
- + " <xsd:element name=\"aBoolean\" minOccurs=\"0\" maxOccurs=\"unbounded\" type=\"xsd:boolean\"/>\n"
- + " <xsd:element name=\"aFloat\" minOccurs=\"0\" maxOccurs=\"unbounded\" type=\"xsd:float\"/>\n"
- + " </xsd:sequence>\n" + " </xsd:complexType>\n" + " \n"
- + " <xsd:element name=\"testElement0\" type=\"dtfs:TestType0\"/>\n" + " \n" + "</xsd:schema>\n";
-
- private final String DYNAMIC_TYPES_URI = "http://www.example.com/dynamicTypesFromSchemaSimple";
-
- private final String SDO_FROM_API_AND_DYN = "object created with API with dynamic type ";
-
- private final String SDO_FROM_API_AND_REF = "object created with API with type from XSD";
-
- private final String SDO_FROM_XML_AND_REF = "object created with XML with type from XSD";
-
- private final String TEST_XML_DOC_0_STRING = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
- + "<dtfs:testElement0 xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n"
- + " xmlns:dtfs=\"http://www.example.com/dynamicTypesFromSchemaSimple\">\n"
- + " <aString>This is a repeated string.</aString>\n" + " <aString>This is a repeated string.</aString>\n"
- + " <aBoolean>true</aBoolean>\n" + " <aBoolean>false</aBoolean>\n" + " <aBoolean>true</aBoolean>\n"
- + " <aBoolean>1</aBoolean>\n" + " <aBoolean>0</aBoolean>\n" + " <aFloat>0</aFloat>\n"
- + " <aFloat>12.5</aFloat>\n" + " <aFloat>0</aFloat>\n" + "</dtfs:testElement0>\n";
-
- private void comparePropertyObjects(String propName, String name1, String name2, Object propObj1, Object propObj2) {
- if (propObj1 == null) {
- if (propObj2 != null) {
- localFail("property " + propName + " for " + name1 + " was null but " + name2 + " was '" + propObj2
- + "'");
- }
- } else if (propObj2 == null) {
- localFail("property " + propName + " for " + name2 + " was null but " + name1 + " was '" + propObj1 + "'");
- } else {
- if (!propObj1.equals(propObj2)) {
- localFail("property " + propName + " for " + name1 + " was '" + propObj1 + "' but " + name2 + " was '"
- + propObj2 + "'");
- }
- }
- }
-
- private void compareSequencesIgnoringWhitespace(String name1, String name2, Sequence sequence1, Sequence sequence2) {
- if (sequence1 == null) {
- if (sequence2 != null) {
- localFail("sequence for " + name1 + " was null but " + name2 + " was not null");
- }
- } else if (sequence2 == null) {
- localFail("sequence for " + name2 + " was null but " + name1 + " was not null");
- } else {
- List trimmedSeq1 = new ArrayList();
- List trimmedSeq2 = new ArrayList();
- trimWhitespaceFromSequence(trimmedSeq1, sequence1);
- trimWhitespaceFromSequence(trimmedSeq2, sequence2);
- int size1 = trimmedSeq1.size();
- int size2 = trimmedSeq2.size();
- if (size1 != size2) {
- localFail("lengths of trimmed sequences differ: " + name1 + " was " + size1 + ", " + name2 + " was "
- + size2);
- } else {
- Object[] objArr1 = trimmedSeq1.toArray();
- Object[] objArr2 = trimmedSeq2.toArray();
- for (int i = 0; i < size1; i++) {
- Object obj1 = objArr1[i];
- Object obj2 = objArr2[i];
- if (obj1 == null) {
- if (obj2 != null) {
- localFail("sequence for " + name1 + " had null element for which " + name2 + " had '" + obj2
- + "'");
- }
- } else if (obj2 == null) {
- localFail("sequence for " + name2 + " had null element for which " + name1 + " had '" + obj1 + "'");
- } else {
- if (!obj1.equals(obj2)) {
- localFail("sequences did not match: " + name1 + " had '" + obj1 + "' but " + name2 + " had '"
- + obj2 + "'");
- }
- }
- }
- }
- }
- }
-
- private void getAndCompareProperties(String propName, DataObject xmlAndRefTypDO, DataObject apiAndDynTypDO,
- DataObject apiAndRefTypDO) {
- Object xmlRefProperty = xmlAndRefTypDO.get(propName);
- Object apiDynProperty = apiAndDynTypDO.get(propName);
- Object apiRefProperty = apiAndRefTypDO.get(propName);
- comparePropertyObjects(propName, SDO_FROM_XML_AND_REF, SDO_FROM_API_AND_DYN, xmlRefProperty, apiDynProperty);
- comparePropertyObjects(propName, SDO_FROM_XML_AND_REF, SDO_FROM_API_AND_REF, xmlRefProperty, apiRefProperty);
- }
-
- private void localFail(String message) {
- // System.err.println(message);
- fail(message);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- private void specifyProperty(DataObject containingTypeDO, String nameString, Type typ, boolean isMany) {
- DataObject subordinateProperty = containingTypeDO.createDataObject("property");
- subordinateProperty.set("name", nameString);
- subordinateProperty.set("type", typ);
- subordinateProperty.setBoolean("many", isMany);
- }
-
- /**
- * test #0 of Data Object primitive datatypes
- */
- public void testDynamicTypesGroup0DO() throws IOException {
- HelperContext hcDO = SDOUtil.createHelperContext();
-
- TypeHelper thDO = hcDO.getTypeHelper();
- DataFactory dfDO = hcDO.getDataFactory();
-
- // create a container object type
- DataObject containerTypeDO = dfDO.create("commonj.sdo", "Type");
- containerTypeDO.set("uri", DYNAMIC_TYPES_URI);
- containerTypeDO.set("name", DYNAMIC_ROOT_TYPE_0);
- containerTypeDO.set("sequenced", Boolean.TRUE);
-
- specifyProperty(containerTypeDO, "aString", thDO.getType(COMMONJ_SDO, "String"), true);
- specifyProperty(containerTypeDO, "aBoolean", thDO.getType(COMMONJ_SDO, "Boolean"), true);
- specifyProperty(containerTypeDO, "aFloat", thDO.getType(COMMONJ_SDO, "Float"), true);
-
- Type containerType = thDO.define(containerTypeDO);
- assertNotNull(containerType);
-
- DataObject doFromApiAndDynTyp = dfDO.create(containerType);
- assertNotNull(doFromApiAndDynTyp);
- doFromApiAndDynTyp.getList("aString").add("This is a repeated string.");
- doFromApiAndDynTyp.getList("aString").add("This is a repeated string.");
- doFromApiAndDynTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndDynTyp.getList("aBoolean").add(new Boolean(false));
- doFromApiAndDynTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndDynTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndDynTyp.getList("aBoolean").add(new Boolean(false));
- doFromApiAndDynTyp.getList("aFloat").add(new Float(0));
- doFromApiAndDynTyp.getList("aFloat").add(new Float(12.5));
- doFromApiAndDynTyp.getList("aFloat").add(new Float(0));
-
- Type rootType = thDO.getType(DYNAMIC_TYPES_URI, DYNAMIC_ROOT_TYPE_0);
- assertNotNull(rootType);
- assertSame(containerType, rootType);
-
- // now load xml to get a reference data object using schema
- HelperContext hcRef = SDOUtil.createHelperContext();
- XSDHelper xsdHelper = hcRef.getXSDHelper();
- List typeList = xsdHelper.define(DYNAMIC_TYPES_SCHEMA_STRING);
- assertNotNull(typeList);
- TypeHelper thRef = hcRef.getTypeHelper();
- Type rootTypeRef = thRef.getType(DYNAMIC_TYPES_URI, DYNAMIC_ROOT_TYPE_0);
-
- assertNotNull(rootTypeRef);
-
- XMLHelper xhRef = hcRef.getXMLHelper();
- // XMLDocument docRef =
- // xhRef.load(getClass().getResourceAsStream(TEST_XML_DOC_0));
- XMLDocument docRef = xhRef.load(TEST_XML_DOC_0_STRING);
- DataObject doFromXmlAndRefTyp = docRef.getRootObject();
-
- assertNotNull(doFromXmlAndRefTyp);
-
- // create a data object using dynamic API from reference type
- DataFactory dfRef = hcRef.getDataFactory();
- DataObject doFromApiAndRefTyp = dfRef.create(rootTypeRef);
- assertNotNull(doFromApiAndRefTyp);
- doFromApiAndRefTyp.getList("aString").add("This is a repeated string.");
- doFromApiAndRefTyp.getList("aString").add("This is a repeated string.");
- doFromApiAndRefTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndRefTyp.getList("aBoolean").add(new Boolean(false));
- doFromApiAndRefTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndRefTyp.getList("aBoolean").add(new Boolean(true));
- doFromApiAndRefTyp.getList("aBoolean").add(new Boolean(false));
- doFromApiAndRefTyp.getList("aFloat").add(new Float(0));
- doFromApiAndRefTyp.getList("aFloat").add(new Float(12.5));
- doFromApiAndRefTyp.getList("aFloat").add(new Float(0));
-
- getAndCompareProperties("aString", doFromXmlAndRefTyp, doFromApiAndDynTyp, doFromApiAndRefTyp);
- getAndCompareProperties("aBoolean", doFromXmlAndRefTyp, doFromApiAndDynTyp, doFromApiAndRefTyp);
- getAndCompareProperties("aFloat", doFromXmlAndRefTyp, doFromApiAndDynTyp, doFromApiAndRefTyp);
- Sequence seqFromXmlAndRefTyp = doFromXmlAndRefTyp.getSequence();
- Sequence seqFromApiAndDynTyp = doFromApiAndDynTyp.getSequence();
- Sequence seqFromApiAndRefTyp = doFromApiAndRefTyp.getSequence();
- compareSequencesIgnoringWhitespace(SDO_FROM_XML_AND_REF, SDO_FROM_API_AND_DYN, seqFromXmlAndRefTyp,
- seqFromApiAndDynTyp);
- compareSequencesIgnoringWhitespace(SDO_FROM_XML_AND_REF, SDO_FROM_API_AND_REF, seqFromXmlAndRefTyp,
- seqFromApiAndRefTyp);
- }
-
- private void trimWhitespaceFromSequence(List trimmedSeq, Sequence sequence) {
- if (sequence != null) {
- for (int i = 0; i < sequence.size(); i++) {
- Object obj = sequence.getValue(i);
- if (obj instanceof String) {
- String str = ((String) obj).trim();
- if (str.length() > 0) {
- trimmedSeq.add(str);
- }
- } else {
- trimmedSeq.add(obj);
- }
- }
- }
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ExpectedExceptionsTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ExpectedExceptionsTestCase.java
deleted file mode 100644
index 7674cda42b..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/ExpectedExceptionsTestCase.java
+++ /dev/null
@@ -1,1878 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.List;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import com.example.ExpectedException.ExpectedExceptionFactory;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-import junit.framework.TestCase;
-
-/**
- * Verifies the Exception related behavior which is explicitly identified in
- * the 2.1 SDO Specification.
- */
-public class ExpectedExceptionsTestCase extends TestCase {
-
- private static final String TEST_URI = "http://example.com/ExpectedException";
- private static final String TEST_TYPE_NAME = "ExpectedExceptionType";
- private static final String SEQ_TYPE_NAME = "SequenceReadOnlyType";
- private static boolean typeDefined = false;
- private static HelperContext helperContext;
- private static DataObject testDO;
- private static DataObject seqDO;
-
- /**
- * Verifies the following statement.
- * Get<T>(String path) will not throw exceptions other than ClassCastException
- * if it is impossible to convert between the actual and expected types.
- * Note: This test case will not be implmented because it is already covered
- * by testCannnotConvertClassCastException.
- */
-
- public void testGetTStringClassCastExceptionOnly() {
- // This test case will not be implemented.
- }
-
- /**
- * Verifies the following statement.
- * get<T>(Property property) throws an IllegalArgumentException when
- * getInstanceProperties().contains(property) == false.
- */
- public void testGetViaPropertyIllegalArgumentException() {
- DataObject invalidPropDO = helperContext.getDataFactory().create(TEST_URI, SEQ_TYPE_NAME);
- Property invalidProp = invalidPropDO.getInstanceProperty("uniqueName");
-
- try {
- testDO.get(invalidProp);
- fail("get(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("get(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBoolean(invalidProp);
- fail("getBoolean(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte(invalidProp);
- fail("getByte(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar(invalidProp);
- fail("getChar(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble(invalidProp);
- fail("getDouble(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat(invalidProp);
- fail("getFloat(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt(invalidProp);
- fail("getInt(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong(invalidProp);
- fail("getLong(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort(invalidProp);
- fail("getShort(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes(invalidProp);
- fail("getBytes(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal(invalidProp);
- fail("getBigDecimal(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger(invalidProp);
- fail("getBigInteger(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject(invalidProp);
- fail("getDataObject(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate(invalidProp);
- fail("getDate(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString(invalidProp);
- fail("getString(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getList(invalidProp);
- fail("getList(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(propert)== false. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(Property property) should throw an IllegalArgumentException when getInstanceProperties().contains(property)== false. " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Verfies the following statement.
- * get<T>(int propertyIndex) throws an IllegalArgumentException when
- * propertIndex <0 or >= getInstanceProerties().size()
- */
- public void testGetViaIndexIllegalArgumentException() {
- int numProps = testDO.getInstanceProperties().size();
-
- try {
- testDO.get(-1);
- fail("get(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("get(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBoolean(-1);
- fail("getBoolean(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte(-1);
- fail("getByte(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar(-1);
- fail("getChar(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble(-1);
- fail("getDouble(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat(-1);
- fail("getFloat(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt(-1);
- fail("getInt(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong(-1);
- fail("getLong(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort(-1);
- fail("getShort(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes(-1);
- fail("getBytes(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal(-1);
- fail("getBigDecimal(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger(-1);
- fail("getBigInteger(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject(-1);
- fail("getDataObject(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate(-1);
- fail("getDate(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString(-1);
- fail("getString(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getList(-1);
- fail("getList(-1) should throw an IllegalArgumentException. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(-1) should throw an IllegalArgumentException. " + e.getClass().getName() + " was thrown.");
- }
-
- try {
- testDO.get(numProps);
- fail("get(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("get(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBoolean(numProps);
- fail("getBoolean(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte(numProps);
- fail("getByte(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar(numProps);
- fail("getChar(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble(numProps);
- fail("getDouble(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat(numProps);
- fail("getFloat(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt(numProps);
- fail("getInt(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong(numProps);
- fail("getLong(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort(numProps);
- fail("getShort(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes(numProps);
- fail("getBytes(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal(numProps);
- fail("getBigDecimal(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger(numProps);
- fail("getBigInteger(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject(numProps);
- fail("getDataObject(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate(numProps);
- fail("getDate(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString(numProps);
- fail("getString(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getList(numProps);
- fail("getList(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(int) should throw an IllegalArgumentException when int >= getInstanceProperties.size(). " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Verifies the following statement.
- * Using an Index out of range (index < 0 or >= getList(Property property).size())
- * will result in an IndexOutOfBoundsException.
- */
- public void testListIndexOutOfBoundsException() {
- List list = testDO.getList("listVal");
-
-// Not fixed in TUSCANY-578
-// try {
-// list.get(-1);
-// fail("list.get(-1) should throw an IndexOutOfBoundsException. No Exception was thrown.");
-// } catch (IndexOutOfBoundsException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("list.get(-1) should throw an IndexOutOfBoundsException. " + e.getClass().getName() + " was thrown.");
-// }
-// try {
-// list.get(list.size());
-// fail("list.get(int) should throw an IndexOutOfBoundsException when int >= list.size(). No Exception was thrown.");
-// } catch (IndexOutOfBoundsException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("list.get(int) should throw an IndexOutOfBoundsException when int >= list.size(). " + e.getClass().getName() + " was thrown.");
-// }
-// try {
-// list.remove(-1);
-// fail("list.remove(-1) should throw an IndexOutOfBoundsException. No Exception was thrown.");
-// } catch (IndexOutOfBoundsException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("list.remove(-1) should throw an IndexOutOfBoundsException. " + e.getClass().getName() + " was thrown.");
-// }
- try {
- list.remove(list.size());
- fail("list.remove(int) should throw an IndexOutOfBoundsException when int >= list.size(). No Exception was thrown.");
- } catch (IndexOutOfBoundsException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("list.remove(int) should throw an IndexOutOfBoundsException when int >= list.size(). " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Verifies the following statement.
- * Modification of a read-only property results in UnsupportedOperationException.
- * This test case is for modifications done through the DataObject API.
- */
- public void testModifyReadOnlyUnsupportedOperationException() {
- Property readOnlyProp = testDO.getInstanceProperty("readOnlyVal");
- List properties = testDO.getInstanceProperties();
- Property currProp;
- int readOnlyIndex = -1, i = 0, size = properties.size();
-
- // Verify the precondition
- assertTrue("readOnlyVal should be read-only.", readOnlyProp.isReadOnly());
-
- while (readOnlyIndex < 0 && i < size) {
- currProp = (Property) properties.get(i);
- if (currProp.equals(readOnlyProp))
- readOnlyIndex = i;
- i++;
- }
-
- try {
- testDO.set("readOnlyVal", "NewValue");
- fail("DataObject.set(string, value) should throw an UnsupportedOperationException when the Property represented by string is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.set(string, value) should throw an UnsupportedOperationException when the Property represented by string is read-only. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.set(readOnlyProp, "NewValue");
- System.out.println("propname =" + readOnlyProp.getName());
- fail("DataObject.set(property, value) should throw an UnsupportedOperationException when the Property represented by property is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.set(property, value) should throw an UnsupportedOperationException when the Property represented by property is read-only. " + e.getClass().getName() + " was thrown.");
- }
- assertTrue("The test case could not procede because the index of the read only Property was not found.", readOnlyIndex > -1);
- try {
- testDO.set(readOnlyIndex, "NewValue");
- fail("DataObject.set(index, value) should throw an UnsupportedOperationException when the Property represented by index is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.set(index, value) should throw an UnsupportedOperationException when the Property represented by index is read-only. " + e.getClass().getName() + " was thrown.");
- }
-
- try {
- testDO.unset("readOnlyVal");
- fail("DataObject.unset(string) should throw an UnsupportedOperationException when the Property represented by string is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.unset(string) should throw an UnsupportedOperationException when the Property represented by string is read-only. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.unset(readOnlyProp);
- fail("DataObject.unset(property) should throw an UnsupportedOperationException when the Property represented by property is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.unset(property) should throw an UnsupportedOperationException when the Property represented by property is read-only. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.unset(readOnlyIndex);
- fail("DataObject.unset(index) should throw an UnsupportedOperationException when the Property represented by index is read-only. No Exception was thrown.");
- } catch (UnsupportedOperationException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataObject.unset(index) should throw an UnsupportedOperationException when the Property represented by index is read-only. " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Verifies the following statement.
- * Modification of a read-only property results in UnsupportedOperationException.
- * This test case is for modification done through the List API.
- */
- public void testModifyReadOnlyUnsupportedOperationExceptionList() {
- Property readOnlyProp = testDO.getInstanceProperty("readOnlyVal");
- List properties = testDO.getInstanceProperties();
- Property currProp;
- int readOnlyIndex = -1, i = 0, size = properties.size();
-
- while (readOnlyIndex < 0 && i < size) {
- currProp = (Property) properties.get(i);
- if (currProp.equals(readOnlyProp))
- readOnlyIndex = i;
- i++;
- }
-
-// Not fixed in TUSCANY-578
-// try {
-// List temp = testDO.getList("readOnlyListVal");
-// temp.add("String to add.");
-// fail("DataObject.getList(path).add(value) should throw an UnsupportedOperationException when the Property represented by path is read-only. No Exception was thrown.");
-// } catch (UnsupportedOperationException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("DataObject.getList(path).add(value) should throw an IllegalArgumentException when the Property represented by path is read-only. " + e.getClass().getName() + " was thrown.");
-// }
-// try {
-// Sequence temp = testDO.getSequence();
-// temp.add("readOnlyListVal", "String to add.");
-// fail("DataObject.getSequence().add(path, value) should throw an UnsupportedOperationException when the Property represtend by path is read-only. No Exception was thrown.");
-// } catch (UnsupportedOperationException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("DataObject.getSequence().add(path, value) should throw an UnsupportedOperationException when the Property represtend by path is read-only. " + e.getClass().getName() + " was thrown.");
-// }
- }
-
- /**
- * Verifies the following statement.
- * Modification of a read-only property results in UnsupportedOperationException.
- * This test case is for modification done through the List API.
- */
- public void testModifyReadOnlyUnsupportedOperationExceptionSequence() {
- Property readOnlyProp = seqDO.getInstanceProperty("readOnlyVal");
- List properties = seqDO.getInstanceProperties();
- Property currProp;
- int readOnlyIndex = -1, i = 0, size = properties.size();
-
- while (readOnlyIndex < 0 && i < size) {
- currProp = (Property) properties.get(i);
- if (currProp.equals(readOnlyProp))
- readOnlyIndex = i;
- i++;
- }
-
-// Not fixed in TUSCANY-578
-// try {
-// Sequence sequence = seqDO.getSequence();
-// sequence.add(readOnlyProp, "New Value");
-// fail("Sequence.add(property, value) should throw an UnsupportedOperationException when the Property represented by property is read-only. No Exception was thrown.");
-// } catch (UnsupportedOperationException e) {
-// // Success - do nothing
-// } catch (Exception e) {
-// fail("Sequence.add(property, value) should throw an UnsupportedOperationException when the Property represented by property is read-only. " + e.getClass().getName() + " was thrown.");
-// }
- }
-
- /**
- * Verifies the following statement.
- * A ClassCastException results when cannot convert between value and requested Type.
- */
-
- public void testCannotConvertClassCastException() {
- // Attempt conversion from boolean
-
- try {
- testDO.getByte("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDouble("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getFloat("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getInt("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getLong("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigInteger("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("booleanVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
- // Attempt conversion from byte
- try {
- testDO.getBoolean("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigInteger("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("byteVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- // Attempt conversion from character
- try {
- testDO.getBoolean("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getByte("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDouble("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getFloat("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getInt("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getLong("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigInteger("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("charVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from double
- try {
- testDO.getBoolean("doubleVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("doubleVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("doubleVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("doubleVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from float
- try {
- testDO.getBoolean("floatVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("floatVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("floatVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("floatVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from int
- try {
- testDO.getBoolean("intVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("intVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("intVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("intVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from long
- try {
- testDO.getBoolean("longVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("longVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("longVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from short
- try {
- testDO.getBoolean("shortVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("shortVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("shortVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("shortVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigInteger("shortVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("shortVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from bytes
- try {
- testDO.getBoolean("bytesVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getByte("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDouble("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getFloat("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getInt("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getLong("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("bytesVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from decimal
- try {
- testDO.getBoolean("decimalVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getByte("decimalVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("decimalVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("decimalVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("decimalVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("decimalVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from BigInteger
- try {
- testDO.getBoolean("integerVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getByte("integerVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("integerVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("integerVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDate("integerVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
-
-// Attempt conversion from date
- try {
- testDO.getBoolean("dateVal");
- } catch (ClassCastException e) {
- // success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getByte("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getChar("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getDouble("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getFloat("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getInt("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getShort("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBytes("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigDecimal("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- try {
- testDO.getBigInteger("dateVal");
- } catch (ClassCastException e) {
-// success - do nothing
- } catch (Exception e) {
- fail("Attempted implicit unsupported conversion did not throw the correct Exception. Expected: ClassCastException. Received: " + e.getClass().getName());
- }
- }
-
-
- /**
- * Verifies the following statement.
- * Mixing single-valued and multi-valued Property access results in
- * ClassCastException.
- */
- public void testMixSingleMultiValueClassCastException() {
- Property testedProp = testDO.getInstanceProperty("intVal");
- List properties = testDO.getInstanceProperties();
- Property currProp;
- int testedIndex = -1, i = 0, size = properties.size();
-
- while (testedIndex < 0 && i < size) {
- currProp = (Property) properties.get(i);
-
- if (currProp.equals(testedProp))
- testedIndex = i;
- i++;
- }
-
- try {
- testDO.getList("intVal");
- fail("getList(string) should throw a ClassCastException when the property represented by string is single-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(string) should throw a ClassCastException when the property represented by string is single-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getList(testedProp);
- fail("getList(property) should throw a ClassCastException when the property represented by property is single-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(property) should throw a ClassCastException when the property represented by property is single-valued. " + e.getClass().getName() + " was thrown.");
- }
-
- assertTrue("The test case could not procede because the index of the single-valued Property was not found.", testedIndex > -1);
-
- try {
- testDO.getList(testedIndex);
- fail("getList(index) should throw a ClassCastException when the property represented by index is single-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getList(index) should throw a ClassCastException when the property represented by index is single-valued. " + e.getClass().getName() + " was thrown.");
- }
-
- testedProp = testDO.getInstanceProperty("listVal");
- testedIndex = -1;
- i = 0;
- while (testedIndex < 0 && i < size) {
- currProp = (Property) properties.get(i);
- if (currProp.equals(testedProp))
- testedIndex = i;
- i++;
- }
-
- try {
- testDO.getBoolean("listVal");
- fail("getBoolean(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte("listVal");
- fail("getByte(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar("listVal");
- fail("getChar(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble("listVal");
- fail("getDouble(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat("listVal");
- fail("getFloat(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt("listVal");
- fail("getInt(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong("listVal");
- fail("getLong(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort("listVal");
- fail("getShort(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes("listVal");
- fail("getBytes(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal("listVal");
- fail("getBigDecimal(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger("listVal");
- fail("getBigInteger(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject("listVal");
- fail("getDataObject(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate("listVal");
- fail("getDate(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString("listVal");
- fail("getString(string) should throw a ClassCastException when the property represented by string is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(string) should throw a ClassCastException when the property represented by string is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
-
- try {
- testDO.getBoolean(testedProp);
- fail("getBoolean(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte(testedProp);
- fail("getByte(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar(testedProp);
- fail("getChar(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble(testedProp);
- fail("getDouble(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat(testedProp);
- fail("getFloat(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt(testedProp);
- fail("getInt(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong(testedProp);
- fail("getLong(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort(testedProp);
- fail("getShort(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes(testedProp);
- fail("getBytes(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal(testedProp);
- fail("getBigDecimal(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger(testedProp);
- fail("getBigInteger(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject(testedProp);
- fail("getDataObject(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate(testedProp);
- fail("getDate(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString(testedProp);
- fail("getString(property) should throw a ClassCastException when the property represented by property is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(property) should throw a ClassCastException when the property represented by property is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
-
- assertTrue("The test case could not procede because the index of the multi-valued Property was not found.", testedIndex > -1);
-
- try {
- testDO.getBoolean(testedIndex);
- fail("getBoolean(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBoolean(index) should throw a ClassCastException when the property represented by is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getByte(testedIndex);
- fail("getByte(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getByte(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getChar(testedIndex);
- fail("getChar(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getChar(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDouble(testedIndex);
- fail("getDouble(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDouble(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getFloat(testedIndex);
- fail("getFloat(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getFloat(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getInt(testedIndex);
- fail("getInt(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getInt(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getLong(testedIndex);
- fail("getLong(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getLong(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getShort(testedIndex);
- fail("getShort(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getShort(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBytes(testedIndex);
- fail("getBytes(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBytes(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigDecimal(testedIndex);
- fail("getBigDecimal(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigDecimal(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getBigInteger(testedIndex);
- fail("getBigInteger(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getBigInteger(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDataObject(testedIndex);
- fail("getDataObject(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDataObject(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getDate(testedIndex);
- fail("getDate(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getDate(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- try {
- testDO.getString(testedIndex);
- fail("getString(index) should throw a ClassCastException when the property represented by index is multi-valued. No Exception was thrown.");
- } catch (ClassCastException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("getString(index) should throw a ClassCastException when the property represented by index is multi-valued. " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /*
- /**
- * Verifies the following statement.
- * Establishing circular containment results in an IllegalArgumentException.
- * Note: This test case will not be implemented because it has been determined
- * that the statement will be removed from the spec.
- */
- /*
- public void testContainmentCycleIllegalArgumentException() {
- // This test case will not be implemented.
- }
- */
-
- /**
- * Verifies the following statement.
- * An empty DataGraph can have a root assigned by the createRootObject() methods.
- * However, if a previous root DataObject exists than an IllegalStateException is
- * thrown.
- */
- public void testCreateRootObjectAgainIllegalStateException() {
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type type = testDO.getType();
-
- // verify the initial condition
- assertNull("The DataGraph should have been created without a root DataObject.", dataGraph.getRootObject());
- assertNotNull("DataObject.getType() returned null.", type);
-
- dataGraph.createRootObject(type);
-
- // verify the pre-condition
- assertNotNull("The DataGraph.createRootObject() should have created a root DataObject for the DataGraph.", dataGraph.getRootObject());
-
- try {
- dataGraph.createRootObject(type);
- fail("DataGraph.createRootObject(Type) should throw an IllegalStateException a root Object already exists for the DataGraph. No Exception was thrown.");
- } catch (IllegalStateException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataGraph.createRootObject(Type) should throw an IllegalStateException a root Object already exists for the DataGraph. " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Verifies the following statement.
- * DataFactory.create() throws an IllegalArgumentException if the instanceClass does
- * not correspond to a Type this factory can instantiate.
- */
- public void testDataFactoryCreateIllegalArgumentException() {
- try {
- helperContext.getDataFactory().create(java.lang.Object.class);
- fail("DataFactory.create(Object) should throw an IllegalArgumentException when it cannot instantiate the Type specified. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataFactory.create(Object) should throw an IllegalArgumentException when it cannot instantiate the Type specified. " + e.getClass().getName() + " was thrown.");
- }
-
- try {
- helperContext.getDataFactory().create(commonj.sdo.DataObject.class);
- fail("DataFactory.create(DataObject) should throw an IllegalArgumentException when it cannot instantiate the Type specified. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataFactory.create(DataObject) should throw an IllegalArgumentException when it cannot instantiate the Type specified. " + e.getClass().getName() + " was thrown.");
- }
-
- try {
- helperContext.getDataFactory().create(commonj.sdo.ChangeSummary.class);
- fail("DataFactory.create(ChangeSummary) should throw an IllegalArgumentException when it cannot instantiate the Type specified. No Exception was thrown.");
- } catch (IllegalArgumentException e) {
- // Success - do nothing
- } catch (Exception e) {
- fail("DataFactory.create(ChangeSummary) should throw an IllegalArgumentException when it cannot instantiate the Type specified. " + e.getClass().getName() + " was thrown.");
- }
- }
-
- /**
- * Defines the Type the first time through.
- */
- public void setUp() {
- if (!typeDefined) {
- helperContext = SDOUtil.createHelperContext();
-// createWithXSD(helperContext);
-// createDynamically(helperContext);
- createStatically(helperContext);
- typeDefined = true;
- }
-// testDO = helperContext.getDataFactory().create(TEST_URI, TEST_TYPE_NAME);
-// seqDO = helperContext.getDataFactory().create(TEST_URI, SEQ_TYPE_NAME);
- testDO = (DataObject) ExpectedExceptionFactory.INSTANCE.createExpectedExceptionType();
- seqDO = (DataObject) ExpectedExceptionFactory.INSTANCE.createSequenceReadOnlyType();
- }
-
- public static void createStatically(HelperContext hc) {
- ExpectedExceptionFactory.INSTANCE.register(hc);
- }
-
- public static void createWithXSD(HelperContext hc) {
- // Populate the meta data for the test model
- URL url = ExpectedExceptionsTestCase.class.getResource("/expectedExceptions.xsd");
- try {
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
- } catch(IOException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * createDynamically() creates the SDO Types using the TypeHelper. This
- * method should be kept in synch with the XSD used for
- * createDynamicallyWithStaticResources. The same XSD is used for the static
- * generation of SDO Types using XSD2JavaGenerator.
- */
- public static void createDynamically(HelperContext hc) {
-
- TypeHelper types = hc.getTypeHelper();
- Type stringType = types.getType("commonj.sdo", "String");
- Type intType = types.getType("commonj.sdo", "Int");
- Type booleanType = types.getType("commonj.sdo", "Boolean");
- Type byteType = types.getType("commonj.sdo", "Byte");
- Type decimalType = types.getType("commonj.sdo", "Decimal");
- Type floatType = types.getType("commonj.sdo", "Float");
- Type doubleType = types.getType("commonj.sdo", "Double");
- Type dateType = types.getType("commonj.sdo", "Date");
- Type shortType = types.getType("commonj.sdo", "Short");
- Type longType = types.getType("commonj.sdo", "Long");
- Type bytesType = types.getType("commonj.sdo", "Bytes");
- Type integerType = types.getType("commonj.sdo", "Integer");
- Type charType = types.getType("commonj.sdo", "Character");
-
- DataObject testType = hc.getDataFactory().create("commonj.sdo", "Type");
- testType.set("uri", TEST_URI);
- testType.set("name", TEST_TYPE_NAME);
-
- DataObject stringProperty = testType.createDataObject("property");
- stringProperty.set("name", "stringVal");
- stringProperty.set("type", stringType);
-
- DataObject booleanProperty = testType.createDataObject("property");
- booleanProperty.set("name", "booleanVal");
- booleanProperty.set("type", booleanType);
-
- DataObject byteProperty = testType.createDataObject("property");
- byteProperty.set("name", "byteVal");
- byteProperty.set("type", byteType);
-
- DataObject decimalProperty = testType.createDataObject("property");
- decimalProperty.set("name", "decimalVal");
- decimalProperty.set("type", decimalType);
-
- DataObject intProperty = testType.createDataObject("property");
- intProperty.set("name", "intVal");
- intProperty.set("type", intType);
-
- DataObject floatProperty = testType.createDataObject("property");
- floatProperty.set("name", "floatVal");
- floatProperty.set("type", floatType);
-
- DataObject doubleProperty = testType.createDataObject("property");
- doubleProperty.set("name", "doubleVal");
- doubleProperty.set("type", doubleType);
-
- DataObject dateProperty = testType.createDataObject("property");
- dateProperty.set("name", "dateVal");
- dateProperty.set("type", dateType);
-
- DataObject shortProperty = testType.createDataObject("property");
- shortProperty.set("name", "shortVal");
- shortProperty.set("type", shortType);
-
- DataObject longProperty = testType.createDataObject("property");
- longProperty.set("name", "longVal");
- longProperty.set("type", longType);
-
- DataObject childrenProperty = testType.createDataObject("property");
- childrenProperty.set("name", "listVal");
- childrenProperty.setBoolean("many", true);
- childrenProperty.set("type", stringType);
-
- DataObject bytesProperty = testType.createDataObject("property");
- bytesProperty.set("name", "bytesVal");
- bytesProperty.set("type", bytesType);
-
- DataObject integerProperty = testType.createDataObject("property");
- integerProperty.set("name", "integerVal");
- integerProperty.set("type", integerType);
-
- DataObject charProperty = testType.createDataObject("property");
- charProperty.set("name", "charVal");
- charProperty.set("type", charType);
-
- DataObject readOnlyProperty = testType.createDataObject("property");
- readOnlyProperty.set("name", "readOnlyVal");
- readOnlyProperty.set("type", stringType);
- readOnlyProperty.setBoolean("readOnly", true);
-
- DataObject readOnlyListProperty = testType.createDataObject("property");
- readOnlyListProperty.set("name", "readOnlyListVal");
- readOnlyListProperty.set("type", stringType);
- readOnlyListProperty.setBoolean("readOnly", true);
- readOnlyListProperty.setBoolean("many", true);
-
- types.define(testType);
-
- DataObject seqType = hc.getDataFactory().create("commonj.sdo", "Type");
- seqType.set("uri", TEST_URI);
- seqType.set("name", SEQ_TYPE_NAME);
- seqType.setBoolean("sequenced", true);
-
- DataObject seqROProperty = seqType.createDataObject("property");
- seqROProperty.set("name", "readOnlyVal");
- seqROProperty.set("type", stringType);
- seqROProperty.setBoolean("readOnly", true);
-
- DataObject seqROListProperty = seqType.createDataObject("property");
- seqROListProperty.set("name", "readOnlyListVal");
- seqROListProperty.set("type", stringType);
- seqROListProperty.setBoolean("readOnly", true);
- seqROListProperty.setBoolean("many", true);
-
- DataObject uniqueNameProperty = seqType.createDataObject("property");
- uniqueNameProperty.set("name", "uniqueName");
- uniqueNameProperty.set("type", stringType);
-
- types.define(seqType);
- }
-} \ No newline at end of file
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/FormTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/FormTestCase.java
deleted file mode 100644
index e630a8f903..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/FormTestCase.java
+++ /dev/null
@@ -1,112 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.eclipse.emf.ecore.resource.Resource;
-
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLHelper;
-
-public class FormTestCase extends TestCase {
- XMLHelper xmlHelper;
- Map options;
-
- protected void setUp() throws Exception {
- super.setUp();
- HelperContext hc = SDOUtil.createHelperContext();
- hc.getXSDHelper().define(
-"<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">"+
- "<element name=\"root\">"+
- "<complexType>"+
- "<sequence>"+
- "<element name=\"unqualifiedElement\" type=\"string\"/>"+
- "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"+
- "</sequence>"+
- "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"+
- "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"+
- "</complexType>"+
- "</element>"+
-"</schema>");
- xmlHelper = hc.getXMLHelper();
- options = new HashMap();
- /*
- * turn off default behaviour of tolerating malformed xml
- * tests using this option and bad xml should demonstrate failure to load
- */
- options.put(SDOUtil.XML_LOAD_LaxForm, new Integer(0));
- }
-
- void load(String xml, Object options) throws IOException {
- assertNotNull(xmlHelper.load(new StringReader(xml), null, options).getRootObject());
- }
-
- /*
- * this malformed xml will load, as it uses the default lax approach
- */
- public void testLaxForm() throws IOException {
- load(
-"<p:root xmlns:p=\"testNS\" p:unqualifiedAttribute=\"u\" qualifiedAttribute=\"q\">"+
- "<p:unqualifiedElement/>"+
- "<qualifiedElement/>"+
-"</p:root>", null);
- }
-
- /*
- * any malformed xml through this method will fail to load
- * since the options instance member disables lax processing
- */
- protected final void load(String xml) throws IOException {
- try {
- load(xml, options);
- fail();
- } catch (Resource.IOWrappedException featureNotFound) {
- }
- }
-
- public void testUnqualifiedAttribute() throws IOException {
- load("<p:root xmlns:p=\"testNS\" p:unqualifiedAttribute=\"u\"/>");
- }
-
- public void testQualifiedAttribute() throws IOException {
- load("<p:root xmlns:p=\"testNS\" qualifiedAttribute=\"q\"/>");
- }
-
- public void testUnqualifiedElement() throws IOException {
- load(
-"<p:root xmlns:p=\"testNS\">"+
- "<p:unqualifiedElement/>"+
-"</p:root>");
- }
-
- public void testQualifiedElement() throws IOException {
- load(
-"<p:root xmlns:p=\"testNS\">"+
- "<qualifiedElement/>"+
-"</p:root>");
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/HelperContextTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/HelperContextTestCase.java
deleted file mode 100644
index 14e81b6a32..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/HelperContextTestCase.java
+++ /dev/null
@@ -1,75 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.DataHelper;
-import commonj.sdo.helper.EqualityHelper;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import commonj.sdo.impl.HelperProvider;
-
-public class HelperContextTestCase extends TestCase {
-
- public void testDefaultHelperContext() {
- HelperContext defaultHelperContext = HelperProvider.getDefaultContext();
-
- assertNotNull(defaultHelperContext.getCopyHelper());
- assertEquals(defaultHelperContext.getCopyHelper(), CopyHelper.INSTANCE);
- assertNotNull(defaultHelperContext.getDataFactory());
- assertEquals(defaultHelperContext.getDataFactory(), DataFactory.INSTANCE);
- assertNotNull(defaultHelperContext.getDataHelper());
- assertEquals(defaultHelperContext.getDataHelper(), DataHelper.INSTANCE);
- assertNotNull(defaultHelperContext.getEqualityHelper());
- assertEquals(defaultHelperContext.getEqualityHelper(), EqualityHelper.INSTANCE);
- assertNotNull(defaultHelperContext.getTypeHelper());
- assertEquals(defaultHelperContext.getTypeHelper(), TypeHelper.INSTANCE);
- assertNotNull(defaultHelperContext.getXMLHelper());
- assertEquals(defaultHelperContext.getXMLHelper(), XMLHelper.INSTANCE);
- assertNotNull(defaultHelperContext.getXSDHelper());
- assertEquals(defaultHelperContext.getXSDHelper(), XSDHelper.INSTANCE);
-
- }
-
- public void testCreateHelperContext() {
- HelperContext hc = SDOUtil.createHelperContext();
- assertNotNull(hc.getCopyHelper());
- assertNotNull(hc.getDataFactory());
- assertNotNull(hc.getDataHelper());
- assertNotNull(hc.getEqualityHelper());
- assertNotNull(hc.getTypeHelper());
- assertNotNull(hc.getXMLHelper());
- assertNotNull(hc.getXSDHelper());
-
- assertNotSame(hc.getDataFactory(), DataFactory.INSTANCE);
- assertNotSame(hc.getTypeHelper(), TypeHelper.INSTANCE);
- assertNotSame(hc.getXMLHelper(), XMLHelper.INSTANCE);
- assertNotSame(hc.getXSDHelper(), XSDHelper.INSTANCE);
- // the other "stateless" helpers may be the same as the singletons
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/IsManyTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/IsManyTestCase.java
deleted file mode 100644
index 1eef4ea657..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/IsManyTestCase.java
+++ /dev/null
@@ -1,65 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-import java.net.URL;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.*;
-import commonj.sdo.helper.*;
-
-public class IsManyTestCase extends TestCase {
- private final String TEST_MODEL = "/open.xsd";
- private final String TEST_MODEL1ANY = "/open1any.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/open";
- private final String TEST_NAMESPACE1ANY = "http://www.example.com/open1any";
-
- public void testIsMany() {
- Property priceProperty = XSDHelper.INSTANCE.getGlobalProperty(TEST_NAMESPACE, "price", true);
-
- Type quoteType = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "OpenQuote");
- DataObject quote = DataFactory.INSTANCE.create(quoteType);
- assertTrue( SDOUtil.isMany(priceProperty, quote));
-
- quoteType = TypeHelper.INSTANCE.getType(TEST_NAMESPACE1ANY, "OpenQuote");
- quote = DataFactory.INSTANCE.create(quoteType);
- assertFalse( SDOUtil.isMany(priceProperty, quote));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
-
- // Populate the meta data for the test (Stock Quote) model with maxOccurs=1 <any>
- url = getClass().getResource(TEST_MODEL1ANY);
- inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-} \ No newline at end of file
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/JavaSerializeDeserializeTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/JavaSerializeDeserializeTestCase.java
deleted file mode 100644
index 56a293cde0..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/JavaSerializeDeserializeTestCase.java
+++ /dev/null
@@ -1,297 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.ObjectOutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-public class JavaSerializeDeserializeTestCase extends TestCase
-{
-
- public void testScopeDefinedSerializeDeserializeOfDataObject()
- {
- HelperContext hc = SDOUtil.createHelperContext();
- Object originalDataObject = createDynamically(hc,true);
-
- runSerializeDeserialize((DataObject)originalDataObject, hc);
- }
-
- public void testScopeDefinedSerializeDeserializeOfDataGraph()
- {
- HelperContext hc = SDOUtil.createHelperContext();
- DataGraph testDO = (DataGraph)createDynamically(hc,false);
-
- runSerializeDeserializeWithDataGraph(testDO, hc);
- }
-
- private String xsdString = "<xsd:schema targetNamespace=\"http://www.example.com/simple\" " +
- "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
- "xmlns:simple=\"http://www.example.com/simple\">" +
- "<xsd:element name=\"company\" type=\"simple:Company\"/>" +
- "<xsd:complexType name=\"Company\">" +
- "<xsd:sequence>" +
- "<xsd:element name=\"symbol\" type=\"xsd:string\"/>" +
- "<xsd:element name=\"companyName\" type=\"xsd:string\"/>" +
- "<xsd:element name=\"employees\" type=\"simple:Employee\" minOccurs=\"0\" maxOccurs=\"unbounded\"/>" +
- "</xsd:sequence>" +
- "</xsd:complexType>" +
-
- "<xsd:complexType name=\"Employee\">" +
- "<xsd:sequence>" +
- "<xsd:element name=\"employeeID\" type=\"xsd:string\"/>" +
- "<xsd:element name=\"employeeName\" type=\"xsd:string\"/>" +
- "</xsd:sequence>" +
- "</xsd:complexType>" +
- "</xsd:schema>";
-
- public void testLargePayload()
- {
- HelperContext hc = SDOUtil.createHelperContext();
- hc.getXSDHelper().define(xsdString);
- DataObject company = hc.getDataFactory().create("http://www.example.com/simple", "Company");
- company.setString("symbol", "EXAMPLE");
- company.setString("companyName", "Example Inc.");
- List employees = company.getList("employees");
- DataObject employee;
- for (int i=0; i<1000; i++) {
- employee = hc.getDataFactory().create("http://www.example.com/simple", "Employee");
- employee.setString("employeeID", "ID #" + i);
- employee.setString("employeeName", "Empoyee #" + i);
- employees.add(employee);
- }
- try {
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- ObjectOutputStream oos = SDOUtil.createObjectOutputStream(bos, hc);
- oos.writeObject(company);
- oos.flush();
- byte[] bytes = bos.toByteArray();
- oos.close();
- bos.close();
-
- ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
- ObjectInputStream ois = SDOUtil.createObjectInputStream(bis, hc);
- ois.readObject();
- ois.close();
- bis.close();
- }
- catch (Exception e) {
- e.printStackTrace();
- fail("An Exception occurred while deserializing the output of the serialization: " + e.toString());
- }
- }
-
-
- /**
- * Serialize the DataObject then Deserialize the output.
- * to testDO.
- * @param testDO
- * @param scope
- */
-
- public void runSerializeDeserialize(DataObject originalDataObject, HelperContext hc)
- {
-
- populateFields(originalDataObject);
- DataObject tempDO = null;
- ByteArrayOutputStream baos = null;
-
- try
- {
- baos = serialize(originalDataObject, hc);
-
- }
- catch (Exception e)
- {
- e.printStackTrace();
- fail("An Exception occurred while serializing the DataObject: " + e.toString());
- }
-
- try
- {
- tempDO = deserialize(baos, hc);
-
- }
- catch (Exception e)
- {
- e.printStackTrace();
- fail("An Exception occurred while deserializing the output of the serialization: " + e.toString());
- }
-
- assertNotNull("Deserialization returned a null value.", tempDO);
-
- assertSame(tempDO.getType(), originalDataObject.getType());
-
-
- }
-
- /**
- * Serialize the DataGraph
- * @param dataGraph
- * @param scope
- */
- public void runSerializeDeserializeWithDataGraph(DataGraph dataGraph, HelperContext hc)
- {
- DataObject originalDataObject = dataGraph.getRootObject();
- populateFields(originalDataObject);
- DataObject tempDO = null;
- ByteArrayOutputStream baos = null;
-
- try
- {
- baos = serialize(dataGraph, hc);
-
- }
- catch (Exception e)
- {
- e.printStackTrace();
- fail("An Exception occurred while serializing the DataObject: " + e.toString());
- }
-
- try
- {
- tempDO = deserialize(baos, hc);
-
- }
- catch (Exception e)
- {
- e.printStackTrace();
- fail("An Exception occurred while deserializing the output of the serialization: " + e.toString());
- }
-
- assertNotNull("Deserialization returned a null value.", tempDO);
-
- assertSame(tempDO.getType(), originalDataObject.getType());
-
-
-
- }
-
- /**
- * serializeDataObject is a private method to be called by the other methods
- * in the ScrenarioLibrary
- *
- * @param dataObject
- * @param fileName
- * @throws IOException
- */
- public ByteArrayOutputStream serialize(Object object, HelperContext hc) throws IOException
- {
- //FileOutputStream fos = new FileOutputStream("temp");
- ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream();
- ObjectOutputStream out = SDOUtil.createObjectOutputStream(byteArrayOutput, hc);
- out.writeObject(object);
- out.close();
- return byteArrayOutput;
- }
-
- /**
- * deserializeDataObject is a private method to be called by the other
- * methods in the ScrenarioLibrary
- *
- * @param fileName
- * @return
- * @throws IOException
- * @throws ClassNotFoundException
- */
- public DataObject deserialize(ByteArrayOutputStream baos, HelperContext hc) throws IOException, ClassNotFoundException
- {
- //FileInputStream fis = new FileInputStream("temp");
- ObjectInputStream input = null;
- ByteArrayInputStream byteArrayInput = new ByteArrayInputStream(baos.toByteArray());
-
- input = SDOUtil.createObjectInputStream(byteArrayInput, hc);
-
- Object object = input.readObject();
- input.close();
- if(object instanceof DataGraph)
- return ((DataGraph)object).getRootObject();
- else
- return (DataObject)object;
- }
-
- /**
- * populateFields uses set<Type> to set each of the fields in the
- * DataObject. It is used to ensure a known set of expected values that are
- * not other than the default values for the various fields.
- *
- * @param testDO
- * @throws ExpectedConditionError
- */
- public static void populateFields(DataObject testDO)
- {
-
- testDO.setString("stringVal", "Testing");
-
- }
- /**
- * createDynamically() creates the SDO Types using the TypeHelper. This method should be kept in
- * synch with the XSD used for createDynamicallyWithStaticResources. The same XSD is used for
- * the static generation of SDO Types using XSD2JavaGenerator.
- */
- public Object createDynamically(HelperContext hc, boolean createDataObject)
- {
-
- TypeHelper types = hc.getTypeHelper();
- DataFactory dataFactory = hc.getDataFactory();
-
- Type stringType = types.getType("commonj.sdo", "String");
-
- DataObject testType = dataFactory.create("commonj.sdo", "Type");
- testType.set("uri", "http://www.example.com/api_test");
- testType.set("name", "APITest");
-
- DataObject stringProperty = testType.createDataObject("property");
- stringProperty.set("name", "stringVal");
- stringProperty.set("type", stringType);
-
-
- List types2Define = new ArrayList();
- types2Define.add(testType);
- List apiXSD = types.define(types2Define);
- Type apiXSDType = (Type) apiXSD.get(0);
-
- if(createDataObject)
- return dataFactory.create(apiXSDType);;
-
- // Create an empty DataGraph and attach the document root to it. Otherwise, where is the documentRoot ?
- DataGraph dataGraph = SDOUtil.createDataGraph();
- /*DataObject testDO =*/ dataGraph.createRootObject(apiXSDType);
-
-
- return dataGraph;
-
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/JiraTestCases.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/JiraTestCases.java
deleted file mode 100644
index 66138495ce..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/JiraTestCases.java
+++ /dev/null
@@ -1,184 +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.
- *
- */
-package org.apache.tuscany.sdo.test;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-import commonj.sdo.*;
-import commonj.sdo.helper.*;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import java.util.HashMap;
-
-/**
- * The follow test cases are based upon code snipets in the SDO specification.
- * They are also implemented as working samples in the sample-sdo artifact
- *
- * @author Robbie Minshall
- *
- */
-public class JiraTestCases extends TestCase {
-
- /**
- * Bogus company namespace
- */
- public static final String COMPANY_NAMESPACE = "company.xsd";
-
- /**
- * previously defined XSD file used
- */
- public static final String COMPANY_XSD = "/company.xsd";
-
- /**
- * XML file containing DataGraph representing a company. This xml file
- * conforms to the company model defined in 'Complete DataGraph for Company
- * Example' section of the SDO specification
- */
- public static final String COMPANY_DATAGRAPH_XML = "/companyDataGraphGenerated.xml";
-
- /**
- * Generated DataGraph
- * {@link org.apache.tuscany.samples.sdo.company.CreateCompany}
- */
- public static final String COMPANY_DATAOBJECT_XML = "/companyGenerated.xml";
-
- /**
- * Defines xsd resource contained within jar file for PurchaseOrder
- * DataObject
- */
- public static final String PO_XSD_RESOURCE = "/po.xsd";
-
- /**
- * Defines xml resource contained within jar file that is used to populate
- * PurchaseOrder DataObjects
- */
- public static final String PO_XML_RESOURCE = "/po.xml";
-
- /**
- * previously created XSD file used
- */
- public static final String LETTER_XSD = "/letter.xsd";
-
- /**
- * JIRA Details : Add a method to SDOUtil to return all Types associated
- * with a specific URI
- */
- public void test_TUSCANY583() {
-
- // define some types
- try {
- XSDHelper.INSTANCE.define(getClass().getResourceAsStream(
- PO_XSD_RESOURCE), null);
-
- XSDHelper.INSTANCE.define(getClass().getResourceAsStream(
- COMPANY_XSD), null);
-
- createDynamicType();
-
- String[] expectedPoTypeNames = {"item", "Items",
- "PurchaseOrderType", "quantity", "SKU", "USAddress"};
-
- String[] expectedCompanyTypeNames = {"EmployeeType", "DepartmentType", "CompanyType"};
-
- String[] expectedCustomerTypeNames = {"Customer"};
-
- confirmTypes("http://www.example.com/PO", expectedPoTypeNames);
- confirmTypes("company.xsd", expectedCompanyTypeNames);
- confirmTypes("http://example.com/customer",
- expectedCustomerTypeNames);
-
- } catch (Exception e) {
- fail("Unexpected error " + e.toString());
- e.printStackTrace();
- }
-
- }
-
- /**
- * Dynamically define customer Type
- */
- public static void createDynamicType() {
- // get an instance of the type helper
- TypeHelper typeH = TypeHelper.INSTANCE;
- Type intType = typeH.getType("commonj.sdo", "Int");
- Type stringType = typeH.getType("commonj.sdo", "String");
-
- // create a new Type for Customers
- DataObject customerType = DataFactory.INSTANCE.create("commonj.sdo",
- "Type");
-
- customerType.set("uri", "http://example.com/customer");
- customerType.set("name", "Customer");
-
- // create a customer number property
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
-
- // create a last name property
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
-
- // create a first name property
- DataObject firstNameProperty = customerType
- .createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
-
- // now define the Customer type so that customers can be made
- typeH.define(customerType);
- }
-
- private void confirmTypes(String uri, String[] expectedTypeNames) {
-
- try {
-
- List actualTypes = SDOUtil.getTypes(TypeHelper.INSTANCE, uri);
- assertNotNull("Testing that list of types for " + uri
- + " is not null", actualTypes);
-
- // test the number of Types
- assertEquals("Testing number of types for " + uri,
- expectedTypeNames.length, actualTypes.size());
-
- // put into a HashMap for easy lookup
- HashMap typeLookup = new HashMap();
- for (int i = 0; i < actualTypes.size(); i++) {
- Type type = (Type) actualTypes.get(i);
- typeLookup.put(type.getName(), type);
- }
-
- // check that we have the same types
- for (int i = 0; i < expectedTypeNames.length; i++) {
- assertTrue("testing that type " + expectedTypeNames[i]
- + "was returned for " + uri, typeLookup
- .containsKey(expectedTypeNames[i]));
- }
-
- } catch (Exception e) {
- fail("Exception caught comparing expected types to actual types for uri "
- + uri + ":" + e.toString());
- e.printStackTrace();
- }
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/MetadataInstancePropertiesTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/MetadataInstancePropertiesTestCase.java
deleted file mode 100644
index 360ffe3cab..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/MetadataInstancePropertiesTestCase.java
+++ /dev/null
@@ -1,220 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-
-public class MetadataInstancePropertiesTestCase extends TestCase
-{
- private final String TEST_MODEL = "/TypePropertyMetadataInfo.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/metadata/retrievaltest";
- private final String DYNAMIC_TEST_NAMESPACE = "http://www.example.com/metadata/dynamicmetadata";
-
- private HelperContext helperContext;
- private TypeHelper typeHelper;
- private XSDHelper xsdHelper;
- private DataFactory dataFactory;
-
- public void testXSDTypeProperties()
- {
- // Note: We won't check the actual value of XSD instance properties yet since they're not defined
- // in the SDO spec yet.
-
- //displayInstanceProperties(TEST_NAMESPACE);
-
- Type type = typeHelper.getType(TEST_NAMESPACE, "Example");
- assertTrue(getInstanceProperty(type, "appinfo") != null);
- assertTrue(getInstanceProperty(type, "foo") == null);
-
- Property property = type.getProperty("number");
- assertTrue(getInstanceProperty(property, "appinfo") != null);
- assertTrue(getInstanceProperty(property, "foo") == null);
-
- property = type.getProperty("Exampletype");
- assertTrue(getInstanceProperty(property, "appinfo") != null);
- assertTrue(getInstanceProperty(property, "foo") == null);
-
- type = typeHelper.getType(TEST_NAMESPACE, "ExampleNumber");
- assertTrue(getInstanceProperty(type, "appinfo") != null);
- assertTrue(getInstanceProperty(type, "minInclusive") != null);
- assertTrue(getInstanceProperty(type, "maxInclusive") != null);
- assertTrue(getInstanceProperty(type, "foo") == null);
-
- type = typeHelper.getType(TEST_NAMESPACE, "ExampleRating");
- assertTrue(getInstanceProperty(type, "enumeration") != null);
- assertTrue(getInstanceProperty(type, "foo") == null);
-
- type = typeHelper.getType(TEST_NAMESPACE, "PhoneNumber");
- assertTrue(getInstanceProperty(type, "appinfo") != null);
- assertTrue(getInstanceProperty(type, "length") != null);
- assertTrue(getInstanceProperty(type, "pattern") != null);
- assertTrue(getInstanceProperty(type, "foo") == null);
- }
-
- public void testDynamicTypeProperties()
- {
- // Create dynamic model
- Type intType = typeHelper.getType("commonj.sdo", "Int");
- Type stringType = typeHelper.getType("commonj.sdo", "String");
-
- Property openContentProperty = typeHelper.getOpenContentProperty("commonj.sdo/xml", "xmlElement");
-
- // create a new Type for Customers
- DataObject customerType = dataFactory.create("commonj.sdo", "Type");
- customerType.set("uri", DYNAMIC_TEST_NAMESPACE);
- customerType.set("name", "Customer");
- customerType.set(openContentProperty, Boolean.TRUE);
-
- // create a customer number property
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
-
- // create a first name property
- DataObject firstNameProperty =
- customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
- firstNameProperty.set(openContentProperty, Boolean.FALSE);
-
- // create a last name property
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
-
- // now define the Customer type so that customers can be made
- typeHelper.define(customerType);
-
- //displayInstanceProperties(DYNAMIC_TEST_NAMESPACE);
-
- Type type = typeHelper.getType(DYNAMIC_TEST_NAMESPACE, "Customer");
- assertTrue(getInstanceProperty(type, "xmlElement") == openContentProperty);
- assertTrue(type.get(openContentProperty) == Boolean.TRUE);
- assertTrue(getInstanceProperty(type, "foo") == null);
-
- Property property = type.getProperty("custNum");
- assertTrue(getInstanceProperty(property, "xmlElement") == null);
- assertTrue(getInstanceProperty(property, "foo") == null);
-
- property = type.getProperty("firstName");
- assertTrue(getInstanceProperty(property, "xmlElement") == openContentProperty);
- assertTrue(property.get(openContentProperty) == Boolean.FALSE);
- assertTrue(getInstanceProperty(property, "foo") == null);
-
- property = type.getProperty("lastName");
- assertTrue(getInstanceProperty(property, "xmlElement") == null);
- assertTrue(getInstanceProperty(property, "foo") == null);
- }
-
- public void setUp() throws Exception
- {
- super.setUp();
-
- helperContext = SDOUtil.createHelperContext();
-
- typeHelper = helperContext.getTypeHelper();
- xsdHelper = helperContext.getXSDHelper();
- dataFactory = helperContext.getDataFactory();
-
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
-
- xsdHelper.define(inputStream, url.toString());
- inputStream.close();
- }
-
- public Property getInstanceProperty(Type type, String propertyName)
- {
- return getInstanceProperty(type.getInstanceProperties(), propertyName);
- }
-
- public Property getInstanceProperty(Property property, String propertyName)
- {
- return getInstanceProperty(property.getInstanceProperties(), propertyName);
- }
-
- private Property getInstanceProperty(List instProps, String propertyName)
- {
- for (int i = 0; i < instProps.size(); i++)
- {
- Property prop = (Property)instProps.get(i);
- if (propertyName.equals(prop.getName()))
- return prop;
- }
- return null;
- }
-
- private void displayInstanceProperties(Type type)
- {
- System.out.println("Type's name: " + type.getName());
- List instProps = type.getInstanceProperties();
- for (int i = 0; i < instProps.size(); i++)
- {
- Property prop = (Property)instProps.get(i);
- System.out.println("\tType's instance property name: " + prop.getName());
- System.out.println("\tType's instance property value: \"" + type.get(prop) + "\"");
- }
- }
-
- private void displayInstanceProperties(Property prop)
- {
- System.out.println("\tProperty's name: " + prop.getName());
- List propsInstProps = prop.getInstanceProperties();
- for (int j = 0; j < propsInstProps.size(); j++)
- {
- Property propsInstProp = (Property)propsInstProps.get(j);
- System.out.println("\t\tProperty's instance property name: " + propsInstProp.getName());
- System.out.println("\t\tProperty's instance property value: \"" + prop.get(propsInstProp) + "\"");
- }
- }
-
- public void displayInstanceProperties(String namespace)
- {
- List types = SDOUtil.getTypes(helperContext, namespace);
- for (int i = 0; i < types.size(); i++)
- {
- Type type = (Type)types.get(i);
- displayInstanceProperties(type);
- List properties = type.getProperties();
- for (int j = 0; j < properties.size(); j++)
- {
- Property property = (Property)properties.get(j);
- displayInstanceProperties(property);
- }
- System.out.println("**************************************");
- }
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/MixedTypeTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/MixedTypeTestCase.java
deleted file mode 100644
index 806662a83c..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/MixedTypeTestCase.java
+++ /dev/null
@@ -1,89 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import junit.framework.TestCase;
-
-
-public class MixedTypeTestCase extends TestCase {
- private final String TEST_MODEL = "/mixed.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/mixed";
- private final String TEST_DATA = "/mixed.xml";
-
- /**
- * Sequenced type SDO 2 test.
- */
- public void testSequencedType() throws IOException {
- Type quoteType = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "MixedQuote");
- DataObject quote = DataFactory.INSTANCE.create(quoteType);
-
- Sequence sequence = quote.getSequence();
-
- sequence.add("\n ");
-
- quote.setString("symbol", "fbnt");
-
- sequence.add("\n ");
-
- quote.setString("companyName", "FlyByNightTechnology");
-
- sequence.add("\n some text\n ");
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- sequence.add("\n more text\n ");
-
- // quote.setBigDecimal("price", new BigDecimal("1000.0"));
- sequence.add("price", new BigDecimal("1000.0"));
-
- sequence.add("\n");
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- XMLHelper.INSTANCE.save(quote, TEST_NAMESPACE, "mixedStockQuote", baos);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(TEST_DATA)));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/NeverStaleChangeSummaryTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/NeverStaleChangeSummaryTestCase.java
deleted file mode 100644
index 69c8e447df..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/NeverStaleChangeSummaryTestCase.java
+++ /dev/null
@@ -1,76 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.ChangeSummary;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class NeverStaleChangeSummaryTestCase extends TestCase {
- private final String TEST_MODEL = "/simpleWithChangeSummary.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/simpleCS";
-
- /**
- * Simple ChangeSummary test.
- */
- public void testChangeSummary() throws Exception {
- Type quoteType = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "RootQuote");
- DataObject quote = DataFactory.INSTANCE.create(quoteType);
-
- ChangeSummary cs = quote.getChangeSummary();
-
- // Begin logging changes
- //
- cs.beginLogging();
-
- DataObject child = quote.createDataObject("quotes");
- cs.isCreated(child);
- child = quote.createDataObject("quotes");
- assertTrue(cs.isCreated(child));
-
- // Stop logging changes and print the resulting data graph to stdout
- //
- cs.endLogging();
-
- cs.isCreated(child);
-
- cs.undoChanges();
-
- assertFalse(cs.isCreated(child));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-} \ No newline at end of file
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/OpenTypeTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/OpenTypeTestCase.java
deleted file mode 100644
index 74570d3b43..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/OpenTypeTestCase.java
+++ /dev/null
@@ -1,110 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-import java.util.Iterator;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import junit.framework.TestCase;
-
-
-public class OpenTypeTestCase extends TestCase {
- private HelperContext hc;
- private TypeHelper th;
- private XSDHelper xsdh;
- private XMLHelper xmlh;
- private DataFactory df;
- private final String TEST_MODEL = "/open.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/open";
- private final String TEST_DATA = "/open.xml";
-
- /**
- * Open content SDO 2 test.
- */
- public void testOpenType() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "OpenQuote");
- DataObject quote = df.create(quoteType);
-
- quote.setString("symbol", "s1");
-
- for (Iterator iter = quote.getInstanceProperties().iterator(); iter.hasNext();) {
- Property property = (Property) iter.next();
- }
-
- Property companyProperty = xsdh.getGlobalProperty(TEST_NAMESPACE, "company", true);
- DataObject company = quote.createDataObject(companyProperty);
- company.setString("name", "FlyByNightTechnology");
-
- Property priceProperty = xsdh.getGlobalProperty(TEST_NAMESPACE, "price", true);
- quote.getList(priceProperty).add(new BigDecimal("1000.0"));
-
- for (Iterator iter = quote.getInstanceProperties().iterator(); iter.hasNext();) {
- Property property = (Property) iter.next();
- }
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlh.save(quote, TEST_NAMESPACE, "openStockQuote", baos);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(TEST_DATA)));
- }
-
-
- public void testOpenType_Tuscany_396() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "OpenQuote2");
- DataObject quote = df.create(quoteType);
-
- Property priceProperty = xsdh.getGlobalProperty(TEST_NAMESPACE, "price", true);
- // the importance of this is that the maxOccurs=1 attribute on the xsd:any
- // allows is to use the !isMany getters and setters for open content
- quote.set(priceProperty, new BigDecimal("1000.0"));
-
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
- xsdh = hc.getXSDHelper();
- df = hc.getDataFactory();
- xmlh = hc.getXMLHelper();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SchemaLocationTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SchemaLocationTestCase.java
deleted file mode 100644
index eaec327007..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SchemaLocationTestCase.java
+++ /dev/null
@@ -1,48 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.util.*;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.helper.*;
-
-public class SchemaLocationTestCase extends TestCase {
- private final String TEST_XML_DOCUMENT = "/SchemaLocationTestCase.xml";
-
- /**
- * This method will load an xml document consisting of a xsi:schemaLocation and xsi:noNamespaceSchemaLocation defined. It will then use the
- * XMLDocument API to get and set the schemaLocation property.
- *
- * @throws IOException
- */
- public void testSchemaLocation() throws IOException {
- // load the xml document which has xsi:noNamespaceSchemaLocation and xsi:schemaLocation defined
- Map options = new HashMap();
- options.put(SDOUtil.XML_LOAD_SCHEMA, Boolean.TRUE);
- XMLDocument doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(TEST_XML_DOCUMENT), "whatever", options);
- assertNotSame(doc.getRootObject().getType(), SDOPackage.eINSTANCE.getAnyTypeDataObject());
- }
-} \ No newline at end of file
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SequenceTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SequenceTestCase.java
deleted file mode 100644
index b547f45d1c..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SequenceTestCase.java
+++ /dev/null
@@ -1,100 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Sequence;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XSDHelper;
-
-public class SequenceTestCase extends TestCase {
- HelperContext hc;
- Type type;
- Property localA, choiceX, choiceY, localB, open;
-
- String xml = "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\" xmlns:tns=\"testNS\">"+
- "<element name=\"open\" type=\"string\"/>"+
- "<complexType name=\"Sequenced\">"+
- "<sequence>"+
- "<element name=\"localA\" type=\"string\" maxOccurs=\"unbounded\"/>"+
- "<choice maxOccurs=\"unbounded\">"+
- "<element name=\"choiceX\" type=\"string\"/>"+
- "<element name=\"choiceY\" type=\"string\"/>"+
- "</choice>"+
- "<element name=\"localB\" type=\"string\"/>"+
- "<any namespace=\"##any\" maxOccurs=\"unbounded\"/>"+
- "</sequence>"+
- "<anyAttribute/>"+
- "</complexType>"+
- "</schema>";
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- hc.getXSDHelper().define(xml);
- type = hc.getTypeHelper().getType("testNS", "Sequenced");
- localA = type.getProperty("localA");
- choiceX = type.getProperty("choiceX");
- choiceY = type.getProperty("choiceY");
- localB = type.getProperty("localB");
- XSDHelper xsdHelper = hc.getXSDHelper();
- open = xsdHelper.getGlobalProperty("testNS", "open", true);
- }
-
- public void testSequenced() {
- DataObject dataObject = hc.getDataFactory().create(type);
- Sequence sequence = dataObject.getSequence();
-
- sequence.add(choiceX, "x1");
- sequence.add(0, localA, "a");
- sequence.add(choiceY, "y1");
- sequence.add(choiceX, "x2");
- sequence.add(localB, "b");
- sequence.add(open, "open");
-
- List list = dataObject.getList(localA);
- assertEquals(list.size(), 1);
- assertEquals(list.get(0), "a");
-
- assertEquals(dataObject.getString(localB), "b");
-
- list = dataObject.getList(choiceX);
- assertEquals(list.size(), 2);
- assertEquals(list.get(0), "x1");
- assertEquals(list.get(1), "x2");
-
- list = dataObject.getList(choiceY);
- assertEquals(list.size(), 1);
- assertEquals(list.get(0), "y1");
-
- list = dataObject.getList(open);
- assertEquals(list.size(), 1);
- assertEquals(list.get(0), "open");
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SerializeTypesTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SerializeTypesTestCase.java
deleted file mode 100644
index 7fe1196eb6..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SerializeTypesTestCase.java
+++ /dev/null
@@ -1,190 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.DataGraph;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-
-public class SerializeTypesTestCase extends TestCase {
-
- HelperContext hc;
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- }
-
- public void testSerializeTypesRoundTrip() throws Exception {
- TypeHelper types = hc.getTypeHelper();
- DataFactory factory = hc.getDataFactory();
-
- Type intType = types.getType("commonj.sdo", "Int");
- Type stringType = types.getType("commonj.sdo", "String");
-
- // create a new Type for Addresses
- DataObject addressType = factory.create("commonj.sdo", "Type");
- addressType.set("uri", "http://example.com/address");
- addressType.set("name", "Address");
-
- // create a address street property
- DataObject addrStProperty = addressType.createDataObject("property");
- addrStProperty.set("name", "addrSt");
- addrStProperty.set("type", stringType);
-
- // create a new Type for Customers
- DataObject customerType = factory.create("commonj.sdo", "Type");
- customerType.set("uri", "http://example.com/customer");
- customerType.set("name", "Customer");
-
- // create a customer number property
- DataObject custNumProperty = customerType.createDataObject("property");
- custNumProperty.set("name", "custNum");
- custNumProperty.set("type", intType);
-
- // create a first name property
- DataObject firstNameProperty = customerType.createDataObject("property");
- firstNameProperty.set("name", "firstName");
- firstNameProperty.set("type", stringType);
-
- // create a last name property
- DataObject lastNameProperty = customerType.createDataObject("property");
- lastNameProperty.set("name", "lastName");
- lastNameProperty.set("type", stringType);
-
- // create an address property
- DataObject addressProperty = customerType.createDataObject("property");
- addressProperty.set("name", "address");
- addressProperty.set("type", addressType);
- addressProperty.setBoolean("containment", true);
-
- // now define the Address and Customer type so that addresses and customers can be made
- List types2define = new ArrayList();
- types2define.add(addressType);
- types2define.add(customerType);
- List typesDefined = types.define(types2define);
-
- // Create an empty data graph and add a root object, an instance of customerType
- //
-
- DataGraph dataGraph = SDOUtil.createDataGraph();
- Type customerTypeDefined = (Type) typesDefined.get(1);
- DataObject customer1 = dataGraph.createRootObject(customerTypeDefined);
-
- customer1.setInt("custNum", 1);
- customer1.set("firstName", "John");
- customer1.set("lastName", "Adams");
- DataObject address = customer1.createDataObject("address");
- address.set("addrSt", "577 Airport Blvd");
-
- SDOUtil.registerDataGraphTypes(dataGraph, typesDefined);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- SDOUtil.saveDataGraph(dataGraph, baos, null);
- //SDOUtil.saveDataGraph(dataGraph, System.out, null);
-
- byte[] serialized = baos.toByteArray();
- ByteArrayInputStream bais = new ByteArrayInputStream(serialized);
- DataGraph loadedDataGraph = SDOUtil.loadDataGraph(bais, null, hc);
-
- DataObject loadedRootObject = loadedDataGraph.getRootObject();
- assertNotSame(loadedRootObject.getType(), customer1.getType());
-
- // EqualityHelper requires same Type
- assertEquals(loadedRootObject.getInt("custNum"), customer1.getInt("custNum"));
- assertEquals(loadedRootObject.get("firstName"), customer1.get("firstName"));
- assertEquals(loadedRootObject.get("lastName"), customer1.get("lastName"));
- DataObject loadedAddress = loadedRootObject.getDataObject("address");
- assertEquals(loadedAddress.get("addrSt"), address.get("addrSt"));
- }
-
- private String xsdString =
- "<xsd:schema targetNamespace=\"http://www.example.com/simple\" " +
- "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
- "xmlns:simple=\"http://www.example.com/simple\"> " +
- "<xsd:element name=\"bytesTypeTest\" type=\"simple:BytesTypeTest\"/> " +
- "<xsd:complexType name=\"BytesTypeTest\"> " +
- "<xsd:sequence> " +
- "<xsd:element name=\"base64Binary\" type=\"xsd:base64Binary\"/> " +
- "<xsd:element name=\"hexBinary\" type=\"xsd:hexBinary\"/> " +
- "</xsd:sequence> " +
- "</xsd:complexType> " +
- "</xsd:schema>";
-
-
- private String testString = "Hello World";
- private String testStringInBase64 = "SGVsbG8gV29ybGQ=";
- private String testStringInHex = "48656C6C6F20576F726C64";
-
- public void testSerializeXSDBase64BinaryRoundTrip() throws Exception {
- hc.getXSDHelper().define(xsdString);
-
- DataObject typeTest = hc.getDataFactory().create("http://www.example.com/simple", "BytesTypeTest");
- typeTest.setBytes("base64Binary", testString.getBytes());
-
- String output = hc.getXMLHelper().save(typeTest, typeTest.getType().getURI(), "bytesTypeTest");
-
- String startTag = "<base64Binary>";
- String endTag = "</base64Binary>";
- int start = output.indexOf(startTag) + startTag.length();
- int end = output.indexOf(endTag);
-
- String value = output.substring(start, end);
- assertEquals(testStringInBase64, value);
-
- XMLDocument xmlDoc = hc.getXMLHelper().load(output);
- typeTest = xmlDoc.getRootObject();
- assertEquals(testString, new String(typeTest.getBytes("base64Binary")));
- }
-
- public void testSerializeXSDHexBinaryRoundTrip() throws Exception {
- hc.getXSDHelper().define(xsdString);
-
- DataObject typeTest = hc.getDataFactory().create("http://www.example.com/simple", "BytesTypeTest");
- typeTest.setBytes("hexBinary", testString.getBytes());
-
- String output = hc.getXMLHelper().save(typeTest, typeTest.getType().getURI(), "bytesTypeTest");
-
- String startTag = "<hexBinary>";
- String endTag = "</hexBinary>";
- int start = output.indexOf(startTag) + startTag.length();
- int end = output.indexOf(endTag);
-
- String value = output.substring(start, end);
- assertEquals(testStringInHex, value);
-
- XMLDocument xmlDoc = hc.getXMLHelper().load(output);
- typeTest = xmlDoc.getRootObject();
- assertEquals(testString, new String(typeTest.getBytes("hexBinary")));
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleCopyTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleCopyTestCase.java
deleted file mode 100644
index 36f038d779..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleCopyTestCase.java
+++ /dev/null
@@ -1,71 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.CopyHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import junit.framework.TestCase;
-
-public class SimpleCopyTestCase extends TestCase {
-
- private final String TEST_MODEL = "/simple.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/simple";
- private final String QUOTE_XML = "/quote.xml";
- private final String SHALLOW_QUOTE_XML = "/shallowquote.xml";
-
- public void testSimpleCopy() throws IOException {
- XMLDocument doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(QUOTE_XML));
- DataObject sdo = doc.getRootObject();
-
- DataObject copiedSdo = CopyHelper.INSTANCE.copyShallow(sdo);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- XMLHelper.INSTANCE.save(copiedSdo, TEST_NAMESPACE, "stockQuote", baos);
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(SHALLOW_QUOTE_XML)));
- assertFalse(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(QUOTE_XML)));
-
- copiedSdo = CopyHelper.INSTANCE.copy(sdo);
-
- baos.reset();
- XMLHelper.INSTANCE.save(copiedSdo, TEST_NAMESPACE, "stockQuote", baos);
- assertFalse(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(SHALLOW_QUOTE_XML)));
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(QUOTE_XML)));
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleDynamicTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleDynamicTestCase.java
deleted file mode 100644
index 55aae9d396..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleDynamicTestCase.java
+++ /dev/null
@@ -1,123 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigDecimal;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-
-
-public class SimpleDynamicTestCase extends TestCase {
- private final String TEST_MODEL = "/simple.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/simple";
- private final String QUOTE_XML = "/quote.xml";
-
- //private final String TEST_MODEL2 = "/simple2.xsd";
- //private final String TEST_NAMESPACE2 = "http://www.example.com/simple2";
- //private final String QUOTE_XML2 = "/quote2.xml";
-
- HelperContext hc;
- TypeHelper th;
-
- /**
- * Simple Dynamic SDO 2 test.
- */
- public void testDynamic() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "Quote");
- DataObject quote = hc.getDataFactory().create(quoteType);
-
- quote.setString("symbol", "fbnt");
- quote.setString("companyName", "FlyByNightTechnology");
- quote.setBigDecimal("price", new BigDecimal("1000.0"));
- quote.setBigDecimal("open1", new BigDecimal("1000.0"));
- quote.setBigDecimal("high", new BigDecimal("1000.0"));
- quote.setBigDecimal("low", new BigDecimal("1000.0"));
- quote.setDouble("volume", 1000);
- quote.setDouble("change1", 1000);
-
- DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- hc.getXMLHelper().save(quote, TEST_NAMESPACE, "stockQuote", baos);
-
- assertFalse(quote.isSet("undefined"));
- assertSame(quote.get("undefined"), null);
-
- assertTrue(TestUtil.equalXmlFiles(new ByteArrayInputStream(baos.toByteArray()), getClass().getResource(QUOTE_XML)));
- }
-
- /*
- public void dontTestResolveXSDWithoutSchemaLocation() throws IOException {
-
- URL url = getClass().getResource(TEST_MODEL2);
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, null);
- inputStream.close();
-
- Type quote2Type = th.getType(TEST_NAMESPACE2, "Quote2");
- DataObject quote2 = hc.getDataFactory().create(quote2Type);
-
- quote2.setString("symbol", "fbnt");
- quote2.setString("companyName", "FlyByNightTechnology");
- quote2.setBigDecimal("price", new BigDecimal("1000.0"));
- quote2.setBigDecimal("open1", new BigDecimal("1000.0"));
- quote2.setBigDecimal("high", new BigDecimal("1000.0"));
- quote2.setBigDecimal("low", new BigDecimal("1000.0"));
- quote2.setDouble("volume", 1000);
- quote2.setDouble("change1", 1000);
-
- DataObject child = quote2.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- hc.getXMLHelper().save(quote2, TEST_NAMESPACE2, "stockQuote", System.out);
- }
- */
-
- protected void setUp() throws Exception {
- super.setUp();
-
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
-
-
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleEqualityTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleEqualityTestCase.java
deleted file mode 100644
index c3fffa4f10..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SimpleEqualityTestCase.java
+++ /dev/null
@@ -1,63 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.EqualityHelper;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-import junit.framework.TestCase;
-
-public class SimpleEqualityTestCase extends TestCase {
- private static final String TEST_MODEL = "/simple.xsd";
- private static final String QUOTE_XML = "/quote.xml";
- private static final String SHALLOW_QUOTE_XML = "/shallowquote.xml";
-
- public void testEquality() throws IOException {
-
- XMLDocument doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(QUOTE_XML));
- DataObject sdo = doc.getRootObject();
-
- doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(SHALLOW_QUOTE_XML));
- DataObject shallowSdo = doc.getRootObject();
-
- boolean result = EqualityHelper.INSTANCE.equalShallow(sdo, shallowSdo);
- assertTrue(result);
-
- result = EqualityHelper.INSTANCE.equal(sdo, shallowSdo);
- assertFalse(result);
- }
-
-
- protected void setUp() throws Exception {
- super.setUp();
-
- // Populate the meta data for the test (Stock Quote) model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java
deleted file mode 100644
index b473503122..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/SubstitutionValuesTestCase.java
+++ /dev/null
@@ -1,47 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.XSDHelper;
-
-public final class SubstitutionValuesTestCase extends TestCase
-{
- public void test() throws IOException
- {
- URL url = getClass().getResource("/SubstitutionValues.xsd");
- XSDHelper.INSTANCE.define(url.openStream(), url.toString());
-
- final DataObject object = DataFactory.INSTANCE.create("http://www.apache.org/tuscany/SubstitutionValues", "TestObject");
- final Type type = object.getType();
-
- assertNotNull( SDOUtil.getSubstitutionValues(object, type.getProperty("groupHead")));
- assertNull( SDOUtil.getSubstitutionValues(object, type.getProperty("nonGroupHead")));
- }
-} \ No newline at end of file
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java
deleted file mode 100644
index a7ab3f954a..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java
+++ /dev/null
@@ -1,285 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-public class TestUtil
-{
- private static void getAllNodes(NodeList nodeList, List nodes)
- {
- int length = nodeList.getLength();
- if (length == 0)
- {
- return;
- }
-
- for (int i=0; i<length; i++)
- {
- Node node = nodeList.item(i);
- nodes.add(node);
- getAllNodes(node.getChildNodes(), nodes);
- } // for
- }
-
- private static boolean equalNamedNodeMap(NamedNodeMap mapA, NamedNodeMap mapB) {
- if (mapA == null) {
- if (mapB == null) {
- return true;
- }
- return false;
- }
- if (mapA.getLength() != mapB.getLength()) {
- return false;
- }
- for (int i = 0; i < mapA.getLength(); i++) {
- Node trialNode = mapA.item(i);
- if (trialNode == null) {
- return false;
- }
- Node checkNode = mapB.getNamedItem(trialNode.getNodeName());
- if (checkNode == null) {
- return false;
- }
- if (!equalNode(trialNode, checkNode)) {
- return false;
- }
- }
- return true;
- }
-
- private static boolean equalNode(Node nodeA, Node nodeB) {
- if (nodeA == null) {
- if (nodeB == null) {
- return true;
- }
- return false;
- }
- // following is intended to provide same function as 1.5 isEqualNode()
- if (nodeA.getNodeType() != nodeB.getNodeType()) {
- return false;
- }
- if (!equalString(nodeA.getNodeName(), nodeB.getNodeName())) {
- return false;
- }
- if (!equalString(nodeA.getLocalName(), nodeB.getLocalName())) {
- return false;
- }
- if (!equalString(nodeA.getNamespaceURI(), nodeB.getNamespaceURI())) {
- return false;
- }
- if (!equalString(nodeA.getNamespaceURI(), nodeB.getNamespaceURI())) {
- return false;
- }
- if (!equalString(nodeA.getPrefix(), nodeB.getPrefix())) {
- return false;
- }
- if (!equalString(nodeA.getNodeValue(), nodeB.getNodeValue())) {
- return false;
- }
- if (!equalNamedNodeMap(nodeA.getAttributes(), nodeB.getAttributes())) {
- return false;
- }
- if (!equalNodeList(nodeA.getChildNodes(), nodeB.getChildNodes())) {
- return false;
- }
- if (nodeA.getNodeType() == Node.DOCUMENT_TYPE_NODE) {
- DocumentType documentTypeA = (DocumentType) nodeA;
- DocumentType documentTypeB = (DocumentType) nodeB;
- if (!equalString(documentTypeA.getPublicId(), documentTypeB.getPublicId())) {
- return false;
- }
- if (!equalString(documentTypeA.getSystemId(), documentTypeB.getSystemId())) {
- return false;
- }
- if (!equalString(documentTypeA.getInternalSubset(), documentTypeB.getInternalSubset())) {
- return false;
- }
- if (!equalNamedNodeMap(documentTypeA.getEntities(), documentTypeB.getEntities())) {
- return false;
- }
- if (!equalNamedNodeMap(documentTypeA.getNotations(), documentTypeB.getNotations())) {
- return false;
- }
- }
- return true;
- }
-
- private static boolean equalNodeList(NodeList nodeListA, NodeList nodeListB) {
- if (nodeListA == null) {
- if (nodeListB == null) {
- return true;
- }
- return false;
- }
- return equalNodes(nodeListA, nodeListB);
- }
-
- private static boolean equalString(String stringA, String stringB) {
- if (stringA == null) {
- if (stringB == null) {
- return true;
- }
- return false;
- }
- return stringA.equals(stringB);
- }
-
- private static boolean equalNodes(NodeList sourceNodeList, NodeList targetNodeList)
- {
- ArrayList sourceNodes = new ArrayList();
- ArrayList targetNodes = new ArrayList();
-
- getAllNodes(sourceNodeList, sourceNodes);
- getAllNodes(targetNodeList, targetNodes);
-
- int sourceLength = sourceNodes.size();
- int targetLength = targetNodes.size();
-
- if (sourceLength != targetLength)
- {
- return false;
- }
-
- for (int i=0; i<sourceLength; i++)
- {
- Node sourceNode = (Node)sourceNodes.get(i);
- Node targetNode = (Node)targetNodes.get(i);
-
- /* remove comment when migrated to Java 1.5
- if (!sourceNode.isEqualNode(targetNode))
- {
- return false;
- }
- */
- // following is intended as 1.4 equivalent of isEqualNode()
- if (!equalNode(sourceNode, targetNode))
- {
- return false;
- }
- } // for
-
- return true;
- }
-
- public static boolean equalXmlFiles(URL source, URL target)
- {
- try {
- return equalXmlFiles(source.openStream(), target.openStream());
- }
- catch (IOException e)
- {
- return false;
- }
- }
-
- public static boolean equalXmlFiles(InputStream sourceStream, URL target)
- {
- try {
- return equalXmlFiles(sourceStream, target.openStream());
- }
- catch (IOException e)
- {
- return false;
- }
- }
-
- public static boolean equalXmlFiles(URL source, InputStream targetStream)
- {
- try {
- return equalXmlFiles(source.openStream(), targetStream);
- }
- catch (IOException e)
- {
- return false;
- }
- }
-
- public static boolean equalXmlFiles(InputStream sourceStream, InputStream targetStream)
- {
- DocumentBuilder builder;
- Document sourceDocument;
- Document targetDocument;
-
- try {
- builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- sourceDocument = builder.parse(sourceStream);
- targetDocument = builder.parse(targetStream);
- }
- catch (FactoryConfigurationError fce) {
- return false;
- }
- catch (ParserConfigurationException ce) {
- return false;
- }
- catch (SAXException se)
- {
- return false;
- }
- catch (IOException ie)
- {
- return false;
- }
-
- sourceDocument.normalize();
- targetDocument.normalize();
-
- /* remove comment when migrated to Java 1.5
- if (!sourceDocument.getXmlVersion().equals(targetDocument.getXmlVersion()))
- {
- return false;
- }
-
- String sourceXmlEncoding = sourceDocument.getXmlEncoding();
- String targetXmlEncoding = targetDocument.getXmlEncoding();
-
- if (sourceXmlEncoding != null && targetXmlEncoding != null &&
- sourceXmlEncoding.equalsIgnoreCase(targetXmlEncoding))
- {
- // continue
- }
- else
- {
- return false;
- }
- */
-
- NodeList sourceNodes = sourceDocument.getChildNodes();
- NodeList targetNodes = targetDocument.getChildNodes();
-
- return equalNodes(sourceNodes, targetNodes);
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeConversionTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeConversionTestCase.java
deleted file mode 100644
index 98c1d3e51b..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeConversionTestCase.java
+++ /dev/null
@@ -1,892 +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.
- */
-
-package org.apache.tuscany.sdo.test;
-
-import junit.framework.TestCase;
-
-
-import java.io.InputStream;
-import java.lang.reflect.Method;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.net.URL;
-import java.text.SimpleDateFormat;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.TimeZone;
-
-import org.apache.tuscany.sdo.util.DataObjectUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Property;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class TypeConversionTestCase extends TestCase
-{
- // The following constants are used to get Types from XSDs
-
- private static final String TEST_MODEL = "/api_test.xsd";
- private static final String TEST_NAMESPACE = "http://www.example.com/api_test";
-
- // The following constants describe the index for the fields in api_test.xsd.
-
- private static final int STRING_VAL_INDEX = 0;
- private static final int BOOLEAN_VAL_INDEX = 1;
- private static final int BYTE_VAL_INDEX = 3;
- private static final int DECIMAL_VAL_INDEX = 5;
- private static final int INT_VAL_INDEX = 7;
- private static final int FLOAT_VAL_INDEX = 8;
- private static final int DOUBLE_VAL_INDEX = 9;
- private static final int DATE_VAL_INDEX = 10;
- private static final int SHORT_VAL_INDEX = 11;
- private static final int LONG_VAL_INDEX = 12;
- private static final int BYTES_VAL_INDEX = 14;
- private static final int INTEGER_VAL_INDEX = 15;
- private static final int CHAR_VAL_INDEX = 16;
-
- // The following variables are Method arrays. Each array refers to a specific get<Type>, but within
- // the array exist the get<Type>(index), get<Type>(property), and get<Type>(path). Rather than
- // referring to each of the three in every circumstance, the more compact array appears.
-
- private static ConversionType TO_BOOLEAN = new ConversionType("getBoolean");
- private static ConversionType TO_BYTE = new ConversionType("getByte");
- private static ConversionType TO_CHAR = new ConversionType("getChar");
- private static ConversionType TO_DOUBLE = new ConversionType("getDouble");
- private static ConversionType TO_FLOAT = new ConversionType("getFloat");
- private static ConversionType TO_INT = new ConversionType("getInt");
- private static ConversionType TO_LONG = new ConversionType("getLong");
- private static ConversionType TO_SHORT = new ConversionType("getShort");
- private static ConversionType TO_BYTES = new ConversionType("getBytes");
- private static ConversionType TO_BIGDECIMAL = new ConversionType("getBigDecimal");
- private static ConversionType TO_BIGINTEGER = new ConversionType("getBigInteger");
- private static ConversionType TO_DATAOBJECT = new ConversionType("getDataObject");
- private static ConversionType TO_DATE = new ConversionType("getDate");
- private static ConversionType TO_STRING = new ConversionType("getString");
- private static ConversionType TO_LIST = new ConversionType("getList");
- private static ConversionType TO_SEQUENCE = new ConversionType("getSequence");
-
- private static GeneralComparator COMPARE_ANY;
-
- // There will be several instances where a Property must be passed as a parameter. Have available the Type
- // to call getProperty() as needed.
-
- private static Type API_TEST_TYPE;
-
- // The default constructor establishes each of the Method and Method[] variables.
-
- public TypeConversionTestCase() throws Exception
- {
- COMPARE_ANY = new GeneralComparator();
-
- // Populate the meta data for the test model
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- XSDHelper.INSTANCE.define(inputStream, url.toString());
- inputStream.close();
-
- API_TEST_TYPE = TypeHelper.INSTANCE.getType(TEST_NAMESPACE, "APITest");
- }
-
- private static class ConversionType
- {
- // The following constants are used because the getMethod function requires an Class
- // array describing the parameters to the functions.
-
- private static final Class[] INT_CLASS_ARRAY = {int.class};
- private static final Class[] PROPERTY_CLASS_ARRAY = {Property.class};
- private static final Class[] STRING_CLASS_ARRAY = {String.class};
-
- Method index_method;
- Method property_method;
- Method path_method;
-
- public ConversionType (String method_name)
- {
- try
- {
- this.index_method = DataObject.class.getMethod(method_name, INT_CLASS_ARRAY);
- this.property_method = DataObject.class.getMethod(method_name, PROPERTY_CLASS_ARRAY);
- this.path_method = DataObject.class.getMethod(method_name, STRING_CLASS_ARRAY);
- }
- catch (NoSuchMethodException e)
- {
- this.index_method = null;
- this.property_method = null;
- this.path_method = null;
- }
- }
-
- public Method getIndexMethod()
- {
- return this.index_method;
- }
-
- public Method getPropertyMethod()
- {
- return this.property_method;
- }
-
- public Method getPathMethod()
- {
- return this.path_method;
- }
- }
-
- // Each instance of Test describes a convert-from type. The index, property and path parms
- // will refer to the same field, which is a field of the convert-from type.
-
- private static class Test
- {
- DataObject test_obj;
- Object[] index_parm;
- Object[] property_parm;
- Object[] path_parm;
- Object expected_value;
- String from_type;
-
- // The constructor prepares a test DataObject and determines how to access the field
- // in three different ways - index, property, and path.
-
- Test(String path, int index)
- {
- this.test_obj = DataFactory.INSTANCE.create(API_TEST_TYPE);
- this.index_parm = new Object[] {new Integer(index)};
- this.property_parm = new Object[] {API_TEST_TYPE.getProperty(path)};
- this.path_parm = new Object[] {path};
- this.expected_value = null;
- }
-
- // The initialize() function establishes the initial value of the test field.
-
- public void initialize(Class type, String type_name, Object initial_value) throws Exception
- {
- Class[] classArray = {int.class, type};
- Object[] initValueArray = new Object[] {this.index_parm[0], initial_value};
-
- Method setter = DataObject.class.getMethod("set" + type_name, classArray);
- setter.invoke(test_obj, initValueArray);
- this.expected_value = initial_value;
- this.from_type = type_name;
- }
-
- // Attempts the conversion to the specified type, using DataObject.get____().
- // The get___() function can be called with an index, path, and property. attemptConversion()
- // calls each of those three.
-
- public void attemptConversion(ConversionType to_type) throws Exception
- {
- performConversion(to_type.getIndexMethod(), this.index_parm);
- performConversion(to_type.getPathMethod(), this.path_parm);
- performConversion(to_type.getPropertyMethod(), this.property_parm);
- }
-
- public void checkConversionException(ConversionType to_type, Class expected_exception) throws Exception
- {
- boolean index_err, path_err, property_err, consistency_err = false;
-
- index_err = executeExceptionCase(to_type.getIndexMethod(), this.index_parm, expected_exception);
- path_err = executeExceptionCase(to_type.getPathMethod(), this.path_parm, expected_exception);
- property_err = executeExceptionCase(to_type.getPropertyMethod(), this.property_parm, expected_exception);
-
- if (index_err != path_err || path_err != property_err)
- consistency_err = true;
- else if (index_err == false)
- attemptConversion(to_type);
-
- assertFalse("An exception inconsistency exists for " + to_type.getPathMethod().getName() + " when called "
- + "for a " + this.from_type + " property.", consistency_err);
- }
-
- private void performConversion (Method convert, Object[] parm) throws Exception
- {
- try
- {
- assertTrue("Conversion did not yield expected value for " + convert.getName() + " on a " + this.from_type + " property.",
- COMPARE_ANY.compare(convert.invoke(test_obj, parm), this.expected_value) == 0);
- }
- catch (Exception e)
- {
- Throwable cause = e.getCause();
- if (cause == null)
- {
- System.err.println("An exception of type " + e.getClass() + " occurred while performing " + convert.getName()
- + " on a " + this.from_type + " property.");
- }
- else
- {
- System.err.println("An exception of type " + cause.getClass() + " occurred while performing " + convert.getName()
- + " on a " + this.from_type + " property.");
- }
-
- throw e;
- }
-
- }
-
- private boolean executeExceptionCase (Method convert, Object[] parm, Class expected_exception) throws Exception
- {
- boolean exception_thrown = false;
- try
- {
- convert.invoke(test_obj, parm);
- }
- catch (Exception e)
- {
- exception_thrown = true;
- Throwable cause = e.getCause();
- if (cause == null)
- {
- assertEquals("An unexpected exception occurred while performing " + convert.getName()
- + " on a " + this.from_type + " property.", expected_exception, e.getClass());
- }
- else
- {
- assertEquals("An unexpected exception occurred while performing " + convert.getName()
- + " on a " + this.from_type + " property.", expected_exception, cause.getClass());
- }
- }
-
- return exception_thrown;
- }
- }
-
- private static class GeneralComparator implements Comparator
- {
- public int compare(Object obj1, Object obj2)
- {
- if (obj1.getClass() == obj2.getClass())
- {
- if (obj1.equals(obj2))
- return 0;
- else
- return 1;
- }
-
- else if (obj1.getClass() == Date.class)
- {
- if (obj2.getClass() == String.class)
- {
- try
- {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy'-'MM'-'dd'T'H':'mm':'ss.S");
-
- sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
- obj2 = sdf.parse((String) obj2);
-
- if (obj1.equals(obj2))
- return 0;
- }
- catch (Exception e)
- {
- System.out.println(e.getMessage());
- }
-
- return 1;
- }
-
- else
- {
- Date temp = (Date) obj1;
-
- return compare(new Long(temp.getTime()), obj2);
- }
-
- }
-
- else if (obj2.getClass() == Date.class)
- {
- return compare(obj2, obj1);
- }
-
- else if (obj1.getClass() == Boolean.class)
- {
- Boolean temp = (Boolean) obj1;
-
- if (temp.booleanValue())
- {
- if (obj2.toString().equalsIgnoreCase("true"))
- return 0;
- else
- return 1;
- }
-
- else
- {
- if (obj2.toString().equalsIgnoreCase("true"))
- return 1;
- else
- return 0;
- }
- }
-
- else if (obj2.getClass() == Boolean.class)
- return compare(obj2, obj1);
-
- else if (obj1.getClass() == Byte.class || obj2.getClass() == Byte.class)
- {
- byte b1 = (Double.valueOf(obj1.toString())).byteValue();
- byte b2 = (Double.valueOf(obj2.toString())).byteValue();
-
- if (b1 == b2)
- return 0;
- else if (b1 < b2)
- return -1;
- else
- return 1;
- }
-
- else if (obj1.getClass().toString().charAt(6) == '[')
- {
- long result = 0;
- long multiplier = 1;
-
- byte[] array = (byte[]) obj1;
- for (int i = 0; i < array.length; i++)
- {
- result += array[array.length - i - 1] * multiplier;
- multiplier *= 256;
- }
-
- return compare(obj2, new Long(result));
- }
-
- else if (obj2.getClass().toString().charAt(6) == '[')
- {
- return compare(obj2, obj1);
- }
-
- else if (obj1.getClass() == Short.class || obj2.getClass() == Short.class)
- {
- short s1 = (Double.valueOf(obj1.toString())).shortValue();
- short s2 = (Double.valueOf(obj2.toString())).shortValue();
-
- if (s1 == s2)
- return 0;
- else if (s1 < s2)
- return -1;
- else
- return 1;
- }
-
- else if (obj1.getClass() == Integer.class || obj2.getClass() == Integer.class)
- {
- int i1 = (Double.valueOf(obj1.toString())).intValue();
- int i2 = (Double.valueOf(obj2.toString())).intValue();
-
- if (i1 == i2)
- return 0;
- else if (i1 < i2)
- return -1;
- else
- return 1;
- }
-
- else if ( obj1.getClass() == Long.class || obj2.getClass() == Long.class
- || obj1.getClass() == BigInteger.class || obj2.getClass() == BigInteger.class)
- {
- long l1 = (Double.valueOf(obj1.toString())).longValue();
- long l2 = (Double.valueOf(obj2.toString())).longValue();
-
- if (l1 == l2)
- return 0;
- else if (l1 < l2)
- return -1;
- else
- return 1;
- }
-
- else if (obj1.getClass() == Float.class || obj2.getClass() == Float.class)
- {
- float f1 = (Double.valueOf(obj1.toString())).floatValue();
- float f2 = (Double.valueOf(obj2.toString())).floatValue();
-
- if (f1 == f2)
- return 0;
- else if (f1 < f2)
- return -1;
- else
- return 1;
- }
-
- else if (obj1.getClass() == Double.class || obj2.getClass() == Double.class)
- {
- Double b1 = Double.valueOf(obj1.toString());
- Double b2 = Double.valueOf(obj2.toString());
-
- return b1.compareTo(b2);
- }
-
- else if (obj1.getClass() == BigDecimal.class || obj2.getClass() == BigDecimal.class)
- {
- BigDecimal b1 = new BigDecimal(obj1.toString());
- BigDecimal b2 = new BigDecimal(obj2.toString());
-
- return b1.compareTo(b2);
- }
-
- else
- {
- if (obj1.toString().equals(obj2.toString()))
- return 0;
- else
- return 1;
- }
- }
-
- }
-
- /**********************************************************
- * In the following test cases, several instances are commented out.
- * For these cases, the test case currently fails. A JIRA issue (TUSCANY-581) has
- * been opened to either correct the behavior (then uncomment the lines) or to
- * alter the specification against which the test cases were designed (and then
- * remove the lines - assuming the alteration is to remove stating the
- * nature of the exception).
- */
-
- public void testBooleanConversion() throws Exception
- {
- Test FromBoolean = new Test("booleanVal", BOOLEAN_VAL_INDEX);
-
- FromBoolean.initialize(boolean.class, "Boolean", Boolean.valueOf(true));
-
- FromBoolean.attemptConversion(TO_BOOLEAN);
- FromBoolean.attemptConversion(TO_STRING);
- }
-
- public void testBooleanExceptions() throws Exception
- {
- Test FromBoolean = new Test("booleanVal", BOOLEAN_VAL_INDEX);
-
- FromBoolean.initialize(boolean.class, "Boolean", Boolean.valueOf(true));
-
-// FromBoolean.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_DOUBLE, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_FLOAT, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_INT, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_LONG, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_SHORT, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_BYTES, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_BIGINTEGER, ClassCastException.class);
- FromBoolean.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromBoolean.checkConversionException(TO_DATE, ClassCastException.class);
- FromBoolean.checkConversionException(TO_LIST, ClassCastException.class);
- FromBoolean.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testByteConversion() throws Exception
- {
- Test FromByte = new Test("byteVal", BYTE_VAL_INDEX);
-
- FromByte.initialize(byte.class, "Byte", Byte.valueOf("-127"));
-
- FromByte.attemptConversion(TO_BYTE);
- FromByte.attemptConversion(TO_DOUBLE);
- FromByte.attemptConversion(TO_FLOAT);
- FromByte.attemptConversion(TO_INT);
- FromByte.attemptConversion(TO_LONG);
- FromByte.attemptConversion(TO_SHORT);
- FromByte.attemptConversion(TO_STRING);
- }
-
- public void testByteExceptions() throws Exception
- {
- Test FromByte = new Test("byteVal", BYTE_VAL_INDEX);
-
- FromByte.initialize(byte.class, "Byte", Byte.valueOf("-127"));
-
-// FromByte.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromByte.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromByte.checkConversionException(TO_BYTES, ClassCastException.class);
- FromByte.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
- FromByte.checkConversionException(TO_BIGINTEGER, ClassCastException.class);
- FromByte.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromByte.checkConversionException(TO_DATE, ClassCastException.class);
- FromByte.checkConversionException(TO_LIST, ClassCastException.class);
- FromByte.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testCharConversion() throws Exception
- {
- Test FromChar = new Test("charVal", CHAR_VAL_INDEX);
-
- FromChar.initialize(char.class, "Char", new Character('?'));
-
- FromChar.attemptConversion(TO_CHAR);
- FromChar.attemptConversion(TO_STRING);
- }
-
- public void testCharExceptions() throws Exception
- {
- Test FromChar = new Test("charVal", CHAR_VAL_INDEX);
-
- FromChar.initialize(char.class, "Char", new Character('?'));
-
-// FromChar.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromChar.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromChar.checkConversionException(TO_DOUBLE, ClassCastException.class);
-// FromChar.checkConversionException(TO_FLOAT, ClassCastException.class);
-// FromChar.checkConversionException(TO_INT, ClassCastException.class);
-// FromChar.checkConversionException(TO_LONG, ClassCastException.class);
-// FromChar.checkConversionException(TO_SHORT, ClassCastException.class);
-// FromChar.checkConversionException(TO_BYTES, ClassCastException.class);
-// FromChar.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
-// FromChar.checkConversionException(TO_BIGINTEGER, ClassCastException.class);
- FromChar.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromChar.checkConversionException(TO_DATE, ClassCastException.class);
- FromChar.checkConversionException(TO_LIST, ClassCastException.class);
- FromChar.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testDoubleConversion() throws Exception
- {
- Test FromDouble = new Test("doubleVal", DOUBLE_VAL_INDEX);
-
- FromDouble.initialize(double.class, "Double", new Double(Double.MAX_VALUE));
-
- FromDouble.attemptConversion(TO_BYTE);
- FromDouble.attemptConversion(TO_DOUBLE);
- FromDouble.attemptConversion(TO_FLOAT);
- FromDouble.attemptConversion(TO_INT);
- FromDouble.attemptConversion(TO_LONG);
- FromDouble.attemptConversion(TO_SHORT);
- FromDouble.attemptConversion(TO_BIGDECIMAL);
- FromDouble.attemptConversion(TO_BIGINTEGER);
- FromDouble.attemptConversion(TO_STRING);
- }
-
- public void testDoubleExceptions() throws Exception
- {
- Test FromDouble = new Test("doubleVal", DOUBLE_VAL_INDEX);
-
- FromDouble.initialize(double.class, "Double", new Double(Double.MAX_VALUE));
-
-// FromDouble.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromDouble.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromDouble.checkConversionException(TO_BYTES, ClassCastException.class);
- FromDouble.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromDouble.checkConversionException(TO_DATE, ClassCastException.class);
- FromDouble.checkConversionException(TO_LIST, ClassCastException.class);
- FromDouble.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testFloatConversion() throws Exception
- {
- Test FromFloat = new Test("floatVal", FLOAT_VAL_INDEX);
-
- FromFloat.initialize(float.class, "Float", new Float(Float.MIN_VALUE));
-
- FromFloat.attemptConversion(TO_BYTE);
- FromFloat.attemptConversion(TO_DOUBLE);
- FromFloat.attemptConversion(TO_FLOAT);
- FromFloat.attemptConversion(TO_INT);
- FromFloat.attemptConversion(TO_LONG);
- FromFloat.attemptConversion(TO_SHORT);
- FromFloat.attemptConversion(TO_BIGDECIMAL);
- FromFloat.attemptConversion(TO_BIGINTEGER);
- FromFloat.attemptConversion(TO_STRING);
- }
-
- public void testFloatExceptions() throws Exception
- {
- Test FromFloat = new Test("floatVal", FLOAT_VAL_INDEX);
-
- FromFloat.initialize(float.class, "Float", new Float(Float.MIN_VALUE));
-
-// FromFloat.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromFloat.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromFloat.checkConversionException(TO_BYTES, ClassCastException.class);
- FromFloat.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromFloat.checkConversionException(TO_DATE, ClassCastException.class);
- FromFloat.checkConversionException(TO_LIST, ClassCastException.class);
- FromFloat.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testIntConversion() throws Exception
- {
- Test FromInt = new Test("intVal", INT_VAL_INDEX);
-
- FromInt.initialize(int.class, "Int", new Integer(5));
-
- FromInt.attemptConversion(TO_BYTE);
- FromInt.attemptConversion(TO_DOUBLE);
- FromInt.attemptConversion(TO_FLOAT);
- FromInt.attemptConversion(TO_INT);
- FromInt.attemptConversion(TO_LONG);
- FromInt.attemptConversion(TO_SHORT);
- FromInt.attemptConversion(TO_BIGDECIMAL);
- FromInt.attemptConversion(TO_BIGINTEGER);
- FromInt.attemptConversion(TO_STRING);
- }
-
- public void testIntExceptions() throws Exception
- {
- Test FromInt = new Test("intVal", INT_VAL_INDEX);
-
- FromInt.initialize(int.class, "Int", new Integer(5));
-
-// FromInt.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromInt.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromInt.checkConversionException(TO_BYTES, ClassCastException.class);
- FromInt.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromInt.checkConversionException(TO_DATE, ClassCastException.class);
- FromInt.checkConversionException(TO_LIST, ClassCastException.class);
- FromInt.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testLongConversion() throws Exception
- {
- Test FromLong = new Test("longVal", LONG_VAL_INDEX);
-
- FromLong.initialize(long.class, "Long", new Long(7000L));
-
- FromLong.attemptConversion(TO_BYTE);
- FromLong.attemptConversion(TO_DOUBLE);
- FromLong.attemptConversion(TO_FLOAT);
- FromLong.attemptConversion(TO_INT);
- FromLong.attemptConversion(TO_LONG);
- FromLong.attemptConversion(TO_SHORT);
- FromLong.attemptConversion(TO_BIGDECIMAL);
- FromLong.attemptConversion(TO_BIGINTEGER);
- FromLong.attemptConversion(TO_DATE);
- FromLong.attemptConversion(TO_STRING);
- }
-
- public void testLongExceptions() throws Exception
- {
- Test FromLong = new Test("longVal", LONG_VAL_INDEX);
-
- FromLong.initialize(long.class, "Long", new Long(7000L));
-
-// FromLong.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromLong.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromLong.checkConversionException(TO_BYTES, ClassCastException.class);
- FromLong.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
- FromLong.checkConversionException(TO_LIST, ClassCastException.class);
- FromLong.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testShortConversion() throws Exception
- {
- Test FromShort = new Test("shortVal", SHORT_VAL_INDEX);
-
- FromShort.initialize(short.class, "Short", new Short("-8000"));
-
- FromShort.attemptConversion(TO_BYTE);
- FromShort.attemptConversion(TO_DOUBLE);
- FromShort.attemptConversion(TO_FLOAT);
- FromShort.attemptConversion(TO_INT);
- FromShort.attemptConversion(TO_LONG);
- FromShort.attemptConversion(TO_SHORT);
- FromShort.attemptConversion(TO_STRING);
- }
-
- public void testShortExceptions() throws Exception
- {
- Test FromShort = new Test("shortVal", SHORT_VAL_INDEX);
-
- FromShort.initialize(short.class, "Short", new Short("-8000"));
-
-// FromShort.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromShort.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromShort.checkConversionException(TO_BYTES, ClassCastException.class);
- FromShort.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
- FromShort.checkConversionException(TO_BIGINTEGER, ClassCastException.class);
- FromShort.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromShort.checkConversionException(TO_DATE, ClassCastException.class);
- FromShort.checkConversionException(TO_LIST, ClassCastException.class);
- FromShort.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testStringConversion() throws Exception
- {
- Test FromString = new Test("stringVal", STRING_VAL_INDEX);
-
- FromString.initialize(String.class, "String", "5");
-
- FromString.attemptConversion(TO_BOOLEAN);
- FromString.attemptConversion(TO_BYTE);
- FromString.attemptConversion(TO_CHAR);
- FromString.attemptConversion(TO_DOUBLE);
- FromString.attemptConversion(TO_FLOAT);
- FromString.attemptConversion(TO_INT);
- FromString.attemptConversion(TO_LONG);
- FromString.attemptConversion(TO_SHORT);
- FromString.attemptConversion(TO_BIGDECIMAL);
- FromString.attemptConversion(TO_BIGINTEGER);
- FromString.attemptConversion(TO_STRING);
-
- FromString.initialize(String.class, "String", "1999-07-25T8:50:14.33Z");
- FromString.attemptConversion(TO_DATE);
- }
-
- public void testStringExceptions() throws Exception
- {
- Test FromString = new Test("stringVal", STRING_VAL_INDEX);
-
- FromString.initialize(String.class, "String", "5");
-
-// FromString.checkConversionException(TO_BYTES, ClassCastException.class);
- FromString.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
- FromString.checkConversionException(TO_LIST, ClassCastException.class);
- FromString.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testBytesConversion() throws Exception
- {
- Test FromBytes = new Test("bytesVal", BYTES_VAL_INDEX);
-
- FromBytes.initialize(byte[].class, "Bytes", new byte[] {10,100});
-
- FromBytes.attemptConversion(TO_BYTES);
- FromBytes.attemptConversion(TO_BIGINTEGER);
- }
-
- public void testBytesExceptions() throws Exception
- {
- Test FromBytes = new Test("bytesVal", BYTES_VAL_INDEX);
-
- FromBytes.initialize(byte[].class, "Bytes", new byte[] {10,100});
-
-// FromBytes.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromBytes.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromBytes.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromBytes.checkConversionException(TO_DOUBLE, ClassCastException.class);
-// FromBytes.checkConversionException(TO_FLOAT, ClassCastException.class);
-// FromBytes.checkConversionException(TO_INT, ClassCastException.class);
-// FromBytes.checkConversionException(TO_LONG, ClassCastException.class);
-// FromBytes.checkConversionException(TO_SHORT, ClassCastException.class);
-// FromBytes.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
- FromBytes.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromBytes.checkConversionException(TO_DATE, ClassCastException.class);
-// FromBytes.checkConversionException(TO_STRING, ClassCastException.class);
- FromBytes.checkConversionException(TO_LIST, ClassCastException.class);
- FromBytes.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testBigDecimalConversion() throws Exception
- {
- Test FromBigDecimal = new Test("decimalVal", DECIMAL_VAL_INDEX);
-
- FromBigDecimal.initialize(BigDecimal.class, "BigDecimal", new BigDecimal("-3"));
-
- FromBigDecimal.attemptConversion(TO_DOUBLE);
- FromBigDecimal.attemptConversion(TO_FLOAT);
- FromBigDecimal.attemptConversion(TO_INT);
- FromBigDecimal.attemptConversion(TO_LONG);
- FromBigDecimal.attemptConversion(TO_BIGDECIMAL);
- FromBigDecimal.attemptConversion(TO_BIGINTEGER);
- FromBigDecimal.attemptConversion(TO_STRING);
- }
-
- public void testBigDecimalExceptions() throws Exception
- {
- Test FromBigDecimal = new Test("decimalVal", DECIMAL_VAL_INDEX);
-
- FromBigDecimal.initialize(BigDecimal.class, "BigDecimal", new BigDecimal("-3"));
-
-// FromBigDecimal.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromBigDecimal.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromBigDecimal.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromBigDecimal.checkConversionException(TO_SHORT, ClassCastException.class);
-// FromBigDecimal.checkConversionException(TO_BYTES, ClassCastException.class);
- FromBigDecimal.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromBigDecimal.checkConversionException(TO_DATE, ClassCastException.class);
- FromBigDecimal.checkConversionException(TO_LIST, ClassCastException.class);
- FromBigDecimal.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testBigIntegerConversion() throws Exception
- {
- Test FromBigInteger = new Test("integerVal", INTEGER_VAL_INDEX);
-
- FromBigInteger.initialize(BigInteger.class, "BigInteger", new BigInteger("31500"));
-
- FromBigInteger.attemptConversion(TO_DOUBLE);
- FromBigInteger.attemptConversion(TO_FLOAT);
- FromBigInteger.attemptConversion(TO_INT);
- FromBigInteger.attemptConversion(TO_LONG);
- FromBigInteger.attemptConversion(TO_SHORT);
- FromBigInteger.attemptConversion(TO_BYTES);
- FromBigInteger.attemptConversion(TO_BIGDECIMAL);
- FromBigInteger.attemptConversion(TO_BIGINTEGER);
- FromBigInteger.attemptConversion(TO_STRING);
- }
-
- public void testBigIntegerExceptions() throws Exception
- {
- Test FromBigInteger = new Test("integerVal", INTEGER_VAL_INDEX);
-
- FromBigInteger.initialize(BigInteger.class, "BigInteger", new BigInteger("31500"));
-
-// FromBigInteger.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromBigInteger.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromBigInteger.checkConversionException(TO_CHAR, ClassCastException.class);
- FromBigInteger.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
-// FromBigInteger.checkConversionException(TO_DATE, ClassCastException.class);
- FromBigInteger.checkConversionException(TO_LIST, ClassCastException.class);
- FromBigInteger.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testDateConversion() throws Exception
- {
- Test FromDate = new Test("dateVal", DATE_VAL_INDEX);
-
- FromDate.initialize(Date.class, "Date", new Date(System.currentTimeMillis()));
-
- FromDate.attemptConversion(TO_LONG);
- FromDate.attemptConversion(TO_DATE);
- FromDate.attemptConversion(TO_STRING);
- }
-
- public void testDateExceptions() throws Exception
- {
- Test FromDate = new Test("dateVal", DATE_VAL_INDEX);
-
- FromDate.initialize(Date.class, "Date", new Date(System.currentTimeMillis()));
-
-// FromDate.checkConversionException(TO_BOOLEAN, ClassCastException.class);
-// FromDate.checkConversionException(TO_BYTE, ClassCastException.class);
-// FromDate.checkConversionException(TO_CHAR, ClassCastException.class);
-// FromDate.checkConversionException(TO_DOUBLE, ClassCastException.class);
-// FromDate.checkConversionException(TO_FLOAT, ClassCastException.class);
-// FromDate.checkConversionException(TO_INT, ClassCastException.class);
-// FromDate.checkConversionException(TO_SHORT, ClassCastException.class);
-// FromDate.checkConversionException(TO_BYTES, ClassCastException.class);
-// FromDate.checkConversionException(TO_BIGDECIMAL, ClassCastException.class);
-// FromDate.checkConversionException(TO_BIGINTEGER, ClassCastException.class);
- FromDate.checkConversionException(TO_DATAOBJECT, ClassCastException.class);
- FromDate.checkConversionException(TO_LIST, ClassCastException.class);
- FromDate.checkConversionException(TO_SEQUENCE, ClassCastException.class);
- }
-
- public void testTuscany_836() {
- if (System.getProperty("java.version").indexOf("1.4") == -1) {
- // Work around a bug in SUN and IBM 1.4 JDKs
- assertEquals(DataObjectUtil.getBigDecimal(new Long(Long.MAX_VALUE)).longValue(), Long.MAX_VALUE);
- }
- }
-} \ No newline at end of file
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeHelperTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeHelperTestCase.java
deleted file mode 100644
index 8fad877d4b..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeHelperTestCase.java
+++ /dev/null
@@ -1,45 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import commonj.sdo.helper.HelperContext;
-
-
-public class TypeHelperTestCase extends TestCase {
-
-
- HelperContext hc;
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- }
-
- public void testGetType() {
- assertTrue(hc.getTypeHelper().getType(List.class) == null );
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
deleted file mode 100644
index f718a3f330..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
+++ /dev/null
@@ -1,147 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataHelper;
-import commonj.sdo.helper.TypeHelper;
-
-public class TypeRoundTripTestCase extends TestCase {
-
- private static class Test {
- Type type;
- String value;
- Object obj;
- Comparator comp;
-
- Test(Type type, String value, Object obj) {
- this.type = type;
- this.value = value;
- this.obj = obj;
- }
-
- Test(Type type, String value, Object obj, Comparator comp) {
- this.type = type;
- this.value = value;
- this.obj = obj;
- this.comp = comp;
- }
- }
-
- private static class ListComparator implements Comparator {
- public int compare(Object list1, Object list2) {
- int answer = 1;
- if (list1 instanceof List && list2 instanceof List) {
- List l1 = (List) list1;
- List l2 = (List) list2;
- if (l1.size() == l2.size()) {
- for (int n = 0; n < l1.size(); n++) {
- if (!l1.get(n).equals(l2.get(n))) {
- answer = 0;
- break;
- }
- }
- } else {
- answer = 0;
- }
- } else {
- answer = 0;
- }
- return answer;
- }
- }
-
- private static class BytesComparator implements Comparator {
- public int compare(Object o1, Object o2) {
- o2 = new String((byte[])o2);
- if (o1.equals(o2)) return 1;
- else return 0;
- }
- }
-
- public void testTypeRoundTrips() throws Exception {
- String URI = "commonj.sdo";
- TypeHelper types = TypeHelper.INSTANCE;
-
- List list = new ArrayList();
- list.add("foo");
- list.add("bar");
- list.add("test");
- Test[] tests = {
- new Test(types.getType(URI, "Boolean"), "true", new Boolean(true)),
- new Test(types.getType(URI, "Byte"), "49", new Byte((byte)49)),
- new Test(types.getType(URI, "Bytes"), "666F6F", "foo", new BytesComparator()),
- new Test(types.getType(URI, "Character"), "a", new Character('a')),
- new Test(types.getType(URI, "Date"), "2005-12-12T12:12:12.012Z", DataHelper.INSTANCE.toDate("2005-12-12T12:12:12.012Z")),
- new Test(types.getType(URI, "DateTime"), "2005-12-12T12:12:12zz", "2005-12-12T12:12:12zz"),
- new Test(types.getType(URI, "Day"), "---12", "---12"),
- new Test(types.getType(URI, "Decimal"), "12.12", new BigDecimal("12.12")),
- new Test(types.getType(URI, "Double"), "12.12", new Double(12.12)),
- new Test(types.getType(URI, "Duration"), "P5Y2M10D", "P5Y2M10D"),
- new Test(types.getType(URI, "Float"), "12.12", new Float(12.12f)),
- new Test(types.getType(URI, "Int"), "12", new Integer(12)),
- new Test(types.getType(URI, "Integer"), "12", new BigInteger("12")),
- new Test(types.getType(URI, "Long"), "12", new Long(12l)),
- new Test(types.getType(URI, "Month"), "--12", "--12"),
- new Test(types.getType(URI, "MonthDay"), "--12-12", "--12-12"),
- new Test(types.getType(URI, "Object"), "test", "test"),
- new Test(types.getType(URI, "Short"), "12", new Short((short)12)),
- new Test(types.getType(URI, "String"), "test", "test"),
- new Test(types.getType(URI, "Strings"), "foo bar test", list, new ListComparator()),
- new Test(types.getType(URI, "Time"), "12:12:12.12", "12:12:12.12"),
- new Test(types.getType(URI, "URI"), "http://example.org", "http://example.org"),
- new Test(types.getType(URI, "Year"), "2005", "2005"),
- new Test(types.getType(URI, "YearMonth"), "2005-12", "2005-12"),
- new Test(types.getType(URI, "YearMonthDay"), "2005-12-12", "2005-12-12")
- };
-
- for (int n = 0; n < tests.length; n++) {
- assertEquals(
- SDOUtil.convertToString(tests[n].type, SDOUtil.createFromString(tests[n].type, tests[n].value)),
- tests[n].value
- );
-
- //System.out.print(".");
-
- if (tests[n].comp == null) {
- assertEquals(
- SDOUtil.createFromString(tests[n].type, SDOUtil.convertToString(tests[n].type, tests[n].obj)),
- tests[n].obj
- );
- } else {
- String o1 = SDOUtil.convertToString(tests[n].type, tests[n].obj);
- Object o2 = SDOUtil.createFromString(tests[n].type, o1);
- assertEquals(tests[n].comp.compare(tests[n].obj, o2), 1);
- }
- }
-
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLDocumentTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLDocumentTestCase.java
deleted file mode 100644
index 1cf59757ef..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLDocumentTestCase.java
+++ /dev/null
@@ -1,110 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.IOException;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-
-public class XMLDocumentTestCase extends TestCase
-{
- private final String TEST_XML_DOCUMENT = "/XMLDocumentTestCase.xml";
-
- // remember that NS1... and NS2... items are expected in sorted order by name
- private final String NS1_SCHEMA_NAME = "http://www.example.com/open";
-
- private final String NS1_SCHEMA_LOCATION = "/open.xsd";
-
- private final String NS2_SCHEMA_NAME = "http://www.example.com/xmlDocumentSchemaLocation";
-
- private final String NS2_SCHEMA_LOCATION = "/XMLDocumentSchemaLocation.xsd";
-
- private final String NS_SET_NAME_LOCATION = "namespace schemaLocation";
-
- //private final String NNS_SCHEMA_LOCATION = "http://www.example.com/XMLDocumentNoNamespaceSchemaLocation.xsd";
- private final String NNS_SCHEMA_LOCATION = "/XMLDocumentNoNamespaceSchemaLocation.xsd";
-
- private final String NNS_SET_LOCATION = "noNamespaceSchemaLocation";
-
- /**
- * This method will load an xml document consisting of a xsi:schemaLocation and
- * xsi:noNamespaceSchemaLocation defined. It will then use the XMLDocument API to get and
- * set the schemaLocation property.
- *
- * @throws IOException
- */
- public void testSchemaLocation() throws IOException
- {
- // load the xml document which has xsi:noNamespaceSchemaLocation and xsi:schemaLocation defined
- XMLDocument doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(TEST_XML_DOCUMENT));
-
- // get the schemaLocation
- assertEquals(NS1_SCHEMA_NAME + " " + NS1_SCHEMA_LOCATION + " " + NS2_SCHEMA_NAME + " " + NS2_SCHEMA_LOCATION, doc.getSchemaLocation());
-
- // set the schemaLocation to another value and test to see if the value was set
- doc.setSchemaLocation(NS_SET_NAME_LOCATION);
- assertEquals(NS_SET_NAME_LOCATION, doc.getSchemaLocation());
-
- // remove the schemaLocation and ensure it returns null
- doc.setSchemaLocation(null);
- assertNull(doc.getSchemaLocation());
-
- // ensure changes to schemaLocation have not changed noNamespaceSchemaLocation
- assertEquals(NNS_SCHEMA_LOCATION, doc.getNoNamespaceSchemaLocation());
- }
-
- /**
- * This method will load an xml document consisting of a xsi:schemaLocation and
- * xsi:noNamespaceSchemaLocation defined. It will then use the XMLDocument API to get and
- * set the noNamespaceSchemaLocation property.
- *
- * @throws IOException
- */
- public void testNoNamespaceSchemaLocation() throws IOException
- {
- // load the xml document which has xsi:noNamespaceSchemaLocation and xsi:schemaLocation defined
- XMLDocument doc = XMLHelper.INSTANCE.load(getClass().getResourceAsStream(TEST_XML_DOCUMENT));
-
- // get the noNamespaceSchemaLocation
- assertEquals(NNS_SCHEMA_LOCATION, doc.getNoNamespaceSchemaLocation());
-
- // set the noNameSpaceSchemaLocation to another value and test to see if the value was set
- doc.setNoNamespaceSchemaLocation(NNS_SET_LOCATION);
- assertEquals(NNS_SET_LOCATION, doc.getNoNamespaceSchemaLocation());
-
- // remove the noNameSpaceSchemaLocation and ensure it returns null
- doc.setNoNamespaceSchemaLocation(null);
- assertNull(doc.getNoNamespaceSchemaLocation());
-
- // ensure changes to noNameSpaceSchemaLocation have not changed schemaLocation
- assertEquals(NS1_SCHEMA_NAME + " " + NS1_SCHEMA_LOCATION + " " + NS2_SCHEMA_NAME + " " + NS2_SCHEMA_LOCATION, doc.getSchemaLocation());
- }
-
- protected void setUp() throws Exception
- {
- super.setUp();
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLHelperTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLHelperTestCase.java
deleted file mode 100644
index fb1cf79300..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLHelperTestCase.java
+++ /dev/null
@@ -1,214 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.dom.DOMSource;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-import org.w3c.dom.Document;
-import org.xml.sax.SAXException;
-
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class XMLHelperTestCase extends TestCase {
-
- HelperContext hc;
- private XSDHelper xsdHelper;
- XMLHelper xmlh;
- static final String INDENT = " ", MARGIN = " ", LINE_BREAK = "\n\n";
-
- void define(String model) throws Exception {
- // Populate the meta data for the test model
- URL url = getClass().getResource(model);
- xsdHelper.define(url.openStream(), url.toString());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- xsdHelper = hc.getXSDHelper();
- xmlh = hc.getXMLHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- define("/simpleWithChangeSummary.xsd");
-
- define("/SequenceChangeSummary.xsd");
-
- define("/simple.xsd");
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public void testLoadInputStreamStringObject() throws IOException {
-
- }
-
- protected final void format(String xml,String formatted) throws IOException {
- XMLDocument doc = xmlh.load(getClass().getResource(xml).openStream());
- Map options = new HashMap();
-
- options.put(SDOUtil.XML_SAVE_INDENT, INDENT);
- options.put(SDOUtil.XML_SAVE_MARGIN, MARGIN);
- options.put(SDOUtil.XML_SAVE_LineBreak, LINE_BREAK);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- // doc declares NameSpaces at root
- xmlh.save(xmlh.createDocument(doc.getRootObject(), doc.getRootElementURI(), doc.getRootElementName()), baos, options);
- //xmlh.save(xmlh.createDocument(doc.getRootObject(), doc.getRootElementURI(), doc.getRootElementName()), System.out, options);
-
- assertEquals(formatted, baos.toString());
- }
-
- public void testSaveXMLDocumentOutputStreamObject() throws IOException {
- format("/simpleWithChangeSummary.xml",
-MARGIN+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +LINE_BREAK+
-MARGIN+ "<cs:stockQuote xmlns:cs=\"http://www.example.com/simpleCS\">" +LINE_BREAK+
-MARGIN+INDENT+ "<symbol>FBNT</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "<companyName>FlyByNightTechnology</companyName>" +LINE_BREAK+
-MARGIN+INDENT+ "<price>999.0</price>" +LINE_BREAK+
-MARGIN+INDENT+ "<volume>1000.0</volume>" +LINE_BREAK+
-MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<price>1500.0</price>" +LINE_BREAK+
-MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
-MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<price>2500.0</price>" +LINE_BREAK+
-MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
-MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<price>3000.0</price>" +LINE_BREAK+
-MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
-MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<price>4000.0</price>" +LINE_BREAK+
-MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
-MARGIN+INDENT+ "<changes create=\"#//quotes[3] #//quotes[4]\" delete=\"#//changes/stockQuote[1]/quotes[2]\" logging=\"false\" xmlns:sdo=\"commonj.sdo\">" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<cs:stockQuote sdo:ref=\"#/stockQuote\" sdo:unset=\"volume\">" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<symbol>fbnt</symbol>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<price>1000.0</price>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[1]\" />" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<quotes><price>2000.0</price><quotes><price>2000.99</price></quotes></quotes>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[2]\" />" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "</cs:stockQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "</changes>" +LINE_BREAK+
-MARGIN+ "</cs:stockQuote>");
- }
-
- public void testSaveMixedOutputStreamObject() throws IOException {
- format("/mixedChangeSummary.xml",
-MARGIN+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +LINE_BREAK+
-MARGIN+ "<cs:stockQuote xmlns:cs=\"http://www.example.com/sequenceCS\"><changes create=\"#//quotes[3] #//quotes[4]\" delete=\"#//changes/stockQuote[1]/quotes[2]\" logging=\"false\" xmlns:sdo=\"commonj.sdo\">" +LINE_BREAK+
-INDENT+ "<cs:stockQuote sdo:ref=\"#/stockQuote\">" +LINE_BREAK+
-INDENT+INDENT+ "<symbol>fbnt</symbol>" +LINE_BREAK+
-INDENT+INDENT+ "<companyName>FlyByNightTechnology</companyName>" +LINE_BREAK+
-INDENT+INDENT+ "<price>1000.0</price>" +LINE_BREAK+
-INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[1]\" />" +LINE_BREAK+
-INDENT+INDENT+ "<quotes><price>2000.0</price><quotes><price>2000.99</price></quotes></quotes>" +LINE_BREAK+
-INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[2]\" />" +LINE_BREAK+
-INDENT+ "</cs:stockQuote>" +LINE_BREAK+
-"</changes><symbol>FBNT</symbol><companyName>FlyByNightTechnology</companyName><price>999.0</price><quotes><price>1500.0</price></quotes><quotes><price>2500.0</price></quotes><volume>1000.0</volume><quotes><price>3000.0</price></quotes><quotes><price>4000.0</price></quotes></cs:stockQuote>");
- }
-
- public void testOpenMixedOutputStreamObject() throws IOException {
- format("/openChangeSummary.xml",
-MARGIN+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +LINE_BREAK+
-MARGIN+ "<cs:openQuote xmlns:cs=\"http://www.example.com/sequenceCS\" xmlns:open=\"http://www.example.com/open\">" +LINE_BREAK+
-MARGIN+INDENT+ "<symbol>FBNT</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "<open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<symbol>1500.0</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "</open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "<open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<symbol>2500.0</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "</open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "<open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<symbol>3000.0</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "</open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "<open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<symbol>4000.0</symbol>" +LINE_BREAK+
-MARGIN+INDENT+ "</open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "<changes create=\"#//open:openStockQuote[3] #//open:openStockQuote[4]\" delete=\"#//changes/openQuote[1]/open:openStockQuote[2]\" logging=\"false\" xmlns:sdo=\"commonj.sdo\">" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "<cs:openQuote sdo:ref=\"#/openQuote\">" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<symbol>fbnt</symbol>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<open:openStockQuote sdo:ref=\"#//open:openStockQuote[1]\" />" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<open:openStockQuote><symbol>2000.0</symbol><open:openStockQuote><symbol>2000.99</symbol></open:openStockQuote></open:openStockQuote>" +LINE_BREAK+
-MARGIN+INDENT+INDENT+INDENT+ "<open:openStockQuote sdo:ref=\"#//open:openStockQuote[2]\" />" +LINE_BREAK+
-MARGIN+INDENT+INDENT+ "</cs:openQuote>" +LINE_BREAK+
-MARGIN+INDENT+ "</changes>" +LINE_BREAK+
-MARGIN+ "</cs:openQuote>");
- }
-
- private String quoteXML =
- "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +
- "<simple:stockQuote xmlns:simple=\"http://www.example.com/simple\">" +
- "<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>";
-
- public void dontTestLoadDOMSource() throws IOException, ParserConfigurationException, SAXException
- {
- //TODO Enable this test when we move to EMF 2.2.3
-
- DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();
- dFactory.setNamespaceAware(true);
-
- DocumentBuilder dBuilder = dFactory.newDocumentBuilder();
- Document document = dBuilder.parse(new ByteArrayInputStream(quoteXML.getBytes()));
-
- DOMSource domSource = new DOMSource(document);
-
- XMLDocument xmlDocument = hc.getXMLHelper().load(domSource, null, null);
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
-
- Map options = new HashMap();
- options.put(SDOUtil.XML_SAVE_INDENT, "");
- options.put(SDOUtil.XML_SAVE_MARGIN, "");
- options.put(SDOUtil.XML_SAVE_LineBreak, "");
-
- hc.getXMLHelper().save(xmlDocument, baos, options);
-
- boolean isEqual = TestUtil.equalXmlFiles(new ByteArrayInputStream(quoteXML.getBytes()), new ByteArrayInputStream(baos.toByteArray()));
- assertTrue(isEqual);
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadOptionsTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadOptionsTestCase.java
deleted file mode 100644
index ac8d04b683..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLLoadOptionsTestCase.java
+++ /dev/null
@@ -1,192 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.api.SDOHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-import org.eclipse.emf.ecore.resource.Resource;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-public class XMLLoadOptionsTestCase extends TestCase {
- XMLHelper xmlHelper;
- Map options;
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- //SDOUtil->SDOHelper->SDOHelperImpl->HelperContextImpl->XMLHelperImpl
- public void testXMLOptionsSchema1() throws IOException{
- final String TEST_XML_DOCUMENT = "/SchemaLocationTestCase.xml";
-
- options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_LOAD_SCHEMA, Boolean.TRUE);
-
- final XMLHelper xmlHelper = SDOUtil.createHelperContext(true, options).getXMLHelper();
-
- final XMLDocument xmlDoc = xmlHelper.load(getClass().getResourceAsStream(TEST_XML_DOCUMENT), "whatever", null);
- final DataObject root = xmlDoc.getRootObject();
- assertNotSame(root.getType(), SDOPackage.eINSTANCE.getAnyTypeDataObject());
- }
-
-// SDOUtil->SDOHelper->SDOHelperImpl->HelperContextImpl->XMLHelperImpl
- public void testXMLOptionsSchema2() throws IOException{
- final String TEST_XML_DOCUMENT = "/SchemaLocationTestCase.xml";
-
- options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_LOAD_SCHEMA, Boolean.FALSE);
- final XMLHelper xmlHelper = SDOUtil.createHelperContext(true, options).getXMLHelper();
- final XMLDocument xmlDoc = xmlHelper.load(getClass().getResourceAsStream(TEST_XML_DOCUMENT), "whatever", null);
- final DataObject root = xmlDoc.getRootObject();
- assertSame(root.getType(), SDOPackage.eINSTANCE.getAnyTypeDataObject());
- }
-
- public void testXMLOptionsLax1() throws IOException{
- options = new HashMap();
- /*
- * turn off default behaviour of tolerating malformed xml
- * tests using this option and bad xml should demonstrate failure to load
- */
- options.put(SDOHelper.XMLOptions.XML_LOAD_LAX_FORM, new Integer(0));
- final HelperContext hc = SDOUtil.createHelperContext(true, options);
- hc.getXSDHelper().define(
- "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">"+
- "<element name=\"root\">"+
- "<complexType>"+
- "<sequence>"+
- "<element name=\"unqualifiedElement\" type=\"string\"/>"+
- "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"+
- "</sequence>"+
- "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"+
- "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"+
- "</complexType>"+
- "</element>"+
- "</schema>");
-
- final String xml="<p:root xmlns:p=\"testNS\">"+
- "<p:unqualifiedElement/>"+
-"</p:root>";
-
- /*
- * this malformed xml will not load, as lax is forced OFF
- * changing p:unqualifiedElement to unqualifiedElement
- * will work */
- try{
- hc.getXMLHelper().load(new StringReader(xml), null, null);
- fail();
- } catch (final Resource.IOWrappedException featureNotFound) {
- assertTrue(true);
- }
-
- }
-
- public void testXMLOptionsLax2() throws IOException{
- options = new HashMap();
- /*
- * turn on default behaviour of tolerating malformed xml
- * tests using this option and bad xml will load
- */
- options.put(SDOHelper.XMLOptions.XML_LOAD_LAX_FORM, new Integer(1));
- final HelperContext hc = SDOUtil.createHelperContext(true, options);
- hc.getXSDHelper().define(
- "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">"+
- "<element name=\"root\">"+
- "<complexType>"+
- "<sequence>"+
- "<element name=\"unqualifiedElement\" type=\"string\"/>"+
- "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"+
- "</sequence>"+
- "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"+
- "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"+
- "</complexType>"+
- "</element>"+
- "</schema>");
-
- final String xml="<p:root xmlns:p=\"testNS\" p:unqualifiedAttribute=\"u\" qualifiedAttribute=\"q\">"+
- "<p:unqualifiedElement/>"+
- "<qualifiedElement/>"+
- "</p:root>";
-
- /*
- * this malformed xml will load, as lax is forced ON
- */
- assertNotNull(hc.getXMLHelper().load(new StringReader(xml), null, null).getRootObject());
- }
-
- //SDOUtil->SDOHelper->SDOHelperImpl->XMLStreamHelperImpl->XMLDocumentImpl
- public void testXMLStreamHelper() throws IOException, XMLStreamException{
- options = new HashMap();
- /*
- * turn off default behaviour of tolerating malformed xml
- * tests using this option and bad xml will load
- */
- options.put(SDOHelper.XMLOptions.XML_LOAD_LAX_FORM, new Integer(1));
- final HelperContext hc = SDOUtil.createHelperContext(false, options);
- final XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(hc);
- hc.getXSDHelper().define(
- "<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">"+
- "<element name=\"root\">"+
- "<complexType>"+
- "<sequence>"+
- "<element name=\"unqualifiedElement\" type=\"string\"/>"+
- "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"+
- "</sequence>"+
- "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"+
- "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"+
- "</complexType>"+
- "</element>"+
- "</schema>");
-
- final String xml="<p:root xmlns:p=\"testNS\" p:unqualifiedAttribute=\"u\" qualifiedAttribute=\"q\">"+
- "<p:unqualifiedElement/>"+
- "<qualifiedElement/>"+
- "</p:root>";
-
- final XMLInputFactory inputFactory = XMLInputFactory.newInstance();
- final XMLStreamReader reader1 = inputFactory.createXMLStreamReader(new StringReader(xml));
- int event = reader1.getEventType();
- while (!(event == XMLStreamConstants.START_ELEMENT)){
- event = reader1.next();
- }
- final DataObject dataObject = streamHelper.loadObject(reader1);
- /*
- * this malformed xml will load, as lax is forced ON
- */
- assertNotNull(dataObject);
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLSaveOptionsTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLSaveOptionsTestCase.java
deleted file mode 100644
index 50c32a8023..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLSaveOptionsTestCase.java
+++ /dev/null
@@ -1,147 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.net.URL;
-import java.util.HashMap;
-
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamWriter;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.SDOHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class XMLSaveOptionsTestCase extends TestCase {
- HelperContext hc;
- private XSDHelper xsdHelper;
- XMLHelper xmlh;
- XMLStreamHelper xmlStreamHelper;
- static final String INDENT = " ", MARGIN = " ", LINE_BREAK = "\n";
- String formatted1 = MARGIN+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +LINE_BREAK+
- MARGIN+ "<cs:stockQuote xmlns:cs=\"http://www.example.com/simpleCS\">" +LINE_BREAK+
- MARGIN+INDENT+ "<symbol>FBNT</symbol>" +LINE_BREAK+
- MARGIN+INDENT+ "<companyName>FlyByNightTechnology</companyName>" +LINE_BREAK+
- MARGIN+INDENT+ "<price>999.0</price>" +LINE_BREAK+
- MARGIN+INDENT+ "<volume>1000.0</volume>" +LINE_BREAK+
- MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "<price>1500.0</price>" +LINE_BREAK+
- MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
- MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "<price>2500.0</price>" +LINE_BREAK+
- MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
- MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "<price>3000.0</price>" +LINE_BREAK+
- MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
- MARGIN+INDENT+ "<quotes>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "<price>4000.0</price>" +LINE_BREAK+
- MARGIN+INDENT+ "</quotes>" +LINE_BREAK+
- MARGIN+INDENT+ "<changes create=\"#//quotes[3] #//quotes[4]\" delete=\"#//changes/stockQuote[1]/quotes[2]\" logging=\"false\" xmlns:sdo=\"commonj.sdo\">" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "<cs:stockQuote sdo:ref=\"#/stockQuote\" sdo:unset=\"volume\">" +LINE_BREAK+
- MARGIN+INDENT+INDENT+INDENT+ "<symbol>fbnt</symbol>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+INDENT+ "<price>1000.0</price>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[1]\" />" +LINE_BREAK+
- MARGIN+INDENT+INDENT+INDENT+ "<quotes><price>2000.0</price><quotes><price>2000.99</price></quotes></quotes>" +LINE_BREAK+
- MARGIN+INDENT+INDENT+INDENT+ "<quotes sdo:ref=\"#//quotes[2]\" />" +LINE_BREAK+
- MARGIN+INDENT+INDENT+ "</cs:stockQuote>" +LINE_BREAK+
- MARGIN+INDENT+ "</changes>" +LINE_BREAK+
- MARGIN+ "</cs:stockQuote>";
-
- String formatted2 =
- //MARGIN+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +LINE_BREAK+
- MARGIN+ "<p0:stockQuote xmlns:p0=\"http://www.example.com/simple\">" +LINE_BREAK+
- MARGIN+INDENT+"<symbol>fbnt</symbol>" +LINE_BREAK+
- MARGIN+INDENT+"<companyName>FlyByNightTechnology</companyName>" +LINE_BREAK+
- MARGIN+INDENT+"<price>1000.0</price>" +LINE_BREAK+
- MARGIN+INDENT+"<open1>1000.0</open1>" +LINE_BREAK+
- MARGIN+INDENT+"<high>1000.0</high>" +LINE_BREAK+
- MARGIN+INDENT+"<low>1000.0</low>" +LINE_BREAK+
- MARGIN+INDENT+"<volume>1000.0</volume>" +LINE_BREAK+
- MARGIN+INDENT+"<change1>1000.0</change1>" +LINE_BREAK+
- MARGIN+"</p0:stockQuote>" +LINE_BREAK;
-
- void define(final String model) throws IOException {
- // Populate the meta data for the test model
- final URL url = getClass().getResource(model);
- xsdHelper.define(url.openStream(), url.toString());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- //use XMLHelper
- public void testSaveXMLDocumentXMLHelper() throws IOException {
- final HashMap options = new HashMap();
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_INDENT, INDENT);
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_MARGIN, MARGIN);
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_LINE_BREAK, LINE_BREAK);
- hc = SDOUtil.createHelperContext(false,options);
- xsdHelper = hc.getXSDHelper();
- xmlh = hc.getXMLHelper();
-
- // Populate the meta data for the test (Stock Quote) model
- define("/simpleWithChangeSummary.xsd");
- final XMLDocument doc = xmlh.load(getClass().getResource("/simpleWithChangeSummary.xml").openStream());
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- xmlh.save(xmlh.createDocument(doc.getRootObject(), doc.getRootElementURI(), doc.getRootElementName()), baos, null);
- assertEquals(formatted1, baos.toString());
- }
-
- //use XMLStreamHelper
- public void testSaveXMLDocumentXMLStreamHelper() throws Exception {
- final HashMap options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_LOAD_SCHEMA, Boolean.FALSE);
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_INDENT, INDENT);
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_MARGIN, MARGIN);
- options.put(org.apache.tuscany.sdo.api.SDOHelper.XMLOptions.XML_SAVE_LINE_BREAK, LINE_BREAK);
- final HelperContext hc = SDOUtil.createHelperContext(false, options);
- xmlStreamHelper = SDOUtil.createXMLStreamHelper(hc);
-
- xsdHelper = hc.getXSDHelper();
- define("/simple.xsd");
-
- final InputStream inStrm = getClass().getResourceAsStream("/shallowquote.xml");
- final XMLDocument document = hc.getXMLHelper().load(inStrm, null, null);
-
- final XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
-
- xmlStreamHelper.save(document, streamWriter, null);
- streamWriter.flush();
- assertEquals(formatted2, writer.toString());
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperPerformanceTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperPerformanceTestCase.java
deleted file mode 100644
index ef701059c4..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperPerformanceTestCase.java
+++ /dev/null
@@ -1,91 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-
-import java.io.*;
-import java.math.BigDecimal;
-import java.net.URL;
-
-import javax.xml.stream.*;
-
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.*;
-import commonj.sdo.helper.*;
-
-
-public class XMLStreamHelperPerformanceTestCase extends TestCase {
- private final String TEST_MODEL = "/XMLStreamHelper.xsd";
- private final String TEST_NAMESPACE = "http://www.example.com/simple";
-
- HelperContext hc;
-
- /**
- * Simple Dynamic SDO 2 test.
- */
- public void testDynamic() throws Exception {
- final TypeHelper typeHelper = hc.getTypeHelper();
- final Type quoteType = typeHelper.getType(TEST_NAMESPACE, "Quote");
- final DataObject quote = hc.getDataFactory().create(quoteType);
-
- quote.setString("symbol", "fbnt");
- quote.setString("companyName", "FlyByNightTechnology");
- quote.setBigDecimal("price", new BigDecimal("1000.0"));
- quote.setBigDecimal("open1", new BigDecimal("1000.0"));
- quote.setBigDecimal("high", new BigDecimal("1000.0"));
- quote.setBigDecimal("low", new BigDecimal("1000.0"));
- quote.setDouble("volume", 1000);
- quote.setDouble("change1", 1000);
-
- final DataObject child = quote.createDataObject("quotes");
- child.setBigDecimal("price", new BigDecimal("2000.0"));
-
- final DataObject quote3 = quote.createDataObject("quotes3");
- quote3.setString("symbol3", "IBM");
- quote3.setString("company3", "IBM Corp.");
-
- final XMLStreamHelper streamHelper = SDOUtil.createXMLStreamHelper(hc);
- final XMLOutputFactory outputFactory = XMLOutputFactory.newInstance();
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
-
- final XMLDocument doc = hc.getXMLHelper().createDocument(quote, TEST_NAMESPACE, "stockQuote");
- streamHelper.save(doc, streamWriter);
- streamWriter.flush();
- assertEquals("<p0:stockQuote xmlns:p0=\"http://www.example.com/simple\" xmlns:p1=\"http://www.example.com/simple3\"><p0:symbol>fbnt</p0:symbol><p0:companyName>FlyByNightTechnology</p0:companyName><p0:price>1000.0</p0:price><p0:open1>1000.0</p0:open1><p0:high>1000.0</p0:high><p0:low>1000.0</p0:low><p0:volume>1000.0</p0:volume><p0:change1>1000.0</p0:change1><p0:quotes><p0:price>2000.0</p0:price></p0:quotes><p0:quotes3><p1:symbol3>IBM</p1:symbol3><p1:company3>IBM Corp.</p1:company3></p0:quotes3></p0:stockQuote>",writer.toString());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
-
- // Populate the meta data for the test (Stock Quote) model
- final URL url = getClass().getResource(TEST_MODEL);
- final InputStream inputStream = url.openStream();
- hc.getXSDHelper().define(inputStream, url.toString());
- inputStream.close();
-
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java
deleted file mode 100644
index 35df4909ba..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLStreamHelperTestCase.java
+++ /dev/null
@@ -1,169 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.*;
-import java.net.URL;
-import java.util.*;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamConstants;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.stream.XMLStreamWriter;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.api.XMLStreamHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.*;
-
-public class XMLStreamHelperTestCase extends TestCase {
-
- private HelperContext hc;
-
- private XMLStreamHelper streamHelper;
-
- private XMLInputFactory inputFactory;
-
- private XMLOutputFactory outputFactory;
-
- private final QName module = new QName("http://foo", "module");
-
- private final QName name = new QName("http://bar", "implementation.mock");
-
- private final String testName = "foo-ext";
- // private String testName = "complex";
-
- private String xml;
-
- // = "<module name=\"m\" xmlns=\"http://foo\" xmlns:bar=\"http://bar\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
- // xsi:schemaLocation=\"http://bar foo-ext.xsd http://foo foo.xsd \"><component name=\"c\"><bar:implementation.mock
- // myAttr=\"helloworld.HelloWorldImpl\" listAttr=\"1 2\">1<bar:myElement>Dummy</bar:myElement>2</bar:implementation.mock></component></module>";
-
- protected void setUp() throws Exception {
- super.setUp();
-
- hc = SDOUtil.createHelperContext();
- streamHelper = SDOUtil.createXMLStreamHelper(hc);
-
- URL url = getClass().getClassLoader().getResource(testName + ".xsd");
- hc.getXSDHelper().define(url.openStream(), url.toExternalForm());
- url = getClass().getResource("/mixed.xsd");
- hc.getXSDHelper().define(url.openStream(), url.toString());
-
- inputFactory = XMLInputFactory.newInstance();
- outputFactory = XMLOutputFactory.newInstance();
-
- url = getClass().getClassLoader().getResource(testName + ".xml");
- final InputStreamReader reader = new InputStreamReader(url.openStream());
- final StringBuffer stringBuffer = new StringBuffer();
- final char buf[] = new char[1024];
- int size;
- while ((size = reader.read(buf)) != -1) {
- stringBuffer.append(buf, 0, size);
- }
- xml = stringBuffer.toString();
- reader.close();
- }
-
- public void testLoadObject() throws Exception {
- final XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml));
- int event = reader.getEventType();
- while (!((event == XMLStreamConstants.START_ELEMENT) && reader.getName().equals(name)) && reader.hasNext()) {
- event = reader.next();
- }
- final DataObject dataObject = streamHelper.loadObject(reader);
- Assert.assertNotNull(dataObject);
- Assert.assertTrue(dataObject.getString("myAttr").equals("helloworld.HelloWorldImpl"));
- }
-
- public void testLoadUnqualifiedObject() throws Exception {
- final XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml.replaceAll("bar:", "")));
- int event = reader.getEventType();
- while (!((event == XMLStreamConstants.START_ELEMENT) && reader.getName().getLocalPart().equals(name.getLocalPart())) && reader.hasNext()) {
- event = reader.next();
- }
- final Map options = new HashMap();
- options.put(XMLStreamHelper.OPTION_DEFAULT_ROOT_TYPE, hc.getTypeHelper().getType(name.getNamespaceURI(), "MockImplementation"));
- final DataObject dataObject = streamHelper.loadObject(reader, options);
- Assert.assertNotNull(dataObject);
- Assert.assertTrue(dataObject.getString("myAttr").equals("helloworld.HelloWorldImpl"));
- }
-
- public void testLoad() throws Exception {
- final XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(xml));
- final XMLDocument document = streamHelper.load(reader);
- Assert.assertNotNull(document);
- Assert.assertEquals(document.getRootElementURI(), module.getNamespaceURI());
- Assert.assertEquals(document.getRootElementName(), module.getLocalPart());
- final DataObject moduleObject = document.getRootObject();
- final List components = moduleObject.getList("component");
- final DataObject componentObject = (DataObject) components.get(0);
- final DataObject implObject = componentObject.getDataObject("implementation.mock");
- Assert.assertTrue(implObject.getString("myAttr").equals("helloworld.HelloWorldImpl"));
- }
-
- public void testSave() throws XMLStreamException {
- final XMLDocument document = hc.getXMLHelper().load(xml);
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
- streamHelper.save(document, streamWriter);
- streamWriter.flush();
- final String xmlStr = writer.toString();
- //System.out.println(xmlStr);
- Assert.assertTrue(xmlStr.indexOf("myAttr=\"helloworld.HelloWorldImpl\"")!=-1);
- }
-
- public void testSaveObject() throws XMLStreamException {
- final XMLDocument document = hc.getXMLHelper().load(xml);
- final DataObject moduleObject = document.getRootObject();
- final List components = moduleObject.getList("component");
- final DataObject componentObject = (DataObject) components.get(0);
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
- streamHelper.saveObject(componentObject, streamWriter);
- streamWriter.flush();
- Assert.assertTrue(writer.toString().indexOf("myAttr=\"helloworld.HelloWorldImpl\"")!=-1);
- }
-
- public void testSaveSequence() throws IOException, XMLStreamException {
- final DataObject quote = hc.getDataFactory().create("http://www.example.com/mixed", "MixedQuote");
- quote.setString("symbol", "fbnt");
- quote.getSequence().addText(0, "testing");
- quote.getSequence().addText("more testing");
-
- final StringWriter writer = new StringWriter();
- final XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer);
- streamHelper.saveObject(quote, streamWriter);
- streamWriter.flush();
- //System.out.println(writer);
- assertTrue(writer.toString().indexOf("<symbol>fbnt</symbol>") != -1);
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLUnknownPropertiesTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLUnknownPropertiesTestCase.java
deleted file mode 100644
index 63e92503c1..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XMLUnknownPropertiesTestCase.java
+++ /dev/null
@@ -1,132 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.StringReader;
-import java.util.HashMap;
-import java.util.Map;
-
-import junit.framework.Assert;
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.SDOPackage;
-import org.apache.tuscany.sdo.api.SDOHelper;
-import org.apache.tuscany.sdo.api.SDOUtil;
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-
-public class XMLUnknownPropertiesTestCase extends TestCase {
- XMLHelper xmlHelper;
- Map options;
-
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- // SDOUtil->SDOHelper->SDOHelperImpl->HelperContextImpl->XMLHelperImpl
- public void testOptionUnknownProperties() throws IOException {
- options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_LOAD_UNKNOWN_PROPERTIES, Boolean.TRUE);
-
- final HelperContext hc = SDOUtil.createHelperContext(true);
- hc
- .getXSDHelper()
- .define("<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">" + "<element name=\"root\">"
- + "<complexType>"
- + "<sequence>"
- + "<element name=\"unqualifiedElement\" type=\"string\"/>"
- + "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"
- + "</sequence>"
- + "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"
- + "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"
- + "</complexType>"
- + "</element>"
- + "</schema>");
-
- final String xml =
- "<p:root xmlns:p=\"testNS\">" + "<unqualifiedElement/>"
- + "<telem>my test data0</telem>"
- + "<zap>my test data1</zap>"
- + "</p:root>";
-
- try {
- final XMLDocument xmlDoc = hc.getXMLHelper().load(new StringReader(xml), null, options);// pass
- // during
- // invoke
-
- final DataObject root = xmlDoc.getRootObject();
- assertNotSame(root.getType(), SDOPackage.eINSTANCE.getAnyTypeDataObject());
- final ByteArrayOutputStream baos = new ByteArrayOutputStream();
- hc.getXMLHelper().save(xmlDoc, baos, null);
- assertTrue(baos.toString().indexOf("<telem>my test data0</telem>") != -1);
- assertTrue(baos.toString().indexOf("<zap>my test data1</zap>") != -1);
- } catch (final Exception e) {// (Resource.IOWrappedException featureNotFound)
- e.printStackTrace();
- }
- }
-
- public void testOptionUnknownProperties2() throws IOException {
- options = new HashMap();
- options.put(SDOHelper.XMLOptions.XML_LOAD_UNKNOWN_PROPERTIES, Boolean.FALSE);
-
- final HelperContext hc = SDOUtil.createHelperContext(true);
- hc
- .getXSDHelper()
- .define("<schema xmlns=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"testNS\">" + "<element name=\"root\">"
- + "<complexType>"
- + "<sequence>"
- + "<element name=\"unqualifiedElement\" type=\"string\"/>"
- + "<element name=\"qualifiedElement\" form=\"qualified\" type=\"string\"/>"
- + "</sequence>"
- + "<attribute name=\"unqualifiedAttribute\" type=\"string\"/>"
- + "<attribute name=\"qualifiedAttribute\" form=\"qualified\" type=\"string\"/>"
- + "</complexType>"
- + "</element>"
- + "</schema>");
-
- final String xml =
- "<p:root xmlns:p=\"testNS\">" + "<unqualifiedElement/>"
- + "<telem>my test data</telem>"
- + "<telem1>my test data</telem1>"
- + "</p:root>";
-
- try {
- final XMLDocument xmlDoc = hc.getXMLHelper().load(new StringReader(xml), null, options);// pass
- // on
- // invokation
- final DataObject root = xmlDoc.getRootObject();
- assertNotSame(root.getType(), SDOPackage.eINSTANCE.getAnyTypeDataObject());
- fail();
- } catch (final Exception e) {// (Resource.IOWrappedException featureNotFound)
- // e.printStackTrace();
- if (e.getMessage().indexOf("telem") != -1) {
- Assert.assertTrue(true);
- }
- }
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java
deleted file mode 100644
index 45f92a73b2..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XPathTestCase.java
+++ /dev/null
@@ -1,125 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.XMLDocument;
-import commonj.sdo.helper.XMLHelper;
-import commonj.sdo.helper.XSDHelper;
-
-public class XPathTestCase extends TestCase {
-
- HelperContext hc;
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- }
-
- private final String TEST_MODEL = "/xpath.xsd";
- private final String XPATH_XML = "/xpath.xml";
-
- /**
- * The presence or absence of the @ sign in a path has no meaning.
- * Properties are always matched by name independent of their XML representation.
- * @throws IOException
- */
- public void testAtSignProperty() throws IOException {
- XSDHelper xsdHelper = hc.getXSDHelper();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- xsdHelper.define(inputStream, url.toString());
-
- inputStream.close();
-
- XMLDocument doc = xmlHelper.load(getClass().getResourceAsStream(XPATH_XML));
-
- DataObject drive = doc.getRootObject();
- DataObject folder1 = (DataObject) drive.get("Folder.1");
- String value = folder1.getString("@creation_date");
-
- assertEquals(value, "2000-03-23");
- }
-
- public void testListIndexing() throws Exception {
- XSDHelper xsdHelper = hc.getXSDHelper();
- XMLHelper xmlHelper = hc.getXMLHelper();
-
- URL url = getClass().getResource(TEST_MODEL);
- InputStream inputStream = url.openStream();
- xsdHelper.define(inputStream, url.toString());
-
- inputStream.close();
-
- XMLDocument doc = xmlHelper.load(getClass().getResourceAsStream(XPATH_XML));
-
- DataObject root = doc.getRootObject();
- DataObject folder1 = root.getDataObject("Folder[1]");
- assertNotNull(folder1);
- DataObject folder1a = root.getDataObject("Folder.0");
- assertEquals(folder1, folder1a);
- folder1a = root.getDataObject("Folder[FolderName=Folder00000000000]");
- assertEquals(folder1, folder1a);
-
- DataObject noFolder = null;
-
- try {
- noFolder = root.getDataObject("Folder[3]");
- assertNull(noFolder);
- } catch (Exception e) {
- assertFalse("bad indexing generated exception" + e, true);
- }
-
- try {
- noFolder = root.getDataObject("Folder[0]");
- assertNull(noFolder);
- } catch (Exception e) {
- assertFalse("bad indexing generated exception" + e, true);
- }
-
- try {
- noFolder = root.getDataObject("Folder.2");
- assertNull(noFolder);
- } catch (Exception e) {
- assertFalse("bad indexing generated exception" + e, true);
- }
-
- try {
- noFolder = root.getDataObject("Folder.-1");
- assertNull(noFolder);
- } catch (Exception e) {
- assertFalse("bad indexing generated exception" + e, true);
- }
-
- noFolder = root.getDataObject("Folder[FolderName=foo]");
- assertNull(noFolder);
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java
deleted file mode 100644
index b8d3402172..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XSDHelperTestCase.java
+++ /dev/null
@@ -1,224 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Vector;
-
-import junit.framework.TestCase;
-
-import org.apache.tuscany.sdo.util.SDOUtil;
-
-import com.example.simple.SimpleFactory;
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.DataFactory;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XSDHelper;
-
-/**
- * @version $Rev$ $Date$
- */
-public class XSDHelperTestCase extends TestCase {
- private static final String TEST_MODEL = "/simple.xsd";
- private static final String TEST_MODEL2 = "/xsdCorners.xsd";
- private URL modelURL;
- private URL xsdCornersURL;
-
- HelperContext hc;
-
- protected void setUp() throws Exception {
- super.setUp();
- hc = SDOUtil.createHelperContext();
- modelURL = getClass().getResource(TEST_MODEL);
- xsdCornersURL = getClass().getResource(TEST_MODEL2);
- }
-
- public void testDefineWithLocation() throws IOException {
- XSDHelper xsdHelper = hc.getXSDHelper();
- List types = xsdHelper.define(modelURL.openStream(), modelURL.toString());
- assertEquals(2, types.size());
- }
-
- public void testDefineWithNoLocation() {
- XSDHelper xsdHelper = hc.getXSDHelper();
- List types = xsdHelper.define(getClass().getResourceAsStream(TEST_MODEL), null);
- assertEquals(2, types.size());
- }
-
- public void testDuplicateDefineWithLocation() throws IOException {
- XSDHelper xsdHelper = hc.getXSDHelper();
- List types = xsdHelper.define(modelURL.openStream(), modelURL.toString());
- assertEquals(2, types.size());
-
- List types2 = xsdHelper.define(modelURL.openStream(), modelURL.toString());
- assertEquals(0, types2.size());
- }
-
- public void testXSDGeneration_staticSDOType() throws IOException
- {
- //test for static sdo type. The test succeeds if the IllegalArgumentException is thrown
- //by XSDHelper.generate method in which case the string xsd must be null;
-
- SimpleFactory.INSTANCE.register(hc);
- XSDHelper xsdHelper = hc.getXSDHelper();
- DataObject quoteSDO = (DataObject)SimpleFactory.INSTANCE.createQuote();
- List typeList = new Vector();
- typeList.add(quoteSDO.getType());
- String xsd = null;
-
- try
- {
- xsd = xsdHelper.generate(typeList);
- xsd = "";
- }
- catch ( IllegalArgumentException e )
- {
- }
- assertNull(xsd);
- }
-
- public void testXSDGeneration_DynamicSDOType() throws IOException
- {
- //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 = hc.getXSDHelper();
- DataObject quoteType = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- quoteType.set("uri", "http://www.example.com/dynamic");
- quoteType.set("name", "DynamicQuote");
-
- DataObject aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "symbol");
- aProperty.set("type", TypeHelper.INSTANCE.getType("commonj.sdo", "String"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "price");
- aProperty.set("type", TypeHelper.INSTANCE.getType("commonj.sdo", "Decimal"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "volume");
- aProperty.set("type", TypeHelper.INSTANCE.getType("commonj.sdo", "Double"));
-
- TypeHelper.INSTANCE.define(quoteType);
-
- Type dynamicQuoteType =
- TypeHelper.INSTANCE.getType("http://www.example.com/dynamic", "DynamicQuote");
-
- Vector types = new Vector();
- types.add(dynamicQuoteType);
- String xsd = null;
-
- try
- {
- xsd = xsdHelper.generate(types);
- //System.out.println(xsd);
- }
- catch ( IllegalArgumentException e )
- {
- }
- assertNotNull(xsd);
-
- }
-
- public void testXSDGeneration_DynamicWithNestedStaticSDOType() throws IOException
- {
- //testing static SDO with XSD Model being contained in a Dynamic SDO not having an XSD Model.
- //the schema must be generated with imports / includes for the XSD corresponding to the static
- //sdo types.
- TypeHelper typeHelper = hc.getTypeHelper();
- XSDHelper xsdHelper = hc.getXSDHelper();
-
- SimpleFactory.INSTANCE.register(hc);
- DataObject quoteSDO = (DataObject)SimpleFactory.INSTANCE.createQuote();
-
-
- DataObject quoteType = DataFactory.INSTANCE.create("commonj.sdo", "Type");
- quoteType.set("uri", "http://www.example.com/dynamic");
- quoteType.set("name", "DynamicQuote");
-
- DataObject aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "symbol");
- aProperty.set("type", typeHelper.getType("commonj.sdo", "String"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "price");
- aProperty.set("type", typeHelper.getType("commonj.sdo", "Decimal"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "volume");
- aProperty.set("type", typeHelper.getType("commonj.sdo", "Double"));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "containedQuotes");
- aProperty.set("type", typeHelper.getType(quoteSDO.getType().getURI(), quoteSDO.getType().getName()));
- aProperty.set("containment", new Boolean(true));
-
- aProperty = quoteType.createDataObject("property");
- aProperty.set("name", "referredQuotes");
- aProperty.set("type", typeHelper.getType(quoteSDO.getType().getURI(), quoteSDO.getType().getName()));
-
- typeHelper.define(quoteType);
-
- Type dynamicQuoteType =
- typeHelper.getType("http://www.example.com/dynamic", "DynamicQuote");
- Vector types = new Vector();
- types.add(dynamicQuoteType);
- String xsd = null;
-
- try
- {
- Hashtable schemaLocationMap = new Hashtable();
- schemaLocationMap.put("http://www.example.com/simple", "http://www.example.com/simple/xsd");
- xsd = xsdHelper.generate(types, schemaLocationMap);
- //System.out.println(xsd);
- }
- catch ( IllegalArgumentException e )
- {
- }
- assertNotNull(xsd);
-
- }
-
- public void testPrefixFromNSWithHyphenNumber() throws IOException {
- XSDHelper xsdHelper = hc.getXSDHelper();
- xsdHelper.define(xsdCornersURL.openStream(), xsdCornersURL.toString());
- DataFactory df = hc.getDataFactory();
- DataObject root = df.create("http://www.example.com/simple-1", "A");
- root.setString("a1", "a1s");
- root.setString("a2", "a2s");
-
- String doc = hc.getXMLHelper().save(root, "http://www.example.com/simple-1", "a");
- assertTrue(doc.indexOf("xmlns:s1=\"http://www.example.com/simple-1\"") != -1);
- }
-
- public void testShortPrefix() throws IOException {
- XSDHelper xsdHelper = hc.getXSDHelper();
- URL url = getClass().getResource("/prefix.xsd");
- xsdHelper.define(url.openStream(), url.toString());
- DataObject cmd = hc.getDataFactory().create("http://soaassureservice.soabench.ibm.com", "CreateClaim");
- cmd.setString("requestInfo", "cost");
- String doc = hc.getXMLHelper().save(cmd, "http://soaassureservice.soabench.ibm.com", "createClaim");
- assertTrue(doc.indexOf("xmlns:as=\"http://soaassureservice.soabench.ibm.com\"") != -1);
- }
-}
diff --git a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XSDQNameTestCase.java b/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XSDQNameTestCase.java
deleted file mode 100644
index f369b340ed..0000000000
--- a/branches/sdo-1.0-incubating/impl/src/test/java/org/apache/tuscany/sdo/test/XSDQNameTestCase.java
+++ /dev/null
@@ -1,123 +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.
- */
-package org.apache.tuscany.sdo.test;
-
-import java.io.IOException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import junit.framework.TestCase;
-
-import commonj.sdo.DataObject;
-import commonj.sdo.Type;
-import commonj.sdo.helper.HelperContext;
-import commonj.sdo.helper.TypeHelper;
-import commonj.sdo.helper.XMLDocument;
-import org.apache.tuscany.sdo.api.SDOUtil;
-
-public class XSDQNameTestCase extends TestCase {
- private final String xsdString =
- "<xsd:schema targetNamespace=\"http://www.example.com/simple\" " +
- "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" " +
- "xmlns:simple=\"http://www.example.com/simple\"> " +
- "<xsd:element name=\"stockQuote\" type=\"simple:Quote\"/> " +
- "<xsd:complexType name=\"Quote\"> " +
- "<xsd:sequence> " +
- "<xsd:element name=\"symbol\" type=\"xsd:string\"/> " +
- "<xsd:element name=\"policy\" type=\"xsd:QName\"/> " +
- "</xsd:sequence> " +
- "</xsd:complexType> " +
- "</xsd:schema>";
-
- private final String xmlString =
- "<?xml version=\"1.0\" encoding=\"ASCII\"?> " +
- "<simple:stockQuote xmlns:simple=\"http://www.example.com/simple\"> " +
- "<symbol>fbnt</symbol> " +
- "<policy>simple:stockQuote</policy> " +
- "</simple:stockQuote>";
-
- private final String TEST_NAMESPACE = "http://www.example.com/simple";
-
- HelperContext hc;
- TypeHelper th;
-
- /**
- * Based on Spec 2.1, section 9.4.1, the return value of DataObject.get() on XSD QName property
- * should be http://www.example.com/simple#stockQuote
- * TODO add this to the CTS
- *
- * @throws IOException
- */
- public void testLoad() throws IOException {
- XMLDocument doc = hc.getXMLHelper().load(xmlString);
- DataObject root = doc.getRootObject();
- assertEquals("http://www.example.com/simple#stockQuote", root.get("policy"));
- }
-
- /**
- * After serialization, the value of XSD QName property in XML should be <prefix>:stockQuote
- */
- public void testSave() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "Quote");
- DataObject quote = hc.getDataFactory().create(quoteType);
-
- quote.setString("symbol", "fbnt");
- quote.set("policy", "http://www.example.com/simple#stockQuote");
-
- String str = hc.getXMLHelper().save(quote, TEST_NAMESPACE, "stockQuote");
- int start = str.indexOf("<policy>");
- int end = str.indexOf("</policy>");
- assertTrue(start != -1 && end != -1);
-
- String policyValue = str.substring(start + "<policy>".length(), end);
-
- Pattern pattern = Pattern.compile(".*:stockQuote"); // prefix can be anything
-
- Matcher matcher = pattern.matcher(policyValue);
- assertTrue(matcher.find());
- }
-
- /**
- * Test the scenario that the xsd:QName property value contains non-existent namespace
- */
- public void testSave2() throws IOException {
- Type quoteType = th.getType(TEST_NAMESPACE, "Quote");
- DataObject quote = hc.getDataFactory().create(quoteType);
-
- quote.setString("symbol", "fbnt");
- quote.set("policy", "http://www.example.com/simple2#stockQuote");
-
- String str = hc.getXMLHelper().save(quote, TEST_NAMESPACE, "stockQuote");
-
- // Make sure the non-existent namespace was serialized
- Pattern pattern = Pattern.compile(".*xmlns:.*=\"http://www.example.com/simple2\"");
- Matcher matcher = pattern.matcher(str);
- assertTrue(matcher.find());
- }
-
- protected void setUp() throws Exception {
- super.setUp();
-
- hc = SDOUtil.createHelperContext();
- th = hc.getTypeHelper();
-
- hc.getXSDHelper().define(xsdString);
- }
-}