The jelly file bound to AEPCloudEnvMasters should contain not a field for 
AEPCloudEnvMasters itself, but fields for the constructor parameters of 
AEPCloudEnvMasters.
With your jelly file, the constructor of AEPCloudEnvMansters to accept the 
form must be like:

@DataBoundConstructor
public AEPCloudEnvMasters(SomeClass aepCloudEnvMasters);

I could not get exactly what you want to do, but it seems very complicated.
You may find an existing plugin that provides a form like the one you want, 
and see how it is implemented.


On Tuesday, August 20, 2013 8:22:38 PM UTC+9, swastb wrote:
>
> Hi All,
>
> We are developing a jenkins build notifier plugin which is supposed to 
> fetch some data from database. Here the field names are values are dynamic. 
> for example as shown in the screen shot the tomcat download location (field 
> name) is dynamic. The problem we are facing is we are not able to save the 
> data while saving the job details. The class that is having the following 
> details
>     
> @DataBoundConstructor
>     public AEPCloudEnvMasters(String cloudEnvMasterName, Object paramList, 
> String projectUserID, String projectID, String warName) {
>         this.cloudEnvMasterName = cloudEnvMasterName;
>         this.paramList = paramList;
>         this.projectUserID = projectUserID;
>         this.projectID = projectID;
>         this.warName = warName;        
>     }
>
> and the corresponding jelly file we have written as 
>        <f:dropdownList name="aepCloudEnvMasters" 
> title="${%AppEnvProfileMasterDetails}">
>        <j:forEach var="appProfileMasterName" 
> items="${descriptor.getAppProfileList(accountId)}" varStatus="loop">
>        <f:dropdownListBlock value="${appProfileMasterName}" 
> title="${appProfileMasterName}" 
> selected="${appProfileMasterName==instance.appProfileMasterName}">
>        <f:nested>
> <input type="hidden" name="aepCloudEnvMasters.cloudEnvMasterName" 
> value="${appProfileMasterName}" />   
> <f:entry title="${%AppEnvProfileMasterArtifact}" 
> field="aepCloudEnvMasters.paramList"> 
>            <j:forEach var="paramList" 
> items="${descriptor.getAppProfileParamList(appProfileMasterName)}" 
> varStatus="loop">
>       <f:entry title="${paramList.paramName}" 
> field="${paramList.paramName}">
>       <f:textbox value="${paramList.paramValue}" 
> field="${paramList.paramName}"/> 
>       </f:entry>
>     </j:forEach>            
>          </f:entry>
> <f:entry title="${%AppEnvProfileMasterArtifact}" 
> field="aepCloudEnvMasters.warName">
>   <f:textbox name="${aepCloudEnvMasters.warName}" 
> value="${aepCloudEnvMasters.warName}"/>
>   <input type="hidden" name="aepCloudEnvMasters.projectUserID" 
> value="${descriptor.getProjectUserID()}" /> 
>   <input type="hidden" name="aepCloudEnvMasters.projectID" 
> value="${descriptor.getProjectID()}" />      
> </f:entry>
>        </f:nested>
>        </f:dropdownListBlock>
>        </j:forEach>
>         </f:dropdownList>
>
> While saving we could get all the value mapped to object other than 
> paramList.I could see the json getting created as following
>                              "aepCloudEnvMasters":{
>                     
>  "cloudEnvMasterName":"COMPOSITE-TOMCAT_WEBSERVER-MYSQL_DB(1)",
>                      "tomcat download location":"
> http://apache.techartifact.com/mirror/tomcat/tomcat-6/v6.0.36/bin/apache-tomcat-6.0.36.tar.gz
> ",
>                      "mysql schema":"provide default schema name",
>                      "war location":"provided war location",
>                      "mysql database server location":"provide database 
> server location",
>                      "schema-installer schema name":"db.sql",
>                      "schema-installer schema location":"executable/",
>                      "war-installer war location":"executable/",           
>           
>                      "warName":"todo-0.1.0.BUILD-SNAPSHOT.war",
>                      "projectUserID":"123",
>                      "projectID":"P-123"
>                   }
> Can someone please help me to configure the object binding properly?
>

-- 
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