Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 52244 invoked from network); 20 Jul 2005 14:37:46 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 20 Jul 2005 14:37:46 -0000 Received: (qmail 40177 invoked by uid 500); 20 Jul 2005 14:37:42 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 40097 invoked by uid 500); 20 Jul 2005 14:37:42 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@cocoon.apache.org List-Id: Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 40084 invoked by uid 99); 20 Jul 2005 14:37:41 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Jul 2005 07:37:41 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [165.98.153.184] (HELO ags01.agsoftware.dnsalias.com) (165.98.153.184) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 20 Jul 2005 07:37:36 -0700 Received: from [10.0.0.7] (apoyo.agsoftware.dnsalias.com [10.0.0.7]) by ags01.agsoftware.dnsalias.com (8.13.1/8.13.1) with ESMTP id j6KEbQ82031050 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 20 Jul 2005 09:37:32 -0500 Message-ID: <42DE61A6.9000307@agssa.net> Date: Wed, 20 Jul 2005 09:37:26 -0500 From: Antonio Gallardo Organization: AG Software, S. A. User-Agent: Mozilla Thunderbird 1.0.2-6 (X11/20050513) X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@cocoon.apache.org Subject: Re: svn commit: r219856 - in /cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms: binding/MultiValueJXPathBinding.java flow/javascript/ScriptableWidget.java References: <20050720081937.74604.qmail@minotaur.apache.org> In-Reply-To: <20050720081937.74604.qmail@minotaur.apache.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.86.1, clamav-milter version 0.86 on agssa.net X-Virus-Status: Clean X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Hi Giacomo, I guess it is related to commons-jxpath-1.2. Can you add the buggy version number of the JXPath lib? This could help in the future to check if this bug is already fixed on the released jars? If there is already a bug for this in JXPath, will be fine to add the bug # in the comment. Best Regards, Antonio Gallardo giacomo@apache.org wrote: >Author: giacomo >Date: Wed Jul 20 01:19:35 2005 >New Revision: 219856 > >URL: http://svn.apache.org/viewcvs?rev=219856&view=rev >Log: >added workaround for a bug in commons-jxpath's JXPathContext.removeAll(path) which isn't really removing all elements from a Collection type object > >Modified: > cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java > cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java > >Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java >URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java?rev=219856&r1=219855&r2=219856&view=diff >============================================================================== >--- cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java (original) >+++ cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/binding/MultiValueJXPathBinding.java Wed Jul 20 01:19:35 2005 >@@ -15,8 +15,11 @@ > */ > package org.apache.cocoon.forms.binding; > >+import java.util.ArrayList; >+import java.util.Collections; > import java.util.Iterator; > import java.util.LinkedList; >+import java.util.List; > import java.util.Locale; > > import org.apache.avalon.framework.logger.Logger; >@@ -104,7 +107,23 @@ > JXPathContext multiValueContext = jctx.getRelativeContext(jctx.createPath(this.multiValuePath)); > > // Delete all that is already present >- multiValueContext.removeAll(this.rowPath); >+ >+ // Unfortunately the following statement doesn't work (it doesn't removes all elements from the >+ // list because of a bug in JXPath) so I had to work out another immediate solution >+ //multiValueContext.removeAll(this.rowPath); >+ >+ 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)); >+ } > > boolean update = false; > > >Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java >URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java?rev=219856&r1=219855&r2=219856&view=diff >============================================================================== >--- cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java (original) >+++ cocoon/branches/BRANCH_2_1_X/src/blocks/forms/java/org/apache/cocoon/forms/flow/javascript/ScriptableWidget.java Wed Jul 20 01:19:35 2005 >@@ -30,6 +30,8 @@ > import org.mozilla.javascript.Undefined; > import org.mozilla.javascript.Wrapper; > >+import java.util.Collection; >+ > /** > * @version $Id$ > * >@@ -256,6 +258,8 @@ > } > } else if (value instanceof Object[]) { > values = (Object[])value; >+ } else if (value instanceof Collection ) { >+ values = ((Collection)value).toArray(); > } > field.setValues(values); > } else { > > >