Return-Path: Delivered-To: apmail-click-dev-archive@www.apache.org Received: (qmail 1825 invoked from network); 9 Jan 2011 09:42:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 9 Jan 2011 09:42:23 -0000 Received: (qmail 44975 invoked by uid 500); 9 Jan 2011 09:42:23 -0000 Delivered-To: apmail-click-dev-archive@click.apache.org Received: (qmail 44724 invoked by uid 500); 9 Jan 2011 09:42:21 -0000 Mailing-List: contact dev-help@click.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@click.apache.org Delivered-To: mailing list dev@click.apache.org Received: (qmail 44716 invoked by uid 99); 9 Jan 2011 09:42:19 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 09 Jan 2011 09:42:19 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 09 Jan 2011 09:42:19 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id p099fwP8016930 for ; Sun, 9 Jan 2011 09:41:59 GMT Message-ID: <19898608.237161294566118942.JavaMail.jira@thor> Date: Sun, 9 Jan 2011 04:41:58 -0500 (EST) From: "Sander van Grieken (JIRA)" To: dev@click.apache.org Subject: [jira] Commented: (CLK-744) Select control's setValue is not usable due to insufficient wrapping In-Reply-To: <10865611.57461293621477238.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CLK-744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12979280#action_12979280 ] Sander van Grieken commented on CLK-744: ---------------------------------------- Bob, may I propose to reopen this bug, perhaps changing priority to Wish or something? Like Finn Bock said, if the underlying representation of the Iterable is not a List, the behaviour changes. So we got 3 paths of adding items, of which the List Iterable is the strange one : - add (String/Option/OptionGroup) - DataProvider non List Iterable (String/Option/OptionGroup) - DataProvider List Iterable (Option/OptionGroup) So it is not consistent. I think allowing also Strings in the List case is a benefit, since it makes the ways of adding options consistent, and a convenience, since many DataProvider examples in the javadoc directly return the results from the backend call as Strings. It also conforms to the expected behaviour, as a click newbie like myself :) > Select control's setValue is not usable due to insufficient wrapping > -------------------------------------------------------------------- > > Key: CLK-744 > URL: https://issues.apache.org/jira/browse/CLK-744 > Project: Click > Issue Type: Bug > Components: core > Affects Versions: 2.3.0-M1, 2.2.0 > Reporter: Sander van Grieken > Attachments: SelectTestPage.java > > > When calling setValue on a Select instance, it bombs out while rendering, regardless whether a String or an Option is passed. > Passing an Option instance causes it to be 'toString'-ed as an Object (i.e. 'org.apache.click.control.Option@1c154a3') when retrieving the selected value again. > Passing a String causes it to throw a java.lang.IllegalArgumentException: Select option class not instance of Option or OptionGroup: java.lang.String > at org.apache.click.control.Select.render(Select.java:998) > I have modified the render(HtmlStringBuffer buffer) method in Select.java to additionally check for String instances, and in that case wrap it into an Option, and that works fine. > if (object instanceof String) { > Option option = new Option(object); > option.render(this, buffer); > } else ... > The setValue method should probably be overridden from Field to also support the Option case -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.