Update of /var/cvs/src/org/mmbase/storage/implementation/database
In directory james.mmbase.org:/tmp/cvs-serv11751

Modified Files:
        ViewDatabaseStorageManager.java 
        RelationalDatabaseStorageManager.java 
Log Message:
  MMB-1680


See also: 
http://cvs.mmbase.org/viewcvs/src/org/mmbase/storage/implementation/database
See also: http://www.mmbase.org/jira/browse/MMB-1680


Index: ViewDatabaseStorageManager.java
===================================================================
RCS file: 
/var/cvs/src/org/mmbase/storage/implementation/database/ViewDatabaseStorageManager.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- ViewDatabaseStorageManager.java     2 Mar 2007 21:03:05 -0000       1.11
+++ ViewDatabaseStorageManager.java     23 Jul 2008 05:12:09 -0000      1.12
@@ -27,7 +27,7 @@
 /**
  * @javadoc
  *
- * @version $Id: ViewDatabaseStorageManager.java,v 1.11 2007/03/02 21:03:05 
nklasens Exp $
+ * @version $Id: ViewDatabaseStorageManager.java,v 1.12 2008/07/23 05:12:09 
michiel Exp $
  * @since MMBase-1.8
  */
 public class ViewDatabaseStorageManager extends DatabaseStorageManager {
@@ -130,30 +130,32 @@
      * @param builder the builder to change the node in
      * @throws StorageException if an error occurred during change
      */
-    public void change(MMObjectNode node, MMObjectBuilder builder) throws 
StorageException {
+    public int change(MMObjectNode node, MMObjectBuilder builder) throws 
StorageException {
         boolean localTransaction = !inTransaction;
         if (localTransaction) {
             beginTransaction();
         }
         try {
+            int res = 0;
             if (factory.hasOption("database-supports-update-triggers")) {
-               super.change(node, builder);
+                res = super.change(node, builder);
             } else {
                 do {
-                    changeObject(node,builder);
+                    res = changeObject(node,builder);
                     builder = builder.getParentBuilder();
                 } while (builder!=null);
             }
             if (localTransaction) {
                 commit();
             }
+            return res;
         } catch (StorageException se) {
             if (localTransaction && inTransaction) rollback();
             throw se;
         }
     }
 
-    private void changeObject(MMObjectNode node, MMObjectBuilder builder) {
+    private int changeObject(MMObjectNode node, MMObjectBuilder builder) {
         List<CoreField> changeFields = new ArrayList<CoreField>();
         // obtain the node's changed fields
         Collection<String> fieldNames = node.getChanged();
@@ -163,7 +165,7 @@
                 changeFields.add(field);
             }
         }
-        change(node, builder, getTableName(builder), changeFields);
+        return change(node, builder, getTableName(builder), changeFields);
     }
 
     /**


Index: RelationalDatabaseStorageManager.java
===================================================================
RCS file: 
/var/cvs/src/org/mmbase/storage/implementation/database/RelationalDatabaseStorageManager.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- RelationalDatabaseStorageManager.java       3 Feb 2008 17:33:57 -0000       
1.12
+++ RelationalDatabaseStorageManager.java       23 Jul 2008 05:12:09 -0000      
1.13
@@ -22,7 +22,7 @@
  *
  * @author Pierre van Rooden
  * @since MMBase-1.7
- * @version $Id: RelationalDatabaseStorageManager.java,v 1.12 2008/02/03 
17:33:57 nklasens Exp $
+ * @version $Id: RelationalDatabaseStorageManager.java,v 1.13 2008/07/23 
05:12:09 michiel Exp $
  */
 public class RelationalDatabaseStorageManager extends DatabaseStorageManager {
 
@@ -76,17 +76,19 @@
      * @param builder the builder to change the node in
      * @throws StorageException if an error occurred during change
      */
-    public void change(MMObjectNode node, MMObjectBuilder builder) throws 
StorageException {
+    public int change(MMObjectNode node, MMObjectBuilder builder) throws 
StorageException {
         boolean localTransaction = !inTransaction;
         if (localTransaction) {
             beginTransaction();
         }
         try {
+            int res = 0;
             do {
-                super.change(node, builder);
+                res = super.change(node, builder);
                 builder = builder.getParentBuilder();
-            } while (builder!=null);
+            } while (builder != null);
             if (localTransaction) commit();
+            return res;
         } catch (StorageException se) {
             if (localTransaction && inTransaction) rollback();
             throw se;
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to