Thanks for the quick response Stephen! It wasn't completely accurate, but it
got me headed in the right direction.
The solution was to add a '@RelativePath("..")' decorator to each argument that
should receive data from the parent scope's form fields. Also, it was important
to *not* include the trailing slash, as if it is included the resulting DOM
paths in the generated page contain two slashes and don't work properly.
----- Original Message -----
From: [email protected]
To: [email protected]
At: Jul 12 2013 18:24:52
You need to put ../ in the @QueryParam on the doFill... Methods
On Friday, 12 July 2013, Kevin Fleming (BLOOMBERG/ 731 LEXIN) wrote:
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.
--
Sent from my phone
--
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.
--
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.