Skip to content

Commit

Permalink
[FIXED JENKINS-14580] use data-binding
Browse files Browse the repository at this point in the history
  • Loading branch information
ndeloof committed Aug 6, 2012
1 parent 2cef701 commit 160b94d
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 41 deletions.
Expand Up @@ -5,7 +5,6 @@
import hudson.matrix.MatrixConfiguration;
import hudson.model.*;
import hudson.security.ACL;
import hudson.util.ListBoxModel;
import hudson.util.SequentialExecutionQueue;
import org.acegisecurity.context.SecurityContext;
import org.acegisecurity.context.SecurityContextHolder;
Expand All @@ -31,9 +30,9 @@ public class BuildResultTrigger extends AbstractTriggerByFullContext<BuildResult
private BuildResultTriggerInfo[] jobsInfo = new BuildResultTriggerInfo[0];

@DataBoundConstructor
public BuildResultTrigger(String cronTabSpec, BuildResultTriggerInfo[] jobInfo) throws ANTLRException {
public BuildResultTrigger(String cronTabSpec, BuildResultTriggerInfo[] jobsInfo) throws ANTLRException {
super(cronTabSpec);
this.jobsInfo = jobInfo;
this.jobsInfo = jobsInfo;
}

@SuppressWarnings("unused")
Expand Down Expand Up @@ -183,28 +182,6 @@ public ExecutorService getExecutor() {
return queue.getExecutors();
}

public List<Result> getResultList() {
try {
Field allField = Result.class.getDeclaredField("all");
allField.setAccessible(true);
Result[] results = (Result[]) allField.get(null);
return Arrays.asList(results);
} catch (NoSuchFieldException nse) {
throw new RuntimeException(nse);
} catch (IllegalAccessException iae) {
throw new RuntimeException(iae);
}
}

public ListBoxModel doFillJobNameItems() {
ListBoxModel model = new ListBoxModel();
for (Item item : Hudson.getInstance().getAllItems()) {
if ((item instanceof Job) && !(item instanceof MatrixConfiguration)) {
model.add(item.getFullName());
}
}
return model;
}

@Override
public boolean isApplicable(Item item) {
Expand Down
@@ -1,20 +1,24 @@
package org.jenkinsci.plugins.buildresulttrigger.model;

import hudson.Extension;
import hudson.matrix.MatrixConfiguration;
import hudson.model.*;
import hudson.util.ListBoxModel;
import org.kohsuke.stapler.DataBoundConstructor;

/**
* @author Gregory Boissinot
*/
public class BuildResultTriggerInfo {
public class BuildResultTriggerInfo extends AbstractDescribableImpl<BuildResultTriggerInfo> {

private String jobName;
private final String jobName;

private CheckedResult[] checkedResults;
private final CheckedResult[] checkedResults;

@DataBoundConstructor
public BuildResultTriggerInfo(String jobName, CheckedResult[] checkedResult) {
public BuildResultTriggerInfo(String jobName, CheckedResult[] checkedResults) {
this.jobName = jobName;
this.checkedResults = checkedResult;
this.checkedResults = checkedResults;
}

@SuppressWarnings("unused")
Expand All @@ -26,4 +30,23 @@ public String getJobName() {
public CheckedResult[] getCheckedResults() {
return checkedResults;
}

@Extension
public static class DescriptorImpl extends Descriptor<BuildResultTriggerInfo> {
public String getDisplayName() {
return "Job to monitor";
}


public ListBoxModel doFillJobNameItems() {
ListBoxModel model = new ListBoxModel();
for (Item item : Hudson.getInstance().getAllItems()) {
if ((item instanceof Job) && !(item instanceof MatrixConfiguration)) {
model.add(item.getFullName());
}
}
return model;
}
}

}
@@ -1,12 +1,14 @@
package org.jenkinsci.plugins.buildresulttrigger.model;

import hudson.model.Result;
import hudson.Extension;
import hudson.model.*;
import hudson.util.ListBoxModel;
import org.kohsuke.stapler.DataBoundConstructor;

/**
* @author Gregory Boissinot
*/
public class CheckedResult {
public class CheckedResult extends AbstractDescribableImpl<CheckedResult> {

private Result result;

Expand All @@ -19,4 +21,22 @@ public CheckedResult(String result) {
public Result getResult() {
return result;
}

@Extension
public static class DescriptorImpl extends Descriptor<CheckedResult> {
public String getDisplayName() {
return "Job Build Results to check}";
}

public ListBoxModel doFillResultItems() {
ListBoxModel model = new ListBoxModel();
model.add(Result.SUCCESS.toString());
model.add(Result.UNSTABLE.toString());
model.add(Result.FAILURE.toString());
model.add(Result.NOT_BUILT.toString());
model.add(Result.ABORTED.toString());
return model;
}

}
}
Expand Up @@ -3,7 +3,7 @@

<f:entry>

<f:repeatable var="jobInfo" items="${instance.jobsInfo}" add="${%Add a job to monitor}">
<f:repeatable field="jobsInfo" items="${instance.jobsInfo}" add="${%Add a job to monitor}">

<table width="100%">

Expand All @@ -13,16 +13,12 @@

<f:block>
<f:entry field="jobResults" title="${%Job Build Results to check}">
<f:repeatable var="checkedResult" items="${jobInfo.checkedResults}" add="${%Add a build result}">
<f:repeatable field="checkedResults" add="${%Add a build result}">

<table width="100%">

<f:entry field="buildResult" title="${%Job Build Result}">
<select class="setting-input" name="checkedResult.result">
<j:forEach var="result" items="${descriptor.resultList}">
<f:option selected="${result.toExportedObject()==checkedResult.result.toExportedObject()}">${result.toExportedObject()}</f:option>
</j:forEach>
</select>
<f:entry field="result" title="${%Job Build Result}">
<f:select/>
</f:entry>

<f:entry title="">
Expand Down Expand Up @@ -56,4 +52,4 @@



</j:jelly>
</j:jelly>

0 comments on commit 160b94d

Please sign in to comment.