[ 
https://issues.jenkins-ci.org/browse/JENKINS-12802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jørgen Tjernø updated JENKINS-12802:
------------------------------------

       Assignee:     (was: Jørgen Tjernø)
    Component/s:     (was: jenkins-plugin-runtime)

Removing the (poorly name) jenkins-plugin-runtime from the component list of 
this bug. Jenkins-plugin-runtime deals with plugins in Ruby etc, not Java. 
Sorry for the confusion!
                
> Initial select box validation fails when default value is provided.
> -------------------------------------------------------------------
>
>                 Key: JENKINS-12802
>                 URL: https://issues.jenkins-ci.org/browse/JENKINS-12802
>             Project: Jenkins
>          Issue Type: Bug
>          Components: plugin
>    Affects Versions: current
>         Environment: Jenkins version 1.451.
> Jenkins run through mvn hpi:run.
> See system info in attachment for further information.
> Browser: Google Chrome 17 and Firefox 10
>            Reporter: Ben Ripkens
>              Labels: jelly, jenkins, listbox, plugin
>         Attachments: systeminfo.pdf
>
>
> When defining a select box like this:
> {code:xml}
> <f:entry title="Version Control System type"
>         field="vcs">
>     <f:select/>
> </f:entry>
> {code}
> and validating the value through a 
> {code:java}
> int i = 0;
> public FormValidation doCheckVcs(@QueryParameter String value) {
>     
>     System.out.println(i + ": value: " + value);
>     i++;
>     try {
>         VersionControlSystem.valueOf(value);
>         return FormValidation.ok();
>     } catch (IllegalArgumentException ex) {
>         return FormValidation.error("Please select one of the Version Control 
> Systems.");
>     }
> }
> {code}
> method, it can be observed that the validation method is called two times 
> when opening the configuration menu (http://localhost:8080/configure). The 
> first time, the correct default value, i.e., the selected item's value, is 
> passed to the validation method. The second time, no data is passed in (see 
> following code listing for output).
> {code}
> 0: value: MERCURIAL
> 1: value: 
> {code}
> The code is additionally available on GitHub:
> Descriptor: 
> https://github.com/bripkens/janus-plugin/blob/389833439d11cc4daf5666c1ac7fb98ecad28471/src/main/java/de/codecentric/janus/plugin/Root.java
> Jelly: 
> https://github.com/bripkens/janus-plugin/blob/389833439d11cc4daf5666c1ac7fb98ecad28471/src/main/resources/de/codecentric/janus/plugin/Root/global.jelly
> Data is provided in the following way:
> {code:java}
> public ListBoxModel doFillVcsItems() {
>     ListBoxModel m = new ListBoxModel();
>     m.add("Please select", "");
>     for (VersionControlSystem vcs : VersionControlSystem.values()) {
>         if (this.vcs == vcs) {
>             m.add(new ListBoxModel.Option(vcs.name(), vcs.name(),
>                     true));
>         } else {
>             m.add(vcs.name());
>         }
>         
>     }
>     return m;
> }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


Reply via email to