diff options
Diffstat (limited to 'sca-java-1.x/tags/java-M1-final/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SerializationTests.java')
-rw-r--r-- | sca-java-1.x/tags/java-M1-final/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SerializationTests.java | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/sca-java-1.x/tags/java-M1-final/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SerializationTests.java b/sca-java-1.x/tags/java-M1-final/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SerializationTests.java new file mode 100644 index 0000000000..0089e6b569 --- /dev/null +++ b/sca-java-1.x/tags/java-M1-final/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/SerializationTests.java @@ -0,0 +1,90 @@ +/** + * + * 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.das.rdb.test; + +/* + * This class provides tests for all supported "types". The current plan is to + * use the Data type definitions provided in the SDO 2 specification. We must + * test the ability to use all of these types as well as different mapping from + * thse types to types used in the database. For example, a SDO Data Type + * "STRING", might be staored as a "TIMESTAMP" in DB2. + * + */ + +import org.apache.tuscany.das.rdb.test.data.TypesData; +import org.apache.tuscany.das.rdb.test.framework.DasTest; + +public class SerializationTests extends DasTest { + + protected void setUp() throws Exception { + super.setUp(); + new TypesData(getAutoConnection()).refresh(); + } + + /** + * Read various types. + */ + + +public void testReadandSerialize() throws Exception { + /** Currently failing because of TUSCANY-22 + Command select = Command.FACTORY + .createCommand("Select * from TYPETEST where ID = 1"); + select.setConnection(getConnection()); + DataObject root = select.executeQuery(); + + DataObject obj = root.getDataObject("TYPETEST[1]"); + + assertTrue(obj.isSet("ID")); + assertTrue(obj.isSet("ATIMESTAMP")); + assertTrue(obj.isSet("ADECIMAL")); + assertTrue(obj.isSet("AFLOAT")); + + //Java serilaization to file + FileOutputStream fos = null; + ObjectOutputStream out = null; + try { + fos = new FileOutputStream("serializedGraph.xml"); + out = new ObjectOutputStream(fos); + out.writeObject(root); + out.flush(); + } finally { + out.close(); + fos.close(); + } + + //Reconstruct the graph + FileInputStream fis = null; + ObjectInputStream in = null; + DataObject root2; + try { + fis = new FileInputStream("serializedGraph.xml"); + in = new ObjectInputStream(fis); + root2 = (DataObject) in.readObject(); + } finally { + in.close(); + fis.close(); + } + + assertEquals(1, root.getInt("TYPETEST[1]/ID")); + assertEquals(TypesData.getTimestamp(), (java.sql.Timestamp)root.get("TYPETEST[1]/ATIMESTAMP")); + assertEquals(1234567.89f, root2.getFloat("TYPETEST[1]/ADECIMAL"), .001); + assertEquals(1234567.89f, root2.getFloat("TYPETEST[1]/AFLOAT"), .001); + + */ + } +} |