cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jörg Heinicke (JIRA) <j...@apache.org>
Subject [jira] Aktualisiert: (COCOON-1689) Cannot save a cform containing a multivalued field with more than 9 values !
Date Fri, 18 Nov 2005 16:37:41 GMT
     [ http://issues.apache.org/jira/browse/COCOON-1689?page=all ]

Jörg Heinicke updated COCOON-1689:
----------------------------------

    Priority: Minor  (was: Blocker)

> Cannot save a cform containing a multivalued field with more than 9 values !
> ----------------------------------------------------------------------------
>
>          Key: COCOON-1689
>          URL: http://issues.apache.org/jira/browse/COCOON-1689
>      Project: Cocoon
>         Type: Bug
>   Components: Blocks: Forms
>     Versions: 2.1.8, 2.1.9-dev (current SVN), 2.2-dev (Current SVN)
>     Reporter: Philippe Gassmann
>     Priority: Minor

>
> An UnsupportedOperationException occurs when trying to save a form containing a multivalued
field with more that 9 values. Here is the explanation : 
> here is the incriminated code in MultiValueJXPathBinding.java:doSave(): 
> Iterator rowPointers = multiValueContext.iteratePointers(this.rowPath);
>         List l = new ArrayList();
>         while( rowPointers.hasNext() )
>         {
>             Pointer p = (Pointer)rowPointers.next();
>             l.add(p.asPath());
>         }
>         Collections.sort(l);
>         for( int i = l.size()-1; i >= 0; i-- )
>         {
>             multiValueContext.removePath((String)l.get(i));
>         }
> This code is wrong : 
> The p.asPath returns something like "/doc/node[x]" 
> if the iterator contains more than 9 values x will be written in TWO characters so, the
result of Collections.sort(l) return for 10 values : 
> /doc/node[10]
> /doc/node[1]
> /doc/node[2]
> /doc/node[3]
> /doc/node[4]
> /doc/node[5]
> /doc/node[6]
> /doc/node[7]
> /doc/node[8]
> /doc/node[9]
> so the first node to be deleted is 9. the last is 10. but when trying to delete the 10th
node it does not exist anymore !
> A UnsupportedOperationException is thrown.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message