You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by kw...@apache.org on 2006/02/22 00:05:07 UTC

svn commit: r379616 - in /incubator/tuscany/java/das/rdb/src: main/java/org/apache/tuscany/das/rdb/impl/ApplyChangesCommandImpl.java test/java/org/apache/tuscany/das/rdb/test/DefectTests.java

Author: kwilliams
Date: Tue Feb 21 15:05:03 2006
New Revision: 379616

URL: http://svn.apache.org/viewcvs?rev=379616&view=rev
Log:
Test and fix for TUSCANY-35

Modified:
    incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ApplyChangesCommandImpl.java
    incubator/tuscany/java/das/rdb/src/test/java/org/apache/tuscany/das/rdb/test/DefectTests.java

Modified: incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ApplyChangesCommandImpl.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ApplyChangesCommandImpl.java?rev=379616&r1=379615&r2=379616&view=diff
==============================================================================
--- incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ApplyChangesCommandImpl.java (original)
+++ incubator/tuscany/java/das/rdb/src/main/java/org/apache/tuscany/das/rdb/impl/ApplyChangesCommandImpl.java Tue Feb 21 15:05:03 2006
@@ -113,9 +113,13 @@
     public void execute(DataObject root) {
         DebugUtil.debugln(getClass(), debug, "Executing ApplyChangesCmd");
 
+        //Assertions
         if (dasConnection == null)
-            throw new RuntimeException("A connection must be provided");
+            throw new Error("A connection must be provided");
 
+        if (!root.equals(root.getDataGraph().getRootObject()))
+            throw new Error("'root' argument must be the root of the datagraph");
+        
         Changes changes = summarizer.loadChanges(root);
 
         boolean success = false;

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=379616&r1=379615&r2=379616&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 Feb 21 15:05:03 2006
@@ -297,4 +297,30 @@
 
     }
     
+    /**
+     * Test bug reported by Philip K Warren
+     * Silent fail if a non-datagraph root is passed to ApplyChangesCommand
+     */     
+    public void testTuscany35() throws Exception {
+
+        CommandGroup commandGroup = CommandGroup.FACTORY.createCommandGroup(getConfig("CustOrdersConnectionProps.xml"));
+
+        Command read = commandGroup.getCommand("all customers");
+        DataObject root = read.executeQuery();
+ 
+        //Update first customer
+        DataObject cust1 = root.getDataObject("CUSTOMER[1]");
+        cust1.setString("LASTNAME", "Pavick");
+ 
+        ApplyChangesCommand update = commandGroup.getApplyChangesCommand();
+        //pass cust1 instead of root
+        update.execute(cust1);
+//        update.execute(root);
+
+        // Verify update - reuse select command
+        root = read.executeQuery();
+        assertEquals("Pavick", root.get("CUSTOMER[1]/LASTNAME"));
+
+    }
+    
 }