cocoon-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From br...@apache.org
Subject cvs commit: cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding RepeaterJXPathBinding.java
Date Thu, 06 Nov 2003 09:13:07 GMT
bruno       2003/11/06 01:13:07

  Modified:    src/blocks/woody/java/org/apache/cocoon/woody/binding
                        RepeaterJXPathBinding.java
  Log:
  New rows added to the repeater who's identification widget value is not null were not detected
as new rows during the binding.
  Reported by Antonio Gallardo.
  
  Revision  Changes    Path
  1.9       +8 -0      cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding/RepeaterJXPathBinding.java
  
  Index: RepeaterJXPathBinding.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/woody/java/org/apache/cocoon/woody/binding/RepeaterJXPathBinding.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RepeaterJXPathBinding.java	29 Oct 2003 09:36:04 -0000	1.8
  +++ RepeaterJXPathBinding.java	6 Nov 2003 09:13:07 -0000	1.9
  @@ -179,6 +179,7 @@
                   //if rowIdValue != null --> iterate nodes to find match 
                   Iterator rowPointers =
                       repeaterContext.iteratePointers(this.rowPath);
  +                boolean found = false;
                   while (rowPointers.hasNext()) {
                       Pointer jxp = (Pointer) rowPointers.next();
                       JXPathContext rowContext =
  @@ -198,8 +199,15 @@
                           this.rowBinding.saveFormToModel(thisRow, rowContext);
                           //        --> store rowIdValue in list of updatedRowIds
                           updatedRowIds.add(rowIdValue);
  +                        found = true;
                           break;
                       }
  +                }
  +                if (!found) {
  +                    // this is a new row
  +                    rowsToInsert.add(thisRow);
  +                    // also add it to the updated row id's so that this row doesn't get
deleted
  +                    updatedRowIds.add(rowIdValue);
                   }
               } else {
                   //if rowId == null --> remember to insert this one later
  
  
  

Mime
View raw message