Return-Path: Delivered-To: apmail-click-dev-archive@www.apache.org Received: (qmail 61741 invoked from network); 9 Jan 2011 12:14:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 9 Jan 2011 12:14:22 -0000 Received: (qmail 25173 invoked by uid 500); 9 Jan 2011 12:14:22 -0000 Delivered-To: apmail-click-dev-archive@click.apache.org Received: (qmail 25115 invoked by uid 500); 9 Jan 2011 12:14:20 -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 25108 invoked by uid 99); 9 Jan 2011 12:14: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 12:14: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 12:14:18 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id p09CDw4Y018574 for ; Sun, 9 Jan 2011 12:13:58 GMT Message-ID: <20684810.238571294575237996.JavaMail.jira@thor> Date: Sun, 9 Jan 2011 07:13:57 -0500 (EST) From: "Bob Schellink (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=12979311#action_12979311 ] Bob Schellink commented on CLK-744: ----------------------------------- Actually I've fixed Iterable to behave like a List, meaning Option and OptionGroup. Strings might be beneficial to the developer but not to the maintainer. How will the label be rendered? It will depend on how Select interprets it. Using an Option there is one thing less for the maintainer to worry about. This leads to a Stronger codebase which is a good thing. The add methods predates DP and not much we can do about it unless we deprecate them at some stage. > 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.