Continuing my development of a replacement AWS plugin... I've got a class that extends Cloud (called EC2), so it can be added and configured from the global config page (it appears in an f:hetero-list). I have another class which is Describable, that EC2 keeps a list of in a DescribableList, and this also appears in an f:hetero-list (in EC2's config.jelly). This class is called SlaveTemplate.
There is a third class, called InstanceLaunchDetails, which is also Describable. SlaveTemplate holds a single instance of this class in a field, and has an f:property in its config.jelly to allow it to be configured. So far, all of this works as expected. Two of the fields in config.jelly for InstanceLaunchDetails, though, are ListBox fields; there are functions in the descriptor to populate them. They require some form fields from the EC2 instance, though, since that provides the credentials to access AWS. These functions (doFillAvailabilityZoneItems is one) accept these form fields as QueryParameters, as they should. When the form is first displayed, the user has not filled in these fields in the EC2 instance, so the listbox-filling function is called with null parameters; this too is fine. The problem comes in when the user *does* fill in these form fields (part of the grandparent scope for InstanceLaunchDetails); apparently Jelly has not figured out that these fields are dependent on the grandparent's fields, so the listbox-fill functions don't get called. Is there some way I can make Jelly aware of this dependency, or should it have been inferred automatically? As a test, by the way, I added an f:validateButton in config.jelly for InstanceLaunchDetails, configured to receive these same form fields (from the EC2 instance). When I press the button, the form fields *are* passed to the method. -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
