Author: kwilliams
Date: Thu Sep  7 14:44:47 2006
New Revision: 441239

URL: http://svn.apache.org/viewvc?view=rev&rev=441239
Log:
Adding Kennel schema for more comlex testing

Added:
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/KennelTests.java
   (with props)
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DogData.java
   (with props)
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/KennelData.java
   (with props)
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerData.java
   (with props)
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerDogData.java
   (with props)
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/VisitData.java
   (with props)
Modified:
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ImpliedRelationshipTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/TypesData.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DatabaseSetup.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestData.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ImpliedRelationshipTests.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ImpliedRelationshipTests.java?view=diff&rev=441239&r1=441238&r2=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ImpliedRelationshipTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ImpliedRelationshipTests.java
 Thu Sep  7 14:44:47 2006
@@ -14,78 +14,77 @@
 import commonj.sdo.Property;
 
 public class ImpliedRelationshipTests extends DasTest {
-       protected void setUp() throws Exception {
-               super.setUp();
+    protected void setUp() throws Exception {
+        super.setUp();
 
-               new CustomerData(getAutoConnection()).refresh();
-               new OrderData(getAutoConnection()).refresh();
-       }
-
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-
-       /**
-        * Ensure that an implied relationship is not created when a defined 
one already exists
-        * @throws Exception
-        */
-       public void testRelationshipAlreadyDefined() throws Exception {
-               ConfigHelper helper = new ConfigHelper();
-               Relationship r = helper.addRelationship("CUSTOMER.ID", 
"ANORDER.CUSTOMER_ID");
-               r.setName("definedRelationship");
-               
-               DAS das = DAS.FACTORY.createDAS(helper.getConfig(), 
getConnection());
-               Command select = das.createCommand("select * from CUSTOMER left 
join ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID");
-               
-               DataObject root = select.executeQuery();
-               DataObject cust = root.getDataObject("CUSTOMER[1]");
-               Iterator i = cust.getType().getProperties().iterator();
-               while ( i.hasNext()) {
-                       Property p = (Property)i.next();
-                       if ( !p.getType().isDataType() ) 
-                               assertEquals(p.getName(), 
"definedRelationship");                       
-               }
-       }
-       
-       /**
-        * Add a new Order to a list of Customers without defining any config 
information
-        * @throws Exception
-        */
-       public void testAddNewOrder() throws Exception {
-               DAS das = DAS.FACTORY.createDAS(getConnection());
-
-               Command select = das
-                               .createCommand("SELECT * FROM CUSTOMER LEFT 
JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID");
-
-               DataObject root = select.executeQuery();
-
-               DataObject cust = root.getDataObject("CUSTOMER[1]");
-
-               // Save ID and Order Count
-               int custID = cust.getInt("ID");
-               int custOrderCount = cust.getList("ANORDER").size();
-
-               // Create a new Order and add to customer1
-               DataObject order = root.createDataObject("ANORDER");
-
-               order.set("ID", new Integer(99));
-               order.set("PRODUCT", "The 99th product");
-               order.set("QUANTITY", new Integer(99));
-               cust.getList("ANORDER").add(order);
-
-               assertEquals(custOrderCount + 1, 
cust.getList("ANORDER").size());
-
-               // Build apply changes command
-               das.applyChanges(root);
-
-               // verify cust1 relationship updates
-               select = das
-                               .createCommand("SELECT * FROM CUSTOMER LEFT 
JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = ?");
-
-               select.setParameter(1, new Integer(custID));
-               root = select.executeQuery();
-
-               assertEquals(custOrderCount + 1, 
root.getList("CUSTOMER[1]/ANORDER")
-                               .size());
-       }
+        new CustomerData(getAutoConnection()).refresh();
+        new OrderData(getAutoConnection()).refresh();
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Ensure that an implied relationship is not created when a defined one 
already exists
+     * 
+     * @throws Exception
+     */
+    public void testRelationshipAlreadyDefined() throws Exception {
+        ConfigHelper helper = new ConfigHelper();
+        Relationship r = helper.addRelationship("CUSTOMER.ID", 
"ANORDER.CUSTOMER_ID");
+        r.setName("definedRelationship");
+
+        DAS das = DAS.FACTORY.createDAS(helper.getConfig(), getConnection());
+        Command select = das.createCommand("select * from CUSTOMER left join 
ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID");
+
+        DataObject root = select.executeQuery();
+        DataObject cust = root.getDataObject("CUSTOMER[1]");
+        Iterator i = cust.getType().getProperties().iterator();
+        while (i.hasNext()) {
+            Property p = (Property) i.next();
+            if (!p.getType().isDataType())
+                assertEquals(p.getName(), "definedRelationship");
+        }
+    }
+
+    /**
+     * Add a new Order to a list of Customers without defining any config 
information
+     * 
+     * @throws Exception
+     */
+    public void testAddNewOrder() throws Exception {
+        DAS das = DAS.FACTORY.createDAS(getConnection());
+
+        Command select = das.createCommand("SELECT * FROM CUSTOMER LEFT JOIN 
ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID");
+
+        DataObject root = select.executeQuery();
+
+        DataObject cust = root.getDataObject("CUSTOMER[1]");
+
+        // Save ID and Order Count
+        int custID = cust.getInt("ID");
+        int custOrderCount = cust.getList("ANORDER").size();
+
+        // Create a new Order and add to customer1
+        DataObject order = root.createDataObject("ANORDER");
+
+        order.set("ID", new Integer(99));
+        order.set("PRODUCT", "The 99th product");
+        order.set("QUANTITY", new Integer(99));
+        cust.getList("ANORDER").add(order);
+
+        assertEquals(custOrderCount + 1, cust.getList("ANORDER").size());
+
+        // Build apply changes command
+        das.applyChanges(root);
+
+        // verify cust1 relationship updates
+        select = das.createCommand("SELECT * FROM CUSTOMER LEFT JOIN ANORDER 
ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = ?");
+
+        select.setParameter(1, new Integer(custID));
+        root = select.executeQuery();
+
+        assertEquals(custOrderCount + 1, 
root.getList("CUSTOMER[1]/ANORDER").size());
+    }
 }

Added: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/KennelTests.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/KennelTests.java?view=auto&rev=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/KennelTests.java
 (added)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/KennelTests.java
 Thu Sep  7 14:44:47 2006
@@ -0,0 +1,123 @@
+/*
+ * 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;
+
+import java.sql.Timestamp;
+
+import org.apache.tuscany.das.rdb.Command;
+import org.apache.tuscany.das.rdb.DAS;
+import org.apache.tuscany.das.rdb.test.data.DogData;
+import org.apache.tuscany.das.rdb.test.data.KennelData;
+import org.apache.tuscany.das.rdb.test.data.OwnerData;
+import org.apache.tuscany.das.rdb.test.data.OwnerDogData;
+import org.apache.tuscany.das.rdb.test.data.TypesData;
+import org.apache.tuscany.das.rdb.test.data.VisitData;
+import org.apache.tuscany.das.rdb.test.framework.DasTest;
+import org.apache.tuscany.das.rdb.test.framework.TestData;
+
+import commonj.sdo.DataObject;
+
+public class KennelTests extends DasTest {
+
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        new DogData(getAutoConnection()).refresh();
+        new OwnerData(getAutoConnection()).refresh();
+        new OwnerDogData(getAutoConnection()).refresh();
+        new KennelData(getAutoConnection()).refresh();
+        new VisitData(getAutoConnection()).refresh();
+                
+
+    }
+
+    public void testSimple() throws Exception {
+
+        DAS das = DAS.FACTORY.createDAS(getConnection());
+
+        // Build the select command
+        Command selectCommand = das.createCommand("select * from DOG");
+
+        // Get the graph
+        DataObject root = selectCommand.executeQuery();
+
+        assertEquals(3, root.getList("DOG").size());
+
+    }
+    
+    public void testSimple2() throws Exception {
+
+        DAS das = DAS.FACTORY.createDAS(getConnection());
+
+        // Build the select command
+        Command selectCommand = das.createCommand("select * from OWNER");
+
+        // Get the graph
+        DataObject root = selectCommand.executeQuery();
+
+        assertEquals(3, root.getList("OWNER").size());
+
+    }
+    
+    public void testSimple3() throws Exception {
+
+        DAS das = DAS.FACTORY.createDAS(getConnection());
+
+        // Build the select command
+        Command selectCommand = das.createCommand("select * from OWNER, DOG 
where DOG.OWNER_ID = OWNER.ID and OWNER.NAME = 'Fanny'");
+
+        // Get the graph
+        DataObject root = selectCommand.executeQuery();
+        
+        //Get Fanny
+        DataObject fanny = root.getDataObject("OWNER[1]");
+        assertEquals("Fido", fanny.getString("DOG[1]/NAME"));
+
+    }
+
+    public void testSimple4() throws Exception {
+
+        DAS das = DAS.FACTORY.createDAS(getConnection());
+
+        // Build the select command
+        Command selectCommand = das.createCommand("select * from KENNEL");
+
+        // Get the graph
+        DataObject root = selectCommand.executeQuery();
+        
+        assertEquals(3, root.getList("KENNEL").size());
+ 
+    }
+    
+    public void testSimple5() throws Exception {
+
+        DAS das = DAS.FACTORY.createDAS(getConnection());
+
+        // Build the select command
+        Command selectCommand = das.createCommand("select * from VISIT");
+
+        // Get the graph
+        DataObject root = selectCommand.executeQuery();
+        
+        assertEquals(3, root.getList("VISIT").size());
+        assertEquals(TestData.getTimestamp("2006-10-20 00:00:00.0"), 
(Timestamp)root.get("VISIT[1]/CHECK_IN"));
+ 
+    }
+
+}

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/KennelTests.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/KennelTests.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DogData.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DogData.java?view=auto&rev=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DogData.java
 (added)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DogData.java
 Thu Sep  7 14:44:47 2006
@@ -0,0 +1,56 @@
+/*
+ * 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.data;
+
+import java.sql.Connection;
+import java.sql.Types;
+
+import org.apache.tuscany.das.rdb.test.framework.TestDataWithExplicitColumns;
+
+
+public class DogData extends TestDataWithExplicitColumns {
+
+/*    CREATE TABLE DOG (
+            ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+            OWNER_ID INTEGER UNSIGNED NOT NULL,
+            NAME VARCHAR(20) NOT NULL,
+            BREED VARCHAR(20) NULL,
+            OCC_COUNT INTEGER UNSIGNED NULL,
+            PRIMARY KEY(ID),
+          );*/
+    
+       //id and owner_id omitted.  id is auto-generated. owner_id is filled in 
by DogOwner data
+    private static int[] columnTypes = {Types.VARCHAR, Types.VARCHAR, 
Types.INTEGER}; 
+       
+       private static Object[][] data = { 
+            { "Fido", "Mutt", new Integer(1) },
+                       { "Max", "German Shepherd", new Integer(1) },
+                       { "Saddie", "Collie", new Integer(1)} };
+
+       private static String[] columns = { "NAME", "BREED", "OCC_COUNT" };
+
+       public DogData(Connection connection) {
+               super(connection, data, columns, columnTypes);
+       }
+
+       public String getTableName() {
+               return "DOG";
+       }
+
+}

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DogData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/DogData.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/KennelData.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/KennelData.java?view=auto&rev=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/KennelData.java
 (added)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/KennelData.java
 Thu Sep  7 14:44:47 2006
@@ -0,0 +1,55 @@
+/*
+ * 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.data;
+
+import java.sql.Connection;
+import java.sql.Types;
+
+import org.apache.tuscany.das.rdb.test.framework.TestDataWithExplicitColumns;
+
+
+public class KennelData extends TestDataWithExplicitColumns {
+
+/*    CREATE TABLE KENNEL (
+            ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+            NUMBER INTEGER UNSIGNED NULL,
+            KIND VARCHAR(20) NULL,
+            OCC_COUNT INTEGER UNSIGNED NULL,
+            PRIMARY KEY(ID)
+          );*/
+    
+       //id omitted.  id is auto-generated.
+    private static int[] columnTypes = {Types.INTEGER, Types.VARCHAR, 
Types.INTEGER}; 
+       
+       private static Object[][] data = { 
+            { new Integer(100), "Small", new Integer(1) },
+                       { new Integer(101), "Small", new Integer(1) },
+                       { new Integer(102), "Large", new Integer(1)} };
+
+       private static String[] columns = { "NUMBER", "KIND", "OCC_COUNT" };
+
+       public KennelData(Connection connection) {
+               super(connection, data, columns, columnTypes);
+       }
+
+       public String getTableName() {
+               return "KENNEL";
+       }
+
+}

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/KennelData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/KennelData.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerData.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerData.java?view=auto&rev=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerData.java
 (added)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerData.java
 Thu Sep  7 14:44:47 2006
@@ -0,0 +1,55 @@
+/*
+ * 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.data;
+
+import java.sql.Connection;
+import java.sql.Types;
+
+import org.apache.tuscany.das.rdb.test.framework.TestDataWithExplicitColumns;
+
+
+public class OwnerData extends TestDataWithExplicitColumns {
+
+/*    CREATE TABLE OWNER (
+            ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+            NAME VARCHAR(20) NULL,
+            CONTACT_PHONE VARCHAR(20) NULL,
+            OCC_COUNT INTEGER UNSIGNED NULL,
+            PRIMARY KEY(ID)
+          );*/
+    
+       //id omitted.  id is auto-generated.
+    private static int[] columnTypes = {Types.VARCHAR, Types.VARCHAR, 
Types.INTEGER}; 
+       
+       private static Object[][] data = { 
+            { "Fanny", "222-2222", new Integer(1) },
+                       { "Manny", "333-3333", new Integer(1) },
+                       { "Sammy", "444-4444", new Integer(1)} };
+
+       private static String[] columns = { "NAME", "CONTACT_PHONE", 
"OCC_COUNT" };
+
+       public OwnerData(Connection connection) {
+               super(connection, data, columns, columnTypes);
+       }
+
+       public String getTableName() {
+               return "OWNER";
+       }
+
+}

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerData.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerDogData.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerDogData.java?view=auto&rev=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerDogData.java
 (added)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerDogData.java
 Thu Sep  7 14:44:47 2006
@@ -0,0 +1,41 @@
+/*
+ * 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.data;
+
+import java.sql.Connection;
+
+import org.apache.tuscany.das.rdb.test.framework.RelationshipData;
+
+public class OwnerDogData extends RelationshipData {
+
+    public static Object[][] data = { { "Fanny", "Fido" }, { "Manny", "Max" }, 
{ "Sammy", "Saddie" } };
+
+    public OwnerDogData(Connection c) {
+        super(c, data);
+    }
+
+    protected String getParentRetrievalStatement() {
+        return "select ID from OWNER where NAME = ?";
+    }
+
+    protected String getChildUpdateStatement() {
+        return "update DOG set OWNER_ID = ? where NAME = ?";
+    }
+
+}

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerDogData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/OwnerDogData.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/TypesData.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/TypesData.java?view=diff&rev=441239&r1=441238&r2=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/TypesData.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/TypesData.java
 Thu Sep  7 14:44:47 2006
@@ -19,20 +19,12 @@
 package org.apache.tuscany.das.rdb.test.data;
 
 import java.sql.Connection;
-import java.sql.Timestamp;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
 
 import org.apache.tuscany.das.rdb.test.framework.TestData;
 
 
 public class TypesData extends TestData {
-       
-       private static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd 
hh:ss:mm.SSS");
-       private static Timestamp timestamp = getTimestamp();
-               
+                       
        private static Object[][] customerData = {
                        {new Integer(1), timestamp, new Float(1234567.89), new 
Float(1234567.89)}
                        };
@@ -45,22 +37,5 @@
                return "TYPETEST";
        }
 
-       
-       //Utilities
-       private static Date getDate() {
-               
-               try {
-                       return dateFormat.parse("1966-12-20 00:00:00.0");
-               } catch (ParseException e) {
-                       throw new RuntimeException(e);
-               }
-
-       }
-       
-       public static Timestamp getTimestamp() {
-               
-               return new Timestamp(getDate().getTime());
-               
-       }
        
 }

Added: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/VisitData.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/VisitData.java?view=auto&rev=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/VisitData.java
 (added)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/VisitData.java
 Thu Sep  7 14:44:47 2006
@@ -0,0 +1,56 @@
+/*
+ * 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.data;
+
+import java.sql.Connection;
+import java.sql.Types;
+
+import org.apache.tuscany.das.rdb.test.framework.TestDataWithExplicitColumns;
+
+
+public class VisitData extends TestDataWithExplicitColumns {
+
+/*    CREATE TABLE VISIT (
+            ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+            CHECK_IN TIMESTAMP NULL,
+            CHECK_OUT TIMESTAMP NULL,
+            OCC_COUNT INTEGER UNSIGNED NULL,
+            PRIMARY KEY(ID)
+          );*/
+    
+       //id omitted.  id is auto-generated.
+    private static int[] columnTypes = {Types.TIMESTAMP, Types.TIMESTAMP, 
Types.INTEGER}; 
+       
+       private static Object[][] data = { 
+            { getTimestamp("2006-10-20 00:00:00.0"), getTimestamp("2006-10-22 
00:00:00.0"), new Integer(1) },
+            { getTimestamp("2006-10-20 00:00:00.0"), getTimestamp("2006-10-22 
00:00:00.0"), new Integer(1) },
+            { getTimestamp("2006-10-20 00:00:00.0"), getTimestamp("2006-10-22 
00:00:00.0"), new Integer(1) }
+    };
+
+       private static String[] columns = { "CHECK_IN", "CHECK_OUT", 
"OCC_COUNT" };
+
+       public VisitData(Connection connection) {
+               super(connection, data, columns, columnTypes);
+       }
+
+       public String getTableName() {
+               return "VISIT";
+       }
+
+}

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/VisitData.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/data/VisitData.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DatabaseSetup.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DatabaseSetup.java?view=diff&rev=441239&r1=441238&r2=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DatabaseSetup.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/DatabaseSetup.java
 Thu Sep  7 14:44:47 2006
@@ -33,21 +33,25 @@
     protected String driverName = "Not initialized";
 
     protected String databaseURL = "Not initialized";
-    
+
     protected String userName = null;
+
     protected String password = null;
 
     private Connection connection;
 
     protected Statement s;
 
-    
     // Data Types
     protected String stringType = "VARCHAR";
+
     protected String integerType = "INT";
-       protected String timestampType = "TIMESTAMP";
-       protected String floatType = "FLOAT";
-       protected String decimalType = "DECIMAL";
+
+    protected String timestampType = "TIMESTAMP";
+
+    protected String floatType = "FLOAT";
+
+    protected String decimalType = "DECIMAL";
     
     public DatabaseSetup(Test test) {
         super(test);
@@ -65,22 +69,22 @@
         try {
 
             Class.forName(driverName).newInstance();
-            if ( userName != null ) {
-               connection = DriverManager.getConnection(databaseURL, userName, 
password);
+            if (userName != null) {
+                connection = DriverManager.getConnection(databaseURL, 
userName, password);
             } else {
-               connection = DriverManager.getConnection(databaseURL);
+                connection = DriverManager.getConnection(databaseURL);
             }
             connection.setAutoCommit(false);
 
         } catch (Exception e) {
             if (e instanceof SQLException) {
-               if ( ((SQLException) e).getNextException() != null )
-                       ((SQLException) e).getNextException().printStackTrace();
-               else    
-                       e.printStackTrace();
-                               
+                if (((SQLException) e).getNextException() != null)
+                    ((SQLException) e).getNextException().printStackTrace();
+                else
+                    e.printStackTrace();
+
             }
-                
+
             throw new RuntimeException(e);
         }
 
@@ -93,12 +97,12 @@
         s = connection.createStatement();
 
         try {
-               dropTriggers();
-               dropSequences();
+            dropTriggers();
+            dropSequences();
             dropTables();
             dropProcedures();
-           
-            createSequences();            
+
+            createSequences();
             createTables();
             createTriggers();
             createProcedures();
@@ -118,14 +122,13 @@
 
     private void dropTables() {
 
-//        System.out.println("Dropping tables");
+        // System.out.println("Dropping tables");
 
         String[] statements = {
 
-        "DROP TABLE CUSTOMER", "DROP TABLE ANORDER", "DROP TABLE 
ORDERDETAILS", "DROP TABLE ITEM",
-                "DROP TABLE COMPANY", "DROP TABLE EMPLOYEE", "DROP TABLE 
DEPARTMENT", "DROP TABLE BOOK",
-                "DROP TABLE PART", "DROP TABLE TYPETEST", "DROP TABLE CITIES", 
"DROP TABLE STATES",
-                "DROP TABLE conmgt.SERVERSTATUS"
+        "DROP TABLE CUSTOMER", "DROP TABLE ANORDER", "DROP TABLE 
ORDERDETAILS", "DROP TABLE ITEM", "DROP TABLE COMPANY", "DROP TABLE EMPLOYEE",
+                "DROP TABLE DEPARTMENT", "DROP TABLE BOOK", "DROP TABLE PART", 
"DROP TABLE TYPETEST", "DROP TABLE CITIES", "DROP TABLE STATES",
+                "DROP TABLE conmgt.SERVERSTATUS", "DROP TABLE DOG", "DROP 
TABLE OWNER", "DROP TABLE KENNEL", "DROP TABLE VISIT"
 
         };
 
@@ -134,37 +137,36 @@
                 s.execute(statements[i]);
             } catch (SQLException e) {
                 // If the table does not exist then ignore the exception on 
drop
-                if ((!e.getMessage().contains("does not exist")) &&
-                               (!e.getMessage().contains("Unknown table")))
+                if ((!e.getMessage().contains("does not exist")) && 
(!e.getMessage().contains("Unknown table")))
                     throw new RuntimeException(e);
             }
         }
     }
 
     protected void dropTriggers() {
-       
+
     }
-    
+
     protected void createTriggers() {
-       
+
     }
-    
+
     protected void dropSequences() {
-       
+
     }
-    
-  protected void createSequences() {
-       
+
+    protected void createSequences() {
+
     }
-    
+
     protected void dropProcedures() {
 
-//        System.out.println("Dropping procedures");
+        // System.out.println("Dropping procedures");
 
         String[] statements = {
 
-        "DROP PROCEDURE GETALLCOMPANIES", "DROP PROCEDURE DELETECUSTOMER", 
"DROP PROCEDURE GETNAMEDCOMPANY",
-                "DROP PROCEDURE GETCUSTOMERANDORDERS", "DROP PROCEDURE 
GETNAMEDCUSTOMERS", "DROP PROCEDURE GETALLCUSTOMERSANDORDERS"
+        "DROP PROCEDURE GETALLCOMPANIES", "DROP PROCEDURE DELETECUSTOMER", 
"DROP PROCEDURE GETNAMEDCOMPANY", "DROP PROCEDURE GETCUSTOMERANDORDERS",
+                "DROP PROCEDURE GETNAMEDCUSTOMERS", "DROP PROCEDURE 
GETALLCUSTOMERSANDORDERS"
 
         };
 
@@ -181,7 +183,7 @@
 
     private void createTables() {
 
-//        System.out.println("Creating tables");
+        // System.out.println("Creating tables");
 
         try {
 
@@ -199,6 +201,11 @@
             s.execute(getCreateCities());
             s.execute(getCreateServerStatus());
 
+            s.execute(getCreateDog());
+            s.execute(getCreateOwner());
+            s.execute(getCreateKennel());
+            s.execute(getCreateVisit());
+
         } catch (SQLException e) {
             throw new RuntimeException(e);
         }
@@ -206,15 +213,21 @@
 
     protected void createProcedures() {
 
-//        System.out.println("Creating procedures");
+        // System.out.println("Creating procedures");
         try {
 
-            s.execute("CREATE PROCEDURE GETALLCOMPANIES() PARAMETER STYLE JAVA 
LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 1 EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getAllCompanies'");
-            s.execute("CREATE PROCEDURE DELETECUSTOMER(theId int) PARAMETER 
STYLE JAVA LANGUAGE JAVA MODIFIES SQL DATA EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.deleteCustomer'");
-            s.execute("CREATE PROCEDURE GETNAMEDCOMPANY(theName VARCHAR(100)) 
PARAMETER STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 1 
EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getNamedCompany'");
-            s.execute("CREATE PROCEDURE GETCUSTOMERANDORDERS(theID INTEGER) 
PARAMETER STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 1 
EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getCustomerAndOrders'");
-            s.execute("CREATE PROCEDURE GETNAMEDCUSTOMERS(theName 
VARCHAR(100), OUT theCount INTEGER) PARAMETER STYLE JAVA LANGUAGE JAVA READS 
SQL DATA DYNAMIC RESULT SETS 1 EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getNamedCustomers'");
-            s.execute("CREATE PROCEDURE GETALLCUSTOMERSANDORDERS() PARAMETER 
STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 2 EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getAllCustomersAndAllOrders'");
+            s
+                    .execute("CREATE PROCEDURE GETALLCOMPANIES() PARAMETER 
STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 1 EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getAllCompanies'");
+            s
+                    .execute("CREATE PROCEDURE DELETECUSTOMER(theId int) 
PARAMETER STYLE JAVA LANGUAGE JAVA MODIFIES SQL DATA EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.deleteCustomer'");
+            s
+                    .execute("CREATE PROCEDURE GETNAMEDCOMPANY(theName 
VARCHAR(100)) PARAMETER STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT 
SETS 1 EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getNamedCompany'");
+            s
+                    .execute("CREATE PROCEDURE GETCUSTOMERANDORDERS(theID 
INTEGER) PARAMETER STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 
1 EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getCustomerAndOrders'");
+            s
+                    .execute("CREATE PROCEDURE GETNAMEDCUSTOMERS(theName 
VARCHAR(100), OUT theCount INTEGER) PARAMETER STYLE JAVA LANGUAGE JAVA READS 
SQL DATA DYNAMIC RESULT SETS 1 EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getNamedCustomers'");
+            s
+                    .execute("CREATE PROCEDURE GETALLCUSTOMERSANDORDERS() 
PARAMETER STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 2 
EXTERNAL NAME 
'org.apache.tuscany.das.rdb.test.framework.JavaStoredProcs.getAllCustomersAndAllOrders'");
             // TODO - "GETNAMEDCUSTOMERS" is failing on DB2 with SQLCODE: 
42723. Need to investigate
         } catch (SQLException e) {
             throw new RuntimeException(e);
@@ -228,132 +241,140 @@
     //
 
     protected String getCreateCustomer() {
-               return "CREATE TABLE CUSTOMER (" + getIntegerColumn("ID")
-                               + " PRIMARY KEY NOT NULL, " + 
getStringColumn("LASTNAME", 30)
-                               + " DEFAULT 'Garfugengheist', "
-                               + getStringColumn("ADDRESS", 30) + ")";
-       }
-
-       protected String getCreateAnOrder() {
-               return "CREATE TABLE ANORDER (" + getIntegerColumn("ID")
-                               + " PRIMARY KEY NOT NULL, " + 
getStringColumn("PRODUCT", 30)
-                               + ", " + getIntegerColumn("QUANTITY") + ","
-                               + getIntegerColumn("CUSTOMER_ID") + ")";
-       }
-
-       protected String getCreateOrderDetails() {
-               return "CREATE TABLE ORDERDETAILS (" + 
getIntegerColumn("ORDERID")
-                               + " NOT NULL, " + getIntegerColumn("PRODUCTID")
-                               + " NOT NULL, PRICE FLOAT, PRIMARY KEY 
(ORDERID, PRODUCTID))";
-       }
-
-       protected String getCreateItem() {
-               return "CREATE TABLE ITEM (" + getIntegerColumn("ID")
-                               + " PRIMARY KEY NOT NULL, " + 
getStringColumn("NAME", 30) + ")";
-       }
-
-       protected String getCreateCompany() {
-               return "CREATE TABLE COMPANY (" + getIntegerColumn("ID")
-                               + " PRIMARY KEY NOT NULL " + 
getGeneratedKeyClause() + " , "
-                               + getStringColumn("NAME", 30) + ", "
-                               + getIntegerColumn("EOTMID") + ")";
-       }
-
-       protected String getCreateEmployee() {
-               return "CREATE TABLE EMPLOYEE (" + getIntegerColumn("ID")
-                               + " PRIMARY KEY NOT NULL " + 
getGeneratedKeyClause() + ","
-                               + getStringColumn("NAME", 30) + "," + 
getStringColumn("SN", 10)
-                               + ", MANAGER SMALLINT, " + 
getIntegerColumn("DEPARTMENTID")
-                               + ")";
-       }
-
-       protected String getCreateDepartment() {
-               return "CREATE TABLE DEPARTMENT (" + getIntegerColumn("ID")
-                               + " PRIMARY KEY NOT NULL " + 
getGeneratedKeyClause() + ", "
-                               + getStringColumn("NAME", 30) + ","
-                               + getStringColumn("LOCATION", 30) + ", "
-                               + getStringColumn("DEPNUMBER", 10) + ","
-                               + getIntegerColumn("COMPANYID") + ")";
-       }
-
-       protected String getCreateBook() {
-               return "CREATE TABLE BOOK (" + getIntegerColumn("BOOK_ID")
-                               + " PRIMARY KEY NOT NULL, " + 
getStringColumn("NAME", 50) + ","
-                               + getStringColumn("AUTHOR", 30) + ", "
-                               + getIntegerColumn("QUANTITY") + "," + 
getIntegerColumn("OCC")
-                               + ")";
-       }
-
-       protected String getCreatePart() {
-               return "CREATE TABLE PART (" + getIntegerColumn("ID")
-                               + " PRIMARY KEY NOT NULL, NAME VARCHAR(50),  "
-                               + getIntegerColumn("QUANTITY") + ","
-                               + getIntegerColumn("PARENT_ID") + " )";
-       }
-
-       protected String getCreateTypeTest() {
-               return "CREATE TABLE TYPETEST (" + getIntegerColumn("ID")
-                               + " PRIMARY KEY NOT NULL, " + 
getTimeStampColumn("ATIMESTAMP")
-                               + "," + getDecimalColumn("ADECIMAL", 9, 2) + 
"," + getFloatColumn("AFLOAT") + ")";
-       }
-
-       
-
-       protected String getCreateStates() {
-               return "CREATE TABLE STATES (" + getIntegerColumn("ID")
-                               + " PRIMARY KEY NOT NULL, " + 
getStringColumn("NAME", 2) + ")";
-       }
-
-       protected String getCreateCities() {
-               return "CREATE TABLE CITIES (" + getIntegerColumn("ID")
-                               + " PRIMARY KEY NOT NULL," + 
getStringColumn("NAME", 50) + ","
-                               + getIntegerColumn("STATE_ID") + ","
-                               + getForeignKeyConstraint("STATES", "ID", 
"STATE_ID") + ")";
-       }
-
-       protected String getCreateServerStatus() {
-
-               return "CREATE TABLE CONMGT.SERVERSTATUS (STATUSID INTEGER 
PRIMARY KEY NOT NULL "
-                               + getGeneratedKeyClause()
-                               + "  (START WITH 1 ,INCREMENT BY 1), 
MANAGEDSERVERID INTEGER NOT NULL, TIMESTAMP TIMESTAMP NOT NULL)";
-
-       }
-
-       
-       protected String getForeignKeyConstraint(String pkTable, String 
pkColumn, String foreignKey) {
-               StringBuffer buffer = new StringBuffer();
-               buffer.append("CONSTRAINT FK1 FOREIGN KEY (");
-               buffer.append(foreignKey);
-               buffer.append(") REFERENCES ");
-               buffer.append(pkTable);
-               buffer.append("(");
-               buffer.append(pkColumn);
-               buffer.append(") ON DELETE NO ACTION ON UPDATE NO ACTION");
-               return buffer.toString();
-       }
-       
-       protected String getStringColumn(String name, int length) {
-               return name + ' ' + stringType + "(" + new 
Integer(length).toString() + ")";
-       }
-       
-       protected String getIntegerColumn(String name) {
-               return name + ' ' + integerType;
-       }
-       
-       protected String getGeneratedKeyClause() {
-               return "GENERATED ALWAYS AS IDENTITY";
-       }
-       
-       protected String getTimeStampColumn(String name) {
-               return name + ' ' + timestampType;
-       }
-       
-       protected String getDecimalColumn(String name, int size1, int size2) {
-               return name + ' ' + decimalType + "(" + new 
Integer(size1).toString() + ',' + new Integer(size2).toString() + ")";
-       }
-       
-       protected String getFloatColumn(String name) {
-               return name + ' ' + floatType;
-       }
+        return "CREATE TABLE CUSTOMER (" + getIntegerColumn("ID") + " PRIMARY 
KEY NOT NULL, " + getStringColumn("LASTNAME", 30)
+                + " DEFAULT 'Garfugengheist', " + getStringColumn("ADDRESS", 
30) + ")";
+    }
+
+    protected String getCreateAnOrder() {
+        return "CREATE TABLE ANORDER (" + getIntegerColumn("ID") + " PRIMARY 
KEY NOT NULL, " + getStringColumn("PRODUCT", 30) + ", "
+                + getIntegerColumn("QUANTITY") + "," + 
getIntegerColumn("CUSTOMER_ID") + ")";
+    }
+
+    protected String getCreateOrderDetails() {
+        return "CREATE TABLE ORDERDETAILS (" + getIntegerColumn("ORDERID") + " 
NOT NULL, " + getIntegerColumn("PRODUCTID")
+                + " NOT NULL, PRICE FLOAT, PRIMARY KEY (ORDERID, PRODUCTID))";
+    }
+
+    protected String getCreateItem() {
+        return "CREATE TABLE ITEM (" + getIntegerColumn("ID") + " PRIMARY KEY 
NOT NULL, " + getStringColumn("NAME", 30) + ")";
+    }
+
+    protected String getCreateCompany() {
+        return "CREATE TABLE COMPANY (" + getIntegerColumn("ID") + " PRIMARY 
KEY NOT NULL " + getGeneratedKeyClause() + " , "
+                + getStringColumn("NAME", 30) + ", " + 
getIntegerColumn("EOTMID") + ")";
+    }
+
+    protected String getCreateEmployee() {
+        return "CREATE TABLE EMPLOYEE (" + getIntegerColumn("ID") + " PRIMARY 
KEY NOT NULL " + getGeneratedKeyClause() + ","
+                + getStringColumn("NAME", 30) + "," + getStringColumn("SN", 
10) + ", MANAGER SMALLINT, " + getIntegerColumn("DEPARTMENTID") + ")";
+    }
+
+    protected String getCreateDepartment() {
+        return "CREATE TABLE DEPARTMENT (" + getIntegerColumn("ID") + " 
PRIMARY KEY NOT NULL " + getGeneratedKeyClause() + ", "
+                + getStringColumn("NAME", 30) + "," + 
getStringColumn("LOCATION", 30) + ", " + getStringColumn("DEPNUMBER", 10) + ","
+                + getIntegerColumn("COMPANYID") + ")";
+    }
+
+    protected String getCreateBook() {
+        return "CREATE TABLE BOOK (" + getIntegerColumn("BOOK_ID") + " PRIMARY 
KEY NOT NULL, " + getStringColumn("NAME", 50) + ","
+                + getStringColumn("AUTHOR", 30) + ", " + 
getIntegerColumn("QUANTITY") + "," + getIntegerColumn("OCC") + ")";
+    }
+
+    protected String getCreatePart() {
+        return "CREATE TABLE PART (" + getIntegerColumn("ID") + " PRIMARY KEY 
NOT NULL, NAME VARCHAR(50),  " + getIntegerColumn("QUANTITY") + ","
+                + getIntegerColumn("PARENT_ID") + " )";
+    }
+
+    protected String getCreateTypeTest() {
+        return "CREATE TABLE TYPETEST (" + getIntegerColumn("ID") + " PRIMARY 
KEY NOT NULL, " + getTimestampColumn("ATIMESTAMP") + ","
+                + getDecimalColumn("ADECIMAL", 9, 2) + "," + 
getFloatColumn("AFLOAT") + ")";
+    }
+
+    protected String getCreateStates() {
+        return "CREATE TABLE STATES (" + getIntegerColumn("ID") + " PRIMARY 
KEY NOT NULL, " + getStringColumn("NAME", 2) + ")";
+    }
+
+    protected String getCreateCities() {
+        return "CREATE TABLE CITIES (" + getIntegerColumn("ID") + " PRIMARY 
KEY NOT NULL," + getStringColumn("NAME", 50) + ","
+                + getIntegerColumn("STATE_ID") + "," + 
getForeignKeyConstraint("STATES", "ID", "STATE_ID") + ")";
+    }
+
+    protected String getCreateServerStatus() {
+
+        return "CREATE TABLE CONMGT.SERVERSTATUS (STATUSID INTEGER PRIMARY KEY 
NOT NULL " + getGeneratedKeyClause()
+                + "  (START WITH 1 ,INCREMENT BY 1), MANAGEDSERVERID INTEGER 
NOT NULL, TIMESTAMP TIMESTAMP NOT NULL)";
+
+    }
+
+    // Dog Kennel Schema
+
+    protected String getCreateDog() {
+        return "CREATE TABLE DOG (" + getIntegerColumn("ID") + " NOT NULL " + 
getGeneratedKeyClause() + " , " + getIntegerColumn("OWNER_ID") + " , "
+                + getStringColumn("NAME", 20) + ", " + 
getStringColumn("BREED", 20) + ", " + getIntegerColumn("OCC_COUNT") + ", "
+                + "PRIMARY KEY(ID))";
+    }
+
+    protected String getCreateOwner() {
+        return "CREATE TABLE OWNER (" + getIntegerColumn("ID") + " NOT NULL " 
+ getGeneratedKeyClause() + " , " + getStringColumn("NAME", 20) + ", "
+                + getStringColumn("CONTACT_PHONE", 20) + ", " + 
getIntegerColumn("OCC_COUNT") + ", " + "PRIMARY KEY(ID))";
+    }
+    
+    protected String getCreateKennel() {
+        return "CREATE TABLE KENNEL (" 
+        + getIntegerColumn("ID") + " NOT NULL " + getGeneratedKeyClause() + " 
, " 
+        + getIntegerColumn("NUMBER") + ", "
+        + getStringColumn("KIND", 20) + ", " 
+        + getIntegerColumn("OCC_COUNT") + ", " 
+        + "PRIMARY KEY(ID))";
+    }
+    
+    protected String getCreateVisit() {
+        return "CREATE TABLE VISIT (" 
+        + getIntegerColumn("ID") + " NOT NULL " + getGeneratedKeyClause() + " 
, " 
+        + getTimestampColumn("CHECK_IN") + ", "
+        + getTimestampColumn("CHECK_OUT") + ", "
+        + getIntegerColumn("OCC_COUNT") + ", " 
+        + "PRIMARY KEY(ID))";
+    }
+    
+    
+    // /////////////////
 
+    protected String getForeignKeyConstraint(String pkTable, String pkColumn, 
String foreignKey) {
+        StringBuffer buffer = new StringBuffer();
+        buffer.append("CONSTRAINT FK1 FOREIGN KEY (");
+        buffer.append(foreignKey);
+        buffer.append(") REFERENCES ");
+        buffer.append(pkTable);
+        buffer.append("(");
+        buffer.append(pkColumn);
+        buffer.append(") ON DELETE NO ACTION ON UPDATE NO ACTION");
+        return buffer.toString();
+    }
+
+    protected String getStringColumn(String name, int length) {
+        return name + ' ' + stringType + "(" + new Integer(length).toString() 
+ ")";
+    }
+
+    protected String getIntegerColumn(String name) {
+        return name + ' ' + integerType;
+    }
+
+    protected String getGeneratedKeyClause() {
+        return "GENERATED ALWAYS AS IDENTITY";
+    }
+
+    protected String getDecimalColumn(String name, int size1, int size2) {
+        return name + ' ' + decimalType + "(" + new Integer(size1).toString() 
+ ',' + new Integer(size2).toString() + ")";
+    }
+
+    protected String getFloatColumn(String name) {
+        return name + ' ' + floatType;
+    }
+
+    protected String getTimestampColumn(String name) {
+        return name + ' ' + timestampType;
+    }   
+    
+    
 }

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestData.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestData.java?view=diff&rev=441239&r1=441238&r2=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestData.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/framework/TestData.java
 Thu Sep  7 14:44:47 2006
@@ -21,13 +21,21 @@
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
 public abstract class TestData {
        
        protected Object[][] data;
        private int currentRow = -1;
        protected Connection connection;
-       
+    
+    
+    protected static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd 
hh:ss:mm.SSS");
+    protected static Timestamp timestamp = getTimestamp();
 
        public TestData(Connection c, Object[][] customerData) {
                this.connection = c; 
@@ -88,4 +96,32 @@
                }
                ps.close();
        }
+    
+    //Utilities
+    protected static Date getDate() {
+        
+        try {
+            return dateFormat.parse("1966-12-20 00:00:00.0");
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    
+    protected static Date getDate(String timeStamp) {
+        
+        try {
+            return dateFormat.parse("1966-12-20 00:00:00.0");
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+    }
+    
+    public static Timestamp getTimestamp() {
+        return new Timestamp(getDate().getTime());
+    }
+    
+    public static Timestamp getTimestamp(String timeStamp) {
+        return new Timestamp(getDate(timeStamp).getTime());
+    }
+    
 }

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java?view=diff&rev=441239&r1=441238&r2=441239
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/suites/AllCommonTests.java
 Thu Sep  7 14:44:47 2006
@@ -35,6 +35,7 @@
 import org.apache.tuscany.das.rdb.test.GeneratedId;
 import org.apache.tuscany.das.rdb.test.GraphMergeTests;
 import org.apache.tuscany.das.rdb.test.ImpliedRelationshipTests;
+import org.apache.tuscany.das.rdb.test.KennelTests;
 import org.apache.tuscany.das.rdb.test.NameMappingTests;
 import org.apache.tuscany.das.rdb.test.OCCTests;
 import org.apache.tuscany.das.rdb.test.OneToOneRelationshipTests;
@@ -97,6 +98,10 @@
         suite.addTest(new TestSuite (AliasTests.class));
        
         suite.addTest(new TestSuite (ImpliedRelationshipTests.class));
+        
+        suite.addTest(new TestSuite (KennelTests.class));
+    
+        
                //$JUnit-END$
                return suite;
        }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to