package hudson.plugins.claim; import org.kohsuke.stapler.DataBoundConstructor; import hudson.Extension; import hudson.model.Descriptor; import hudson.model.Hudson; import hudson.model.Job; import hudson.model.Run; import hudson.views.ListViewColumn; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; public class ClaimColumn extends ListViewColumn { @DataBoundConstructor public ClaimColumn() { } @Override public String getColumnCaption() { return "Claim"; } @Override public boolean shownByDefault() { return false; } public ClaimBuildAction getAction(Job<?,?> job) { Run<?,?> run = job.getLastCompletedBuild(); if (run == null) { return null; } return run.getAction(ClaimBuildAction.class); } public Descriptor<ListViewColumn> getDescriptor() { return Hudson.getInstance().getDescriptorOrDie(getClass()); } public static final DescriptorImpl DESCRIPTOR = new DescriptorImpl(); @Extension public static class DescriptorImpl extends Descriptor<ListViewColumn> { @Override public ListViewColumn newInstance(StaplerRequest req, JSONObject formData) throws FormException { return new ClaimColumn(); } @Override public String getDisplayName() { return "Claim"; } } }