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.


Reply via email to