package configurationslicing.jobdisabled; import java.io.IOException; import java.util.List; import configurationslicing.BooleanSlicer; import hudson.Extension; import hudson.model.AbstractProject; import hudson.model.Hudson; @Extension public class JobDisabledBoolSlicer extends BooleanSlicer<AbstractProject<?,?>> { public JobDisabledBoolSlicer() { super(new JobDisabledSpec()); } public static class JobDisabledSpec implements BooleanSlicer.BooleanSlicerSpec<AbstractProject<?,?>> { public String getName() { return "Job Disabled Build Slicer (bool)"; } public String getName(AbstractProject<?,?> item) { return item.getName(); } public String getUrl() { return "jobdisabledbool"; } public boolean getValue(AbstractProject<?,?> item) { return item.isDisabled(); } public List<AbstractProject<?,?>> getWorkDomain() { return (List)Hudson.getInstance().getItems(AbstractProject.class); } public boolean setValue(AbstractProject<?,?> item, boolean value) { boolean oldval = item.isDisabled(); try { item.makeDisabled(value); } catch (IOException e) { return false; } return oldval != value; } } }