Author: kwilliams
Date: Tue Apr 25 21:36:40 2006
New Revision: 397086

URL: http://svn.apache.org/viewcvs?rev=397086&view=rev
Log:
Cleaning up Command interface (TUSCANY-230)

Modified:
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OCCTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RelationshipTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ResultSetShapeTests.java
    
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/StoredProcs.java

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CUDGeneration.java
 Tue Apr 25 21:36:40 2006
@@ -121,44 +121,5 @@
                apply.execute(root);
 
        }
-
-       /**
-        * Same as previous version but uses explicit model creation
-        */
-       public void testReadModifyApply2() throws Exception {
-
-               // Build the select command
-               Command select = Command.FACTORY
-                               .createCommand("SELECT * FROM CUSTOMER LEFT 
JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID");
-
-               // Set minimum metadata necessary to describe relationship
-               select.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-               select.addPrimaryKey("CUSTOMER.ID");
-               select.addPrimaryKey("ANORDER.ID");
-
-               // Parameterize the command
-               select.setConnection(getConnection());
-               select.setParameterValue("ID", new Integer(1));
-
-               // Get the graph
-               DataObject root = select.executeQuery();
-
-               // Modify a customer
-               DataObject customer = (DataObject) root.get("CUSTOMER[1]");
-               customer.set("LASTNAME", "Pavick");
-
-               // Modify an order
-               DataObject order = (DataObject) 
customer.getList("ANORDER").get(0);
-               order.setString("PRODUCT", "Kitchen Sink 001");
-
-               ApplyChangesCommand apply = 
Command.FACTORY.createApplyChangesCommand();
-               apply.setConnection(getConnection());
-               apply.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-               apply.addPrimaryKey("CUSTOMER.ID");
-               apply.addPrimaryKey("ANORDER.ID");
-               // Flush changes
-               apply.execute(root);
-
-       }
        
 }

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompanyTests.java
 Tue Apr 25 21:36:40 2006
@@ -79,13 +79,11 @@
         Command selectCommand = Command.FACTORY.createCommand("select 
COMPANY.NAME, "
                 + "EMPLOYEE.NAME, EMPLOYEE.SN, EMPLOYEE.MANAGER, "
                 + "DEPARTMENT.NAME, DEPARTMENT.LOCATION, DEPARTMENT.NUMBER 
from COMPANY, DEPARTMENT, EMPLOYEE "
-                + "where COMPANY.ID=DEPARTMENT.COMPANYID and 
DEPARTMENT.ID=EMPLOYEE.DEPARTMENTID", getConfig("companyMapping.xml"));
+                + "where COMPANY.ID=DEPARTMENT.COMPANYID and 
DEPARTMENT.ID=EMPLOYEE.DEPARTMENTID", 
getConfig("companyMappingWithConverters.xml"));
 
         // Parameterize the command
         selectCommand.setConnection(getConnection());
         
selectCommand.setDataObjectModel(TypeHelper.INSTANCE.getType(DatagraphRoot.class));
-        selectCommand.addConverter("DEPARTMENT.NUMBER", 
"org.apache.tuscany.das.rdb.test.mappings.StringToIntegerConverter");
-        selectCommand.addConverter("EMPLOYEE.MANAGER", 
"org.apache.tuscany.das.rdb.test.mappings.IntegerToBooleanConverter");
 
         // Get the graph
         DatagraphRoot root = (DatagraphRoot) selectCommand.executeQuery();

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CompoundKeyTests.java
 Tue Apr 25 21:36:40 2006
@@ -19,6 +19,7 @@
 import org.apache.tuscany.das.rdb.ApplyChangesCommand;
 import org.apache.tuscany.das.rdb.Command;
 import org.apache.tuscany.das.rdb.Key;
+import org.apache.tuscany.das.rdb.test.data.OrderData;
 import org.apache.tuscany.das.rdb.test.data.OrderDetailsData;
 import org.apache.tuscany.das.rdb.test.framework.DasTest;
 
@@ -33,6 +34,7 @@
         super.setUp();
 
         new OrderDetailsData(getAutoConnection()).refresh();
+        new OrderData(getAutoConnection()).refresh();
     }
 
     protected void tearDown() throws Exception {
@@ -55,7 +57,7 @@
 
     }
 
-    public void testReadModifyWrite() throws Exception {
+    public void testReadModifyWrite2() throws Exception {
 
         Command getOrderDetails = Command.FACTORY
                 .createCommand("Select * from ORDERDETAILS where ORDERID = 1 
AND PRODUCTID = 1");
@@ -69,37 +71,25 @@
         orderDetails.setFloat("PRICE", 0f);
 
         // Build apply changes command
-        ApplyChangesCommand apply = 
Command.FACTORY.createApplyChangesCommand();
+        ApplyChangesCommand apply = 
Command.FACTORY.createApplyChangesCommand(getConfig("OrdersOrderDetailsConfig.xml"));
         apply.setConnection(getConnection());
-        // programatically add the only part of the mapping model needed for
-        // this simple case
-        apply.addPrimaryKey(new Key(new String[] { "ORDERDETAILS.ORDERID", 
"ORDERDETAILS.PRODUCTID" }));
 
         // Write
         apply.execute(root);
 
         // Verify
+        root = getOrderDetails.executeQuery();
         orderDetails = root.getDataObject("ORDERDETAILS[1]");
         assertEquals(0f, orderDetails.getFloat("PRICE"), 0.01);
 
     }
-
-    public void testReadOrdersAndDetails() throws Exception {
+    
+    public void testReadOrdersAndDetails2() throws Exception {
 
         Command read = Command.FACTORY
-                .createCommand("SELECT * FROM ANORDER LEFT JOIN ORDERDETAILS 
ON ANORDER.ID = ORDERDETAILS.ORDERID ORDER BY ANORDER.ID");
+                .createCommand("SELECT * FROM ANORDER LEFT JOIN ORDERDETAILS 
ON ANORDER.ID = ORDERDETAILS.ORDERID ORDER BY ANORDER.ID", 
getConfig("OrdersOrderDetailsConfig.xml"));
         read.setConnection(getConnection());
 
-        Key pk = new Key("ANORDER.ID");
-        read.addPrimaryKey(pk);
-          
-        Key detailsPk = new Key(new String[] { "ORDERDETAILS.ORDERID", 
"ORDERDETAILS.PRODUCTID" });
-        read.addPrimaryKey(detailsPk);
-
-        Key fk = new Key("ORDERDETAILS.ORDERID");
-
-        read.addRelationship(pk, fk);
-
         DataObject root = read.executeQuery();
 
         DataObject firstOrder = root.getDataObject("ANORDER[1]");
@@ -107,5 +97,4 @@
         assertEquals(2, firstOrder.getList("ORDERDETAILS").size());
 
     }
-
 }

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ConverterTests.java
 Tue Apr 25 21:36:40 2006
@@ -81,7 +81,7 @@
        public void testArbitraryConverter() throws Exception {
                
                //Create and initialize command to read customers
-               Command read = Command.FACTORY.createCommand("select * from 
CUSTOMER where ID = 1");    
+               Command read = Command.FACTORY.createCommand("select * from 
CUSTOMER where ID = 1", getConfig("CustomerConfigWithConverter.xml"));      
                read.setConnection(getConnection());
 
                String[] columns = { "ID", "LASTNAME", "ADDRESS" };
@@ -89,9 +89,7 @@
                Type[] types = { SDODataTypes.INTEGEROBJECT, SDODataTypes.DATE, 
SDODataTypes.STRING };
                ResultSetShape shape = new ResultSetShape(tables, columns, 
types);
                read.setResultSetShape(shape);
-               
-               read.addConverter("CUSTOMER.LASTNAME", 
"org.apache.tuscany.das.rdb.test.mappings.SillyDateStringConverter");
-                               
+                                               
                //Read
                DataObject root = read.executeQuery();
                

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/CorrectedDefectTests.java
 Tue Apr 25 21:36:40 2006
@@ -44,11 +44,11 @@
         super.setUp();
         new CustomerData(getAutoConnection()).refresh();
         new OrderData(getAutoConnection()).refresh();
-        
+
         new CompanyData(getAutoConnection()).refresh();
         new DepartmentData(getAutoConnection()).refresh();
         new CompanyDeptData(getAutoConnection()).refresh();
-        
+
     }
 
     protected void tearDown() throws Exception {
@@ -61,53 +61,43 @@
     public void testAddNewOrder() throws Exception {
 
         // Read some customers and related orders
-        Command select = Command.FACTORY
-                .createCommand("SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON 
CUSTOMER.ID = ANORDER.CUSTOMER_ID");
+        Command select = Command.FACTORY.createCommand(
+                "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = 
ANORDER.CUSTOMER_ID",
+                getConfig("CustomersOrdersConfig.xml"));
         select.setConnection(getConnection());
 
-        // Set minimum metadata necessary to describe relationship
-        select.addRelationship("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();
-//        int rootCount = root.getList("ANORDER").size();
-        
+        int custOrderCount = cust.getList("orders").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);
+        cust.getList("orders").add(order);
 
-        assertEquals(custOrderCount + 1, cust.getList("ANORDER").size());
+        assertEquals(custOrderCount + 1, cust.getList("orders").size());
         // Build apply changes command
-        ApplyChangesCommand apply = 
Command.FACTORY.createApplyChangesCommand();
+        ApplyChangesCommand apply = 
Command.FACTORY.createApplyChangesCommand(getConfig("CustomersOrdersConfig.xml"));
         apply.setConnection(getConnection());
 
-        // Metadata
-        apply.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-        apply.addPrimaryKey("CUSTOMER.ID");
-        apply.addPrimaryKey("ANORDER.ID");
-
         // Flush changes
         apply.execute(root);
 
         // verify cust1 relationship updates
         select = Command.FACTORY
-                .createCommand("SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON 
CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID");
+                .createCommand("SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON 
CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = 
:ID",getConfig("CustomersOrdersConfig.xml"));
         select.setConnection(getConnection());
         select.setParameterValue("ID", new Integer(custID));
-
-        select.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
         root = select.executeQuery();
 
-        assertEquals(custOrderCount + 1, 
root.getList("CUSTOMER[1]/ANORDER").size());
+        assertEquals(custOrderCount + 1, 
root.getList("CUSTOMER[1]/orders").size());
 
     }
 
@@ -137,7 +127,8 @@
     public void testWASDefect330118() throws Exception {
 
         // Create the group and set common connection
-        CommandGroup commandGroup = 
CommandGroup.FACTORY.createCommandGroup(getConfig("CustomersOrdersConfig.xml"));
+        CommandGroup commandGroup = CommandGroup.FACTORY
+                .createCommandGroup(getConfig("CustomersOrdersConfig.xml"));
         commandGroup.setConnection(getConnection());
 
         // Read all customers and add one
@@ -163,12 +154,12 @@
     }
 
     /**
-     * Should be able to explicitly set a parameter to null.  But, should 
require
+     * Should be able to explicitly set a parameter to null. But, should 
require
      * that the parameter type is set.
      */
     public void testDiltonsNullParameterBug1() throws Exception {
-        
-        Command insert = Command.FACTORY.createCommand("insert into CUSTOMER 
values (:ID, :LASTNAME, :ADDRESS)");   
+
+        Command insert = Command.FACTORY.createCommand("insert into CUSTOMER 
values (:ID, :LASTNAME, :ADDRESS)");
         insert.setConnection(getConnection());
         insert.setParameterValue("ID", new Integer(10));
         insert.setParameterValue("LASTNAME", null);
@@ -176,79 +167,78 @@
         insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr");
         insert.execute();
 
-        //Verify
+        // Verify
         Command select = Command.FACTORY.createCommand("Select * from CUSTOMER 
where ID = 10");
         select.setConnection(getConnection());
-        DataObject root = select.executeQuery();    
+        DataObject root = select.executeQuery();
         assertEquals(1, root.getList("CUSTOMER").size());
         assertEquals("5528 Wells Fargo Dr", root.get("CUSTOMER[1]/ADDRESS"));
 
     }
-   
 
     /**
      * Error by not setting a parameter
-     */    
+     */
     public void testDiltonsNullParameterBug2() throws Exception {
-        
-        Command insert = Command.FACTORY.createCommand("insert into CUSTOMER 
values (:ID, :LASTNAME, :ADDRESS)");   
+
+        Command insert = Command.FACTORY.createCommand("insert into CUSTOMER 
values (:ID, :LASTNAME, :ADDRESS)");
         insert.setConnection(getConnection());
         insert.setParameterValue("ID", new Integer(10));
-//        insert.setParameterValue("LASTNAME", null);
+        // insert.setParameterValue("LASTNAME", null);
         insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr");
-        
+
         try {
             insert.execute();
             fail();
+        } catch (RuntimeException e) {
+            // Expected since "LASTNAME" parameter not set
         }
-        catch (RuntimeException e) {
-            //Expected since "LASTNAME" parameter not set
-        }
-    }    
-    
+    }
+
     /**
      * Set parameter to empty string
-     */    
+     */
     public void testDiltonsNullParameterBug3() throws Exception {
-        
-        Command insert = Command.FACTORY.createCommand("insert into CUSTOMER 
values (:ID, :LASTNAME, :ADDRESS)");   
+
+        Command insert = Command.FACTORY.createCommand("insert into CUSTOMER 
values (:ID, :LASTNAME, :ADDRESS)");
         insert.setConnection(getConnection());
         insert.setParameterValue("ID", new Integer(10));
         insert.setParameterValue("LASTNAME", "");
         insert.setParameterValue("ADDRESS", "5528 Wells Fargo Dr");
         insert.execute();
 
-        //Verify
+        // Verify
         Command select = Command.FACTORY.createCommand("Select * from CUSTOMER 
where ID = 10");
         select.setConnection(getConnection());
-        DataObject root = select.executeQuery();    
+        DataObject root = select.executeQuery();
         assertEquals(1, root.getList("CUSTOMER").size());
         assertEquals("5528 Wells Fargo Dr", root.get("CUSTOMER[1]/ADDRESS"));
 
     }
-    
+
     public void testUpdateChildThatHasGeneratedKey() throws Exception {
 
         CommandGroup commandGroup = 
CommandGroup.FACTORY.createCommandGroup(getConfig("CompanyConfig.xml"));
-                        
-        //Read a specific company based on the known ID
+
+        // Read a specific company based on the known ID
         Command readCust = commandGroup.getCommand("all companies and 
departments");
-        DataObject root = readCust.executeQuery();       
+        DataObject root = readCust.executeQuery();
         DataObject lastCustomer = root.getDataObject("COMPANY[3]");
         Iterator i = lastCustomer.getList("departments").iterator();
         Random generator = new Random();
         int random = generator.nextInt(1000) + 1;
         DataObject department;
         while (i.hasNext()) {
-            department = (DataObject)i.next();
-//            System.out.println("Modifying department: " + 
department.getString("NAME"));
+            department = (DataObject) i.next();
+            // System.out.println("Modifying department: " +
+            // department.getString("NAME"));
             department.setString("NAME", "Dept-" + random);
             random = random + 1;
-        } 
-        
+        }
+
         ApplyChangesCommand apply = commandGroup.getApplyChangesCommand();
         apply.execute(root);
-        
-    }  
-    
+
+    }
+
 }

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java
 Tue Apr 25 21:36:40 2006
@@ -82,65 +82,7 @@
 
     }
 
-    /**
-     * Dilton's bug for adding new child data object
-     */
-    public void testAddNewOrder() throws Exception {
 
-        // Read some customers and related orders
-        Command select = Command.FACTORY
-                .createCommand("SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON 
CUSTOMER.ID = ANORDER.CUSTOMER_ID");
-        select.setConnection(getConnection());
-
-        // Set minimum metadata necessary to describe relationship
-        select.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-        select.addPrimaryKey("CUSTOMER.ID");
-        select.addPrimaryKey("ANORDER.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();
-        int rootCount = root.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
-        ApplyChangesCommand apply = 
Command.FACTORY.createApplyChangesCommand();
-        apply.setConnection(getConnection());
-
-        // Metadata
-        apply.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-        apply.addPrimaryKey("CUSTOMER.ID");
-        apply.addPrimaryKey("ANORDER.ID");
-
-        // Flush changes
-        apply.execute(root);
-
-        // verify cust1 relationship updates
-        select = Command.FACTORY
-                .createCommand("SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON 
CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID");
-        select.setConnection(getConnection());
-        select.setParameterValue("ID", new Integer(custID));
-
-        select.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-        select.addPrimaryKey("CUSTOMER.ID");
-        select.addPrimaryKey("ANORDER.ID");
-        root = select.executeQuery();
-
-        assertEquals(custOrderCount + 1, 
root.getList("CUSTOMER[1]/ANORDER").size());
-
-    }
 
     public void testDiltonsInsertWorkaround() throws Exception {
 

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/GraphMergeTests.java
 Tue Apr 25 21:36:40 2006
@@ -87,77 +87,68 @@
 
        }
 
-       public void testMultiTableMerge() throws Exception {
-               //Read some customers and related orders
-               Command select = Command.FACTORY.createCommand(
-                               "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON 
CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID ");      
-               select.setConnection(getConnection());
+    
+    public void testMultiTableMerge2() throws Exception {
+        //Read some customers and related orders
+        Command select = Command.FACTORY.createCommand(
+                "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = 
ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID", 
getConfig("CustomersOrdersConfig.xml"));  
+        select.setConnection(getConnection());
+        
+        select.setConnection(getConnection());
+        select.setParameterValue("ID", new Integer(1));
+        DataObject graph1 = select.executeQuery();
+        
+        DataObject customer = (DataObject)graph1.getList("CUSTOMER").get(0);
+        assertEquals(2, customer.getList("orders").size());    
+        
+        select.setParameterValue("ID", new Integer(2));
+        DataObject graph2 = select.executeQuery();
+        DataObject customer2 = (DataObject)graph2.getList("CUSTOMER").get(0);
+        assertEquals(1, graph2.getList("CUSTOMER").size());
+        assertEquals(1, customer2.getList("orders").size());
+        assertEquals(2, customer2.getInt("ID"));
+        
+        GraphMerger merger = new GraphMerger();
+        merger.addPrimaryKey("CUSTOMER.ID");
+        merger.addPrimaryKey("ANORDER.ID");
+        DataObject mergedGraph = merger.merge(graph1, graph2);
+        
+        assertEquals(3, mergedGraph.getList("ANORDER").size());
+        assertEquals(2, mergedGraph.getList("CUSTOMER").size());
+        
+        DataObject mergedCustomer = (DataObject) 
mergedGraph.getList("CUSTOMER").get(1);
+        assertEquals(2, mergedCustomer.getInt("ID"));
+        assertEquals(1, mergedCustomer.getList("orders").size());
+        DataObject mergedOrder = (DataObject) 
mergedCustomer.getList("orders").get(0);
+        assertEquals(4, mergedOrder.getInt("ID"));
+        
+    }
+    
+    public void testMultiTableAppendSingleTable2() throws Exception {
+        //Read some customers and related orders
+        Command select = Command.FACTORY.createCommand(
+                "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON CUSTOMER.ID = 
ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID", 
getConfig("CustomersOrdersConfig.xml"));  
+        select.setConnection(getConnection());
+        
+        select.setConnection(getConnection());
+        select.setParameterValue("ID", new Integer(1));
+        DataObject graph1 = select.executeQuery();
+        
+        DataObject customer = (DataObject)graph1.getList("CUSTOMER").get(0);
+        assertEquals(2, customer.getList("orders").size());
+        
+        Command select2 = Command.FACTORY.createCommand("select * from 
ANORDER");
+        select2.setConnection(getConnection());
+        DataObject graph2 = select2.executeQuery();
+        assertEquals(4, graph2.getList("ANORDER").size());
+        
+        GraphMerger merger = new GraphMerger();
+        merger.addPrimaryKey("CUSTOMER.ID");
+        merger.addPrimaryKey("ANORDER.ID");
+        DataObject mergedGraph = merger.merge(graph1, graph2);
+        assertEquals(4, mergedGraph.getList("ANORDER").size());
+        assertEquals(1, mergedGraph.getList("CUSTOMER").size());
+    }
 
-               //Set minimum metadata necessary to describe relationship
-               select.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-               select.addPrimaryKey("CUSTOMER.ID");
-               select.addPrimaryKey("ANORDER.ID");
-               
-               select.setConnection(getConnection());
-               select.setParameterValue("ID", new Integer(1));
-               DataObject graph1 = select.executeQuery();
-               
-               DataObject customer = 
(DataObject)graph1.getList("CUSTOMER").get(0);
-               assertEquals(2, customer.getList("ANORDER").size());    
-               
-               select.setParameterValue("ID", new Integer(2));
-               DataObject graph2 = select.executeQuery();
-               DataObject customer2 = 
(DataObject)graph2.getList("CUSTOMER").get(0);
-               assertEquals(1, graph2.getList("CUSTOMER").size());
-               assertEquals(1, customer2.getList("ANORDER").size());
-               assertEquals(2, customer2.getInt("ID"));
-               
-               GraphMerger merger = new GraphMerger();
-               merger.addPrimaryKey("CUSTOMER.ID");
-               merger.addPrimaryKey("ANORDER.ID");
-               DataObject mergedGraph = merger.merge(graph1, graph2);
-               
-               assertEquals(3, mergedGraph.getList("ANORDER").size());
-               assertEquals(2, mergedGraph.getList("CUSTOMER").size());
-               
-               DataObject mergedCustomer = (DataObject) 
mergedGraph.getList("CUSTOMER").get(1);
-               assertEquals(2, mergedCustomer.getInt("ID"));
-               assertEquals(1, mergedCustomer.getList("ANORDER").size());
-               DataObject mergedOrder = (DataObject) 
mergedCustomer.getList("ANORDER").get(0);
-               assertEquals(4, mergedOrder.getInt("ID"));
-               
-
-       }
-       
-       public void testMultiTableAppendSingleTable() throws Exception {
-               //Read some customers and related orders
-               Command select = Command.FACTORY.createCommand(
-                               "SELECT * FROM CUSTOMER LEFT JOIN ANORDER ON 
CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID ");      
-               select.setConnection(getConnection());
-
-               //Set minimum metadata necessary to describe relationship
-               select.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-               select.addPrimaryKey("CUSTOMER.ID");
-               select.addPrimaryKey("ANORDER.ID");
-               
-               select.setConnection(getConnection());
-               select.setParameterValue("ID", new Integer(1));
-               DataObject graph1 = select.executeQuery();
-               
-               DataObject customer = 
(DataObject)graph1.getList("CUSTOMER").get(0);
-               assertEquals(2, customer.getList("ANORDER").size());
-               
-               Command select2 = Command.FACTORY.createCommand("select * from 
ANORDER");
-               select2.setConnection(getConnection());
-               DataObject graph2 = select2.executeQuery();
-               assertEquals(4, graph2.getList("ANORDER").size());
-               
-               GraphMerger merger = new GraphMerger();
-               merger.addPrimaryKey("CUSTOMER.ID");
-               merger.addPrimaryKey("ANORDER.ID");
-               DataObject mergedGraph = merger.merge(graph1, graph2);
-               assertEquals(4, mergedGraph.getList("ANORDER").size());
-               assertEquals(1, mergedGraph.getList("CUSTOMER").size());
-       }
 
 }

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OCCTests.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OCCTests.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OCCTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/OCCTests.java
 Tue Apr 25 21:36:40 2006
@@ -37,7 +37,6 @@
                //Read a book instance
                Command select = Command.FACTORY.createCommand("SELECT * FROM 
BOOK WHERE ID = 1");
                select.setConnection(getConnection());
-               select.addPrimaryKey("BOOK.ID");
                DataObject root = select.executeQuery();
                DataObject book = root.getDataObject("BOOK[1]");
                //Change a field to mark the instance 'dirty'

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RecursiveTests.java
 Tue Apr 25 21:36:40 2006
@@ -40,10 +40,9 @@
                //Table definition
                //CREATE TABLE PART (ID INT PRIMARY KEY NOT NULL, NAME 
VARCHAR(50), QUANTITY INT, PARENT_ID INT );
 
-
                String threeLevelPartsSQL = "SELECT P1.*, P2.*, P3.* FROM PART 
AS P1 LEFT JOIN PART AS P2 ON P1.ID = P2.PARENT_ID "
                                + "LEFT JOIN PART AS P3 on P2.ID = P3.PARENT_ID 
WHERE P1.ID = 1";
-               Command select = 
Command.FACTORY.createCommand(threeLevelPartsSQL);
+               Command select = 
Command.FACTORY.createCommand(threeLevelPartsSQL, getConfig("PartsConfig.xml"));
                select.setConnection(getConnection());
 
                String[] columns = {"ID", "NAME", "QUANTITY", "PARENT_ID", 
"ID", "NAME", "QUANTITY", "PARENT_ID", "ID", "NAME", "QUANTITY", "PARENT_ID"};
@@ -56,8 +55,6 @@
                
                // Need to set the key explicitly. The aggregate of columns not 
working
                // because of null values
-               select.addPrimaryKey("PART.ID");
-               select.addRelationship("PART.ID", "PART.PARENT_ID");
                DataObject root = select.executeQuery();
 
                assertEquals(5, root.getList("PART").size());
@@ -65,10 +62,10 @@
                DataObject engine = root.getDataObject("PART.0");
                assertEquals("Engine", engine.getString("NAME"));
                
-               assertEquals(3, engine.getList("PART").size());
+               assertEquals(3, engine.getList("subparts").size());
                
                DataObject piston = null;
-               Iterator i = engine.getList("PART").iterator();
+               Iterator i = engine.getList("subparts").iterator();
                while ( i.hasNext() ) {
                        DataObject obj = (DataObject)i.next();
                        if ( obj.getString("NAME").equals("Piston"))
@@ -76,8 +73,8 @@
                }
                
                assertEquals("Piston", piston.getString("NAME"));
-               assertEquals(1, piston.getList("PART").size());
-               assertEquals("Piston Ring", 
piston.getDataObject("PART.0").getString("NAME"));
+               assertEquals(1, piston.getList("subparts").size());
+               assertEquals("Piston Ring", 
piston.getDataObject("subparts.0").getString("NAME"));
 
        }
        

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RelationshipTests.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RelationshipTests.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RelationshipTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/RelationshipTests.java
 Tue Apr 25 21:36:40 2006
@@ -64,80 +64,6 @@
        }
 
        /**
-        * Test ability to extract and flush relationhip changes from the change
-        * history
-        */
-       public void testRelationshipModification() throws Exception {
-
-               // Read some customers and related orders
-               Command select = Command.FACTORY
-                               .createCommand("SELECT * FROM CUSTOMER LEFT 
JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID");
-               select.setConnection(getConnection());
-
-               // Set minimum metadata necessary to describe relationship
-               // Maybe something like this ...
-               select.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-               select.addPrimaryKey("CUSTOMER.ID");
-               select.addPrimaryKey("ANORDER.ID");
-
-               DataObject root = select.executeQuery();
-
-               DataObject cust1 = root.getDataObject("CUSTOMER[1]");
-               DataObject cust2 = root.getDataObject("CUSTOMER[2]");
-
-               // Save IDs
-               Integer cust1ID = (Integer) cust1.get("ID");
-               Integer cust2ID = (Integer) cust2.get("ID");
-               // save order count
-               Integer cust1OrderCount = new 
Integer(cust1.getList("ANORDER").size());
-               Integer cust2OrderCount = new 
Integer(cust2.getList("ANORDER").size());
-
-               // Move an order to cust1 from cust2
-               DataObject order = (DataObject) cust2.getList("ANORDER").get(0);
-               cust1.getList("ANORDER").add(order);
-
-               // Build apply changes command
-               ApplyChangesCommand apply = Command.FACTORY
-                               .createApplyChangesCommand();
-               apply.setConnection(getConnection());
-
-               // Manually create and add commands
-               Command update = Command.FACTORY
-                               .createCommand("update ANORDER set CUSTOMER_ID 
= :CUSTOMER_ID where ID = :ID");
-               update.addParameter("CUSTOMER_ID", SDODataTypes.INTEGER);
-               update.addParameter("ID", SDODataTypes.INTEGER);
-               update.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-               update.addPrimaryKey("CUSTOMER.ID");
-               update.addPrimaryKey("ANORDER.ID");
-               apply.addUpdateCommand(order.getType(), update);
-
-               // Flush changes
-               apply.execute(root);
-
-               // verify cust1 relationship updates
-               select = Command.FACTORY
-                               .createCommand("SELECT * FROM CUSTOMER LEFT 
JOIN ANORDER ON CUSTOMER.ID = ANORDER.CUSTOMER_ID where CUSTOMER.ID = :ID");
-               select.setConnection(getConnection());
-               select.setParameterValue("ID", cust1ID);
-
-               select.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
-               select.addPrimaryKey("CUSTOMER.ID");
-               select.addPrimaryKey("ANORDER.ID");
-               root = select.executeQuery();
-
-               assertEquals(cust1OrderCount.intValue() + 1, root.getList(
-                               "CUSTOMER[1]/ANORDER").size());
-
-               // verify cust2 relationship updates
-               select.setParameterValue("ID", cust2ID);
-               root = select.executeQuery();
-
-               assertEquals(cust2OrderCount.intValue() - 1, root.getList(
-                               "CUSTOMER[1]/ANORDER").size());
-
-       }
-
-       /**
         * Same as above except uses xml file for relationhip and key 
information.
         * Employs CUD generation.
         */

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ResultSetShapeTests.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ResultSetShapeTests.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ResultSetShapeTests.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/ResultSetShapeTests.java
 Tue Apr 25 21:36:40 2006
@@ -22,7 +22,6 @@
 import org.apache.tuscany.das.rdb.test.data.CustomerData;
 import org.apache.tuscany.das.rdb.test.framework.DasTest;
 
-
 import commonj.sdo.DataObject;
 import commonj.sdo.Type;
 
@@ -35,74 +34,72 @@
  */
 public class ResultSetShapeTests extends DasTest {
 
-       protected void setUp() throws Exception {
-               super.setUp();
-               new CustomerData(getAutoConnection()).refresh();
-       }
-
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-
-       /**
-        * Read a specific customer
-        */
-       public void testReadSingle() throws Exception {
-
-               // Using literals in the select forces invalid resultset 
metadata
-               String sqlString = "Select 99, 'Roosevelt', '1600 Pennsylvania 
Avenue' from customer";
-               String[] columns = { "ID", "LASTNAME", "ADDRESS" };
-               String[] tables = { "CUSTOMER", "CUSTOMER", "CUSTOMER" };
-               Type[] types = { SDODataTypes.LONG, SDODataTypes.STRING,
-                               SDODataTypes.STRING };
-
-               ResultSetShape shape = new ResultSetShape(tables, columns, 
types);
-
-               // Create and initialize command to read customers
-               Command readCustomers = 
Command.FACTORY.createCommand(sqlString);
-               readCustomers.addConverter("CUSTOMER.ID", 
"org.apache.tuscany.das.rdb.test.mappings.StringToLongConverter");
-               // Specify result shape
-               readCustomers.setResultSetShape(shape);
-
-               readCustomers.setConnection(getConnection());
-
-               // Read
-               DataObject root = readCustomers.executeQuery();
-
-               // Verify
-               assertEquals(5, root.getList("CUSTOMER").size());
-               assertEquals(99, root.getInt("CUSTOMER[1]/ID"));
-               assertEquals("Roosevelt", 
root.getString("CUSTOMER[1]/LASTNAME"));
-               assertEquals("1600 Pennsylvania Avenue", root
-                               .getString("CUSTOMER[1]/ADDRESS"));
-
-       }
-
-       /**
-        * Read a specific customer This duplicates the previous tests but does 
not
-        * provide the shape info. Since the select will not return valid 
metadata,
-        * this test is expected to fail
-        */
-       public void testReadSingleVerifyShapeUse() throws Exception {
-
-               // Using literals in the select forces invalid resultset 
metadata
-               String sqlString = "Select 99, 'Roosevelt', '1600 Pennsylvania 
Avenue' from customer";
-
-               // Create and initialize command to read customers
-               Command readCustomers = 
Command.FACTORY.createCommand(sqlString);
-               readCustomers.setConnection(getConnection());
-
-               // Read
-               DataObject root = readCustomers.executeQuery();
-
-               // Verify
-               try {
-                       assertEquals(5, root.getList("CUSTOMER").size());
-                       fail("Should fail since there will be no feature named 
CUSTOMER");
-               } catch (IllegalArgumentException e) {
-                       // OK
-               }
+    protected void setUp() throws Exception {
+        super.setUp();
+        new CustomerData(getAutoConnection()).refresh();
+    }
+
+    protected void tearDown() throws Exception {
+        super.tearDown();
+    }
+
+    /**
+     * Read a specific customer
+     */
+    public void testReadSingle() throws Exception {
+
+        // Using literals in the select forces invalid resultset metadata
+        String sqlString = "Select 99, 'Roosevelt', '1600 Pennsylvania Avenue' 
from customer";
+        String[] columns = { "ID", "LASTNAME", "ADDRESS" };
+        String[] tables = { "CUSTOMER", "CUSTOMER", "CUSTOMER" };
+        Type[] types = { SDODataTypes.LONG, SDODataTypes.STRING, 
SDODataTypes.STRING };
+
+        ResultSetShape shape = new ResultSetShape(tables, columns, types);
+
+        // Create and initialize command to read customers
+        Command readCustomers = Command.FACTORY.createCommand(sqlString,
+                getConfig("CustomerConfigWithIDConverter.xml"));
+        // Specify result shape
+        readCustomers.setResultSetShape(shape);
+
+        readCustomers.setConnection(getConnection());
+
+        // Read
+        DataObject root = readCustomers.executeQuery();
+
+        // Verify
+        assertEquals(5, root.getList("CUSTOMER").size());
+        assertEquals(99, root.getInt("CUSTOMER[1]/ID"));
+        assertEquals("Roosevelt", root.getString("CUSTOMER[1]/LASTNAME"));
+        assertEquals("1600 Pennsylvania Avenue", 
root.getString("CUSTOMER[1]/ADDRESS"));
+
+    }
+
+    /**
+     * Read a specific customer This duplicates the previous tests but does not
+     * provide the shape info. Since the select will not return valid metadata,
+     * this test is expected to fail
+     */
+    public void testReadSingleVerifyShapeUse() throws Exception {
+
+        // Using literals in the select forces invalid resultset metadata
+        String sqlString = "Select 99, 'Roosevelt', '1600 Pennsylvania Avenue' 
from customer";
+
+        // Create and initialize command to read customers
+        Command readCustomers = Command.FACTORY.createCommand(sqlString);
+        readCustomers.setConnection(getConnection());
+
+        // Read
+        DataObject root = readCustomers.executeQuery();
+
+        // Verify
+        try {
+            assertEquals(5, root.getList("CUSTOMER").size());
+            fail("Should fail since there will be no feature named CUSTOMER");
+        } catch (IllegalArgumentException e) {
+            // OK
+        }
 
-       }
+    }
 
 }

Modified: 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/StoredProcs.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/StoredProcs.java?rev=397086&r1=397085&r2=397086&view=diff
==============================================================================
--- 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/StoredProcs.java
 (original)
+++ 
incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/StoredProcs.java
 Tue Apr 25 21:36:40 2006
@@ -83,17 +83,14 @@
        // Retreive heirarchy using a stored proc ... new programming model
        public void testGetCustomersAndOrder() throws Exception {
 
-               Command read = Command.FACTORY.createCommand("{call 
getCustomerAndOrders(?)}");
+               Command read = Command.FACTORY.createCommand("{call 
getCustomerAndOrders(?)}", getConfig("CustomersOrdersConfig.xml"));
                read.setConnection(getConnection());
                read.setParameterValue(1, new Integer(1));
-
-               //Set minimum metadata necessary to describe relationship
-               read.addRelationship("CUSTOMER.ID", "ANORDER.CUSTOMER_ID");
                
                DataObject root = read.executeQuery();
 
                DataObject customer = (DataObject) 
root.getList("CUSTOMER").get(0);
-               assertEquals(2, customer.getList("ANORDER").size());
+               assertEquals(2, customer.getList("orders").size());
 
        }
 


Reply via email to