package com.smartcodeltd.jenkinsci.plugins.buildmonitor;
import hudson.Util;
import hudson.model.ViewDescriptor;
import hudson.util.FormValidation;
import net.sf.json.JSONObject;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public final class BuildMonitorDescriptor extends ViewDescriptor {
public BuildMonitorDescriptor() {
super(BuildMonitorView.class);
load();
}
@Override
public String getDisplayName() {
return "Build Monitor View";
}
// Copy-n-paste from ListView$Descriptor as sadly we cannot inherit from that class
public FormValidation doCheckIncludeRegex(@QueryParameter String value) {
String v = Util.fixEmpty(value);
if (v != null) {
try {
Pattern.compile(v);
} catch (PatternSyntaxException pse) {
return FormValidation.error(pse.getMessage());
}
}
return FormValidation.ok();
}
@Override
public boolean configure(StaplerRequest req, JSONObject json) throws FormException {
req.bindJSON(this, json.getJSONObject("build-monitor"));
save();
return true;
}
private boolean permissionToCollectAnonymousUsageStatistics = true;
public boolean getPermissionToCollectAnonymousUsageStatistics() {
return this.permissionToCollectAnonymousUsageStatistics;
}
@SuppressWarnings("unused") // used in global.jelly
public void setPermissionToCollectAnonymousUsageStatistics(boolean collect) {
this.permissionToCollectAnonymousUsageStatistics = collect;
}
}