summaryrefslogtreecommitdiffstats
path: root/das-java/trunk/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java
diff options
context:
space:
mode:
authorlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-02 22:22:29 +0000
committerlresende <lresende@13f79535-47bb-0310-9956-ffa450edef68>2009-11-02 22:22:29 +0000
commitc6103c7c9a6b6971d2aa0b8e3997608cb5f2c36f (patch)
treeb3bf9651ebfd1c6f6230f69342cd2fc6686a7b98 /das-java/trunk/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java
parentdbfb7d4e41886fd91f33e434c57d207061106c38 (diff)
Move the das folder as new trunk for das sub project
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@832144 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'das-java/trunk/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java')
-rw-r--r--das-java/trunk/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java108
1 files changed, 108 insertions, 0 deletions
diff --git a/das-java/trunk/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java b/das-java/trunk/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java
new file mode 100644
index 0000000000..54dfbc4402
--- /dev/null
+++ b/das-java/trunk/rdb/src/test/java/org/apache/tuscany/das/rdb/test/TypeTests.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.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 java.util.Iterator;
+import java.util.List;
+
+import org.apache.tuscany.das.rdb.Command;
+import org.apache.tuscany.das.rdb.DAS;
+import org.apache.tuscany.das.rdb.impl.SDODataTypeHelper;
+import org.apache.tuscany.das.rdb.test.data.TypesData;
+import org.apache.tuscany.das.rdb.test.framework.DasTest;
+import org.apache.tuscany.sdo.api.SDOUtil;
+import org.apache.tuscany.sdo.model.impl.ModelFactoryImpl;
+
+import commonj.sdo.DataObject;
+import commonj.sdo.Type;
+import commonj.sdo.impl.HelperProvider;
+
+public class TypeTests extends DasTest {
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ new TypesData(getAutoConnection()).refresh();
+ }
+
+ /**
+ * Read various types.
+ */
+ public void testRead() throws Exception {
+ DAS das = DAS.FACTORY.createDAS(getConnection());
+ // Read customer 1
+ Command select = das.createCommand("Select * from TYPETEST where ID = 1");
+ DataObject root = select.executeQuery();
+
+ DataObject types = (DataObject) root.get("TYPETEST[1]");
+
+ java.sql.Timestamp ts = (java.sql.Timestamp) types.get("ATIMESTAMP");
+ assertEquals(ts, TypesData.getTimestamp());
+
+ float decimal = types.getFloat("ADECIMAL");
+ assertEquals(1234567.89f, decimal, .0001);
+
+ }
+
+ /**
+ * Write various types.
+ * TODO - Need to rethink the Timestamp write. My current thinking id that writes of non-SDO2 defined types
+ * require a converter
+ */
+ /* public void testWrite() throws Exception {
+
+ //Read customer 1
+ Command select = Command.FACTORY.createCommand("Select * from TYPETEST where ID = 1");
+ select.setConnection(getConnection());
+ DataObject root = select.executeQuery();
+
+ DataObject types = (DataObject)root.get("TYPETEST[1]");
+ Date now = new Date();
+ types.set("ATIMESTAMP", now);
+
+ ApplyChangesCommand apply = Command.FACTORY.createApplyChangesCommand();
+ apply.setConnection(getConnection());
+ apply.addPrimaryKey("TYPETEST.ID");
+ apply.execute(root);
+
+ //Verify
+ root = select.executeQuery();
+ java.sql.Timestamp ts = (java.sql.Timestamp)types.get("ATIMESTAMP");
+ assertEquals(now, ts);
+
+ }*/
+
+ public void testTypeMapping() throws Exception {
+ List typesList = SDOUtil.getTypes(HelperProvider.getDefaultContext(), ModelFactoryImpl.NAMESPACE_URI);
+ Iterator itr = typesList.iterator();
+ while(itr.hasNext()) {
+ Type sdoType = (Type)itr.next();
+ if(sdoType.isDataType() && !sdoType.getName().equals("ChangeSummaryType"))
+ assertEquals(sdoType.getURI()+"."+sdoType.getName(), SDODataTypeHelper.columnTypeForSDOType(sdoType));
+ }
+ }
+
+}