package jenkins.python.expoint; import com.google.common.base.Function; import com.google.common.collect.Collections2; import com.infradna.tool.bridge_method_injector.WithBridgeMethods; import hudson.EnvVars; import hudson.Extension; import hudson.ExtensionPoint; import hudson.PermalinkList; import hudson.Util; import hudson.cli.declarative.CLIResolver; import hudson.model.Descriptor.FormException; import hudson.model.Fingerprint.Range; import hudson.model.Fingerprint.RangeSet; import hudson.model.PermalinkProjectAction.Permalink; import hudson.model.listeners.ItemListener; import hudson.search.QuickSilver; import hudson.search.SearchIndex; import hudson.search.SearchIndexBuilder; import hudson.search.SearchItem; import hudson.search.SearchItems; import hudson.security.ACL; import hudson.tasks.LogRotator; import hudson.util.AlternativeUiTextProvider; import hudson.util.ChartUtil; import hudson.util.ColorPalette; import hudson.util.CopyOnWriteList; import hudson.util.DataSetBuilder; import hudson.util.DescribableList; import hudson.util.FormApply; import hudson.util.Graph; import hudson.util.ProcessTree; import hudson.util.RunList; import hudson.util.ShiftedCategoryAxis; import hudson.util.StackedAreaRenderer2; import hudson.util.TextFile; import hudson.widgets.HistoryWidget; import hudson.widgets.HistoryWidget.Adapter; import hudson.widgets.Widget; import jenkins.model.BuildDiscarder; import jenkins.model.Jenkins; import jenkins.model.ProjectNamingStrategy; import jenkins.security.HexStringConfidentialKey; import jenkins.util.io.OnMaster; import net.sf.json.JSONException; import net.sf.json.JSONObject; import org.jfree.chart.ChartFactory; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.CategoryAxis; import org.jfree.chart.axis.CategoryLabelPositions; import org.jfree.chart.axis.NumberAxis; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.renderer.category.StackedAreaRenderer; import org.jfree.data.category.CategoryDataset; import org.jfree.ui.RectangleInsets; import org.jvnet.localizer.Localizable; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.CmdLineException; import org.kohsuke.stapler.StaplerOverridable; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.StaplerResponse; import org.kohsuke.stapler.export.Exported; import org.kohsuke.stapler.interceptor.RequirePOST; import javax.servlet.ServletException; import java.awt.*; import java.io.*; import java.net.URLEncoder; import java.util.*; import java.util.List; import javax.servlet.http.HttpServletResponse.*; import hudson.model.*; import hudson.model.Job.*; import hudson.AbortException; import hudson.XmlFile; import hudson.Functions; import hudson.BulkChange; import hudson.cli.declarative.CLIMethod; import hudson.model.listeners.SaveableListener; import hudson.security.AccessControlled; import hudson.security.Permission; import hudson.util.AlternativeUiTextProvider.Message; import hudson.util.AtomicFileWriter; import hudson.util.IOException2; import hudson.util.IOUtils; import org.apache.tools.ant.taskdefs.Copy; import org.apache.tools.ant.types.FileSet; import org.kohsuke.stapler.WebMethod; import org.kohsuke.stapler.export.ExportedBean; import java.io.File; import java.io.IOException; import java.util.Collection; import java.util.HashMap; import java.util.Map; import org.kohsuke.stapler.Stapler; import org.kohsuke.stapler.HttpDeletable; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST; import hudson.model.AbstractItem.*; import hudson.model.queue.Tasks; import jenkins.model.ModelObjectWithContextMenu; import org.apache.commons.jelly.JellyContext; import org.apache.commons.jelly.JellyException; import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.Script; import org.apache.commons.jelly.XMLOutput; import org.kohsuke.stapler.WebApp; import org.kohsuke.stapler.jelly.JellyClassTearOff; import org.kohsuke.stapler.jelly.JellyFacet; import org.xml.sax.helpers.DefaultHandler; import java.util.ArrayList; import java.util.Vector; import java.util.concurrent.CopyOnWriteArrayList; import hudson.model.Actionable.*; import hudson.search.SearchFactory; import hudson.search.SearchableModelObject; import hudson.search.Search; import hudson.model.AbstractModelObject.*; import jenkins.python.DataConvertor; import jenkins.python.PythonExecutor; /** * This class was automatically generated by the PWM tool on 2014/03/21. * @see hudson.model.Job */ public abstract class JobPW<JobT extends Job<JobT, RunT>, RunT extends Run<JobT, RunT>> extends Job<JobT, RunT> { private transient PythonExecutor pexec; private void initPython() { if (pexec == null) { pexec = new PythonExecutor(this); String[] jMethods = new String[3]; jMethods[0] = "isBuildable"; jMethods[1] = "_getRuns"; jMethods[2] = "removeRun"; String[] pFuncs = new String[3]; pFuncs[0] = "is_buildable"; pFuncs[1] = "_get_runs"; pFuncs[2] = "remove_run"; Class[][] argTypes = new Class[3][]; argTypes[0] = new Class[0]; argTypes[1] = new Class[0]; argTypes[2] = new Class[1]; argTypes[2][0] = null; pexec.checkAbstrMethods(jMethods, pFuncs, argTypes); String[] functions = new String[108]; functions[0] = "save"; functions[1] = "on_load"; functions[2] = "on_copied_from"; functions[3] = "perform_delete"; functions[4] = "is_hold_off_build_until_save"; functions[5] = "save_next_build_number"; functions[6] = "is_in_queue"; functions[7] = "get_queue_item"; functions[8] = "is_building"; functions[9] = "is_log_updated"; functions[10] = "get_pronoun"; functions[11] = "is_name_editable"; functions[12] = "is_keep_dependencies"; functions[13] = "assign_build_number"; functions[14] = "get_next_build_number"; functions[15] = "get_characteristic_env_vars"; functions[16] = "get_environment"; functions[17] = "update_next_build_number"; functions[18] = "get_build_discarder"; functions[19] = "set_build_discarder"; functions[20] = "get_log_rotator"; functions[21] = "set_log_rotator"; functions[22] = "log_rotate"; functions[23] = "supports_log_rotator"; functions[24] = "make_search_index"; functions[25] = "get_all_jobs"; functions[26] = "add_property"; functions[27] = "remove_property"; functions[28] = "remove_property"; functions[29] = "get_properties"; functions[30] = "get_all_properties"; functions[31] = "get_property"; functions[32] = "get_property"; functions[33] = "get_overrides"; functions[34] = "get_widgets"; functions[35] = "create_history_widget"; functions[36] = "rename_to"; functions[37] = "delete"; functions[38] = "get_builds"; functions[39] = "get_new_builds"; functions[40] = "get_builds"; functions[41] = "get_builds_as_map"; functions[42] = "get_build_by_number"; functions[43] = "get_builds_by_timestamp"; functions[44] = "get_build_for_cli"; functions[45] = "get_nearest_build"; functions[46] = "get_nearest_old_build"; functions[47] = "get_dynamic"; functions[48] = "get_build_dir"; functions[49] = "get_last_build"; functions[50] = "get_first_build"; functions[51] = "get_last_successful_build"; functions[52] = "get_last_unsuccessful_build"; functions[53] = "get_last_unstable_build"; functions[54] = "get_last_stable_build"; functions[55] = "get_last_failed_build"; functions[56] = "get_last_completed_build"; functions[57] = "get_last_builds_over_threshold"; functions[58] = "get_estimated_duration_candidates"; functions[59] = "get_estimated_duration"; functions[60] = "get_permalinks"; functions[61] = "get_icon_color"; functions[62] = "get_build_health"; functions[63] = "get_build_health_reports"; functions[64] = "do_config_submit"; functions[65] = "submit"; functions[66] = "do_description"; functions[67] = "do_build_status"; functions[68] = "get_build_status_url"; functions[69] = "get_build_time_graph"; functions[70] = "do_do_rename"; functions[71] = "do_rss_all"; functions[72] = "do_rss_failed"; functions[73] = "get_acl"; functions[74] = "get_timeline"; functions[75] = "on_created_from_scratch"; functions[76] = "get_name"; functions[77] = "get_display_name"; functions[78] = "get_display_name_or_null"; functions[79] = "set_display_name_or_null"; functions[80] = "set_display_name"; functions[81] = "get_root_dir"; functions[82] = "get_parent"; functions[83] = "get_description"; functions[84] = "set_description"; functions[85] = "do_set_name"; functions[86] = "get_relative_name_from"; functions[87] = "get_relative_name_from"; functions[88] = "get_short_url"; functions[89] = "get_search_url"; functions[90] = "check_permission"; functions[91] = "has_permission"; functions[92] = "get_descriptor_by_name"; functions[93] = "do_submit_description"; functions[94] = "do_do_delete"; functions[95] = "delete"; functions[96] = "do_config_dot_xml"; functions[97] = "update_by_xml"; functions[98] = "update_by_xml"; functions[99] = "get_search_name"; functions[100] = "to_string"; functions[101] = "get_actions"; functions[102] = "get_actions"; functions[103] = "add_action"; functions[104] = "get_action"; functions[105] = "get_action"; functions[106] = "do_context_menu"; functions[107] = "get_search"; int[] argsCount = new int[108]; argsCount[0] = 0; argsCount[1] = 2; argsCount[2] = 1; argsCount[3] = 0; argsCount[4] = 0; argsCount[5] = 0; argsCount[6] = 0; argsCount[7] = 0; argsCount[8] = 0; argsCount[9] = 0; argsCount[10] = 0; argsCount[11] = 0; argsCount[12] = 0; argsCount[13] = 0; argsCount[14] = 0; argsCount[15] = 0; argsCount[16] = 2; argsCount[17] = 1; argsCount[18] = 0; argsCount[19] = 1; argsCount[20] = 0; argsCount[21] = 1; argsCount[22] = 0; argsCount[23] = 0; argsCount[24] = 0; argsCount[25] = 0; argsCount[26] = 1; argsCount[27] = 1; argsCount[28] = 1; argsCount[29] = 0; argsCount[30] = 0; argsCount[31] = 1; argsCount[32] = 1; argsCount[33] = 0; argsCount[34] = 0; argsCount[35] = 0; argsCount[36] = 1; argsCount[37] = 0; argsCount[38] = 0; argsCount[39] = 0; argsCount[40] = 1; argsCount[41] = 0; argsCount[42] = 1; argsCount[43] = 2; argsCount[44] = 1; argsCount[45] = 1; argsCount[46] = 1; argsCount[47] = 3; argsCount[48] = 0; argsCount[49] = 0; argsCount[50] = 0; argsCount[51] = 0; argsCount[52] = 0; argsCount[53] = 0; argsCount[54] = 0; argsCount[55] = 0; argsCount[56] = 0; argsCount[57] = 2; argsCount[58] = 0; argsCount[59] = 0; argsCount[60] = 0; argsCount[61] = 0; argsCount[62] = 0; argsCount[63] = 0; argsCount[64] = 2; argsCount[65] = 2; argsCount[66] = 2; argsCount[67] = 2; argsCount[68] = 0; argsCount[69] = 0; argsCount[70] = 2; argsCount[71] = 2; argsCount[72] = 2; argsCount[73] = 0; argsCount[74] = 0; argsCount[75] = 0; argsCount[76] = 0; argsCount[77] = 0; argsCount[78] = 0; argsCount[79] = 1; argsCount[80] = 1; argsCount[81] = 0; argsCount[82] = 0; argsCount[83] = 0; argsCount[84] = 1; argsCount[85] = 1; argsCount[86] = 1; argsCount[87] = 1; argsCount[88] = 0; argsCount[89] = 0; argsCount[90] = 1; argsCount[91] = 1; argsCount[92] = 1; argsCount[93] = 2; argsCount[94] = 2; argsCount[95] = 2; argsCount[96] = 2; argsCount[97] = 1; argsCount[98] = 1; argsCount[99] = 0; argsCount[100] = 0; argsCount[101] = 0; argsCount[102] = 1; argsCount[103] = 1; argsCount[104] = 1; argsCount[105] = 1; argsCount[106] = 2; argsCount[107] = 0; pexec.registerFunctions(functions, argsCount); } } public JobPW(ItemGroup parent, String name) { super(parent, name); } @Override @Exported public boolean isBuildable() { initPython(); return pexec.execPythonBool("is_buildable"); } @Override public SortedMap<Integer, ? extends RunT> _getRuns() { initPython(); return (SortedMap) pexec.execPython("_get_runs"); } @Override public void removeRun(RunT run) { initPython(); pexec.execPythonVoid("remove_run", run); } @Override public synchronized void save() throws IOException { initPython(); if (pexec.isImplemented(0)) { pexec.execPythonVoid("save"); } else { super.save(); } } @Override public void onLoad(ItemGroup<? extends Item> parent, String name) throws IOException { initPython(); if (pexec.isImplemented(1)) { pexec.execPythonVoid("on_load", parent, name); } else { super.onLoad(parent, name); } } @Override public void onCopiedFrom(Item src) { initPython(); if (pexec.isImplemented(2)) { pexec.execPythonVoid("on_copied_from", src); } else { super.onCopiedFrom(src); } } public @Override void performDelete() throws IOException, InterruptedException { initPython(); if (pexec.isImplemented(3)) { pexec.execPythonVoid("perform_delete"); } else { super.performDelete(); } } @Override public boolean isHoldOffBuildUntilSave() { initPython(); if (pexec.isImplemented(4)) { return pexec.execPythonBool("is_hold_off_build_until_save"); } else { return super.isHoldOffBuildUntilSave(); } } @Override public synchronized void saveNextBuildNumber() throws IOException { initPython(); if (pexec.isImplemented(5)) { pexec.execPythonVoid("save_next_build_number"); } else { super.saveNextBuildNumber(); } } @Override @Exported public boolean isInQueue() { initPython(); if (pexec.isImplemented(6)) { return pexec.execPythonBool("is_in_queue"); } else { return super.isInQueue(); } } @Override @Exported public hudson.model.Queue.Item getQueueItem() { initPython(); if (pexec.isImplemented(7)) { return (hudson.model.Queue.Item) pexec.execPython("get_queue_item"); } else { return super.getQueueItem(); } } @Override public boolean isBuilding() { initPython(); if (pexec.isImplemented(8)) { return pexec.execPythonBool("is_building"); } else { return super.isBuilding(); } } @Override public boolean isLogUpdated() { initPython(); if (pexec.isImplemented(9)) { return pexec.execPythonBool("is_log_updated"); } else { return super.isLogUpdated(); } } @Override public String getPronoun() { initPython(); if (pexec.isImplemented(10)) { return (String) pexec.execPython("get_pronoun"); } else { return super.getPronoun(); } } @Override public boolean isNameEditable() { initPython(); if (pexec.isImplemented(11)) { return pexec.execPythonBool("is_name_editable"); } else { return super.isNameEditable(); } } @Override @Exported public boolean isKeepDependencies() { initPython(); if (pexec.isImplemented(12)) { return pexec.execPythonBool("is_keep_dependencies"); } else { return super.isKeepDependencies(); } } @Override public synchronized int assignBuildNumber() throws IOException { initPython(); if (pexec.isImplemented(13)) { return pexec.execPythonInt("assign_build_number"); } else { return super.assignBuildNumber(); } } @Override @Exported public int getNextBuildNumber() { initPython(); if (pexec.isImplemented(14)) { return pexec.execPythonInt("get_next_build_number"); } else { return super.getNextBuildNumber(); } } @Override public EnvVars getCharacteristicEnvVars() { initPython(); if (pexec.isImplemented(15)) { return (EnvVars) pexec.execPython("get_characteristic_env_vars"); } else { return super.getCharacteristicEnvVars(); } } @Override public EnvVars getEnvironment(Node node, TaskListener listener) throws IOException, InterruptedException { initPython(); if (pexec.isImplemented(16)) { return (EnvVars) pexec.execPython("get_environment", node, listener); } else { return super.getEnvironment(node, listener); } } @Override public synchronized void updateNextBuildNumber(int next) throws IOException { initPython(); if (pexec.isImplemented(17)) { pexec.execPythonVoid("update_next_build_number", DataConvertor.fromInt(next)); } else { super.updateNextBuildNumber(next); } } @Override public BuildDiscarder getBuildDiscarder() { initPython(); if (pexec.isImplemented(18)) { return (BuildDiscarder) pexec.execPython("get_build_discarder"); } else { return super.getBuildDiscarder(); } } @Override public void setBuildDiscarder(BuildDiscarder bd) throws IOException { initPython(); if (pexec.isImplemented(19)) { pexec.execPythonVoid("set_build_discarder", bd); } else { super.setBuildDiscarder(bd); } } @Override public LogRotator getLogRotator() { initPython(); if (pexec.isImplemented(20)) { return (LogRotator) pexec.execPython("get_log_rotator"); } else { return super.getLogRotator(); } } @Override public void setLogRotator(LogRotator logRotator) throws IOException { initPython(); if (pexec.isImplemented(21)) { pexec.execPythonVoid("set_log_rotator", logRotator); } else { super.setLogRotator(logRotator); } } @Override public void logRotate() throws IOException, InterruptedException { initPython(); if (pexec.isImplemented(22)) { pexec.execPythonVoid("log_rotate"); } else { super.logRotate(); } } @Override public boolean supportsLogRotator() { initPython(); if (pexec.isImplemented(23)) { return pexec.execPythonBool("supports_log_rotator"); } else { return super.supportsLogRotator(); } } public @Override SearchIndexBuilder makeSearchIndex() { initPython(); if (pexec.isImplemented(24)) { return (SearchIndexBuilder) pexec.execPython("make_search_index"); } else { return super.makeSearchIndex(); } } @Override public Collection<? extends Job> getAllJobs() { initPython(); if (pexec.isImplemented(25)) { return (Collection) pexec.execPython("get_all_jobs"); } else { return super.getAllJobs(); } } @Override public void addProperty(JobProperty<? super JobT> jobProp) throws IOException { initPython(); if (pexec.isImplemented(26)) { pexec.execPythonVoid("add_property", jobProp); } else { super.addProperty(jobProp); } } @Override public void removeProperty(JobProperty<? super JobT> jobProp) throws IOException { initPython(); if (pexec.isImplemented(27)) { pexec.execPythonVoid("remove_property", jobProp); } else { super.removeProperty(jobProp); } } @Override public <T extends JobProperty> T removeProperty(Class<T> clazz) throws IOException { initPython(); if (pexec.isImplemented(28)) { return (T) pexec.execPython("remove_property", clazz); } else { return super.removeProperty(clazz); } } @Override @SuppressWarnings("unchecked") public Map<JobPropertyDescriptor, JobProperty<? super JobT>> getProperties() { initPython(); if (pexec.isImplemented(29)) { return (Map) pexec.execPython("get_properties"); } else { return super.getProperties(); } } @Override @Exported(name = "property", inline = true) public List<JobProperty<? super JobT>> getAllProperties() { initPython(); if (pexec.isImplemented(30)) { return (List) pexec.execPython("get_all_properties"); } else { return super.getAllProperties(); } } @Override public <T extends JobProperty> T getProperty(Class<T> clazz) { initPython(); if (pexec.isImplemented(31)) { return (T) pexec.execPython("get_property", clazz); } else { return super.getProperty(clazz); } } @Override public JobProperty getProperty(String className) { initPython(); if (pexec.isImplemented(32)) { return (JobProperty) pexec.execPython("get_property", className); } else { return super.getProperty(className); } } @Override public Collection<?> getOverrides() { initPython(); if (pexec.isImplemented(33)) { return (Collection) pexec.execPython("get_overrides"); } else { return super.getOverrides(); } } @Override public List<Widget> getWidgets() { initPython(); if (pexec.isImplemented(34)) { return (List) pexec.execPython("get_widgets"); } else { return super.getWidgets(); } } @Override public HistoryWidget createHistoryWidget() { initPython(); if (pexec.isImplemented(35)) { return (HistoryWidget) pexec.execPython("create_history_widget"); } else { return super.createHistoryWidget(); } } @Override public void renameTo(String newName) throws IOException { initPython(); if (pexec.isImplemented(36)) { pexec.execPythonVoid("rename_to", newName); } else { super.renameTo(newName); } } @Override public synchronized void delete() throws IOException, InterruptedException { initPython(); if (pexec.isImplemented(37)) { pexec.execPythonVoid("delete"); } else { super.delete(); } } @Override @Exported(name = "allBuilds", visibility = -2) @WithBridgeMethods(List.class) public RunList<RunT> getBuilds() { initPython(); if (pexec.isImplemented(38)) { return (RunList) pexec.execPython("get_builds"); } else { return super.getBuilds(); } } @Override @Exported(name = "builds") public RunList<RunT> getNewBuilds() { initPython(); if (pexec.isImplemented(39)) { return (RunList) pexec.execPython("get_new_builds"); } else { return super.getNewBuilds(); } } @Override public synchronized List<RunT> getBuilds(RangeSet rs) { initPython(); if (pexec.isImplemented(40)) { return (List) pexec.execPython("get_builds", rs); } else { return super.getBuilds(rs); } } @Override public SortedMap<Integer, RunT> getBuildsAsMap() { initPython(); if (pexec.isImplemented(41)) { return (SortedMap) pexec.execPython("get_builds_as_map"); } else { return super.getBuildsAsMap(); } } @Override public RunT getBuildByNumber(int n) { initPython(); if (pexec.isImplemented(42)) { return (RunT) pexec.execPython("get_build_by_number", DataConvertor.fromInt(n)); } else { return super.getBuildByNumber(n); } } @Override @WithBridgeMethods(List.class) public RunList<RunT> getBuildsByTimestamp(long start, long end) { initPython(); if (pexec.isImplemented(43)) { return (RunList) pexec.execPython("get_builds_by_timestamp", DataConvertor.fromLong(start), DataConvertor.fromLong(end)); } else { return super.getBuildsByTimestamp(start, end); } } @Override @CLIResolver public RunT getBuildForCLI(@Argument(required = true, metaVar = "BUILD#", usage = "Build number") String id) throws CmdLineException { initPython(); if (pexec.isImplemented(44)) { return (RunT) pexec.execPython("get_build_for_cli", id); } else { return super.getBuildForCLI(id); } } @Override public RunT getNearestBuild(int n) { initPython(); if (pexec.isImplemented(45)) { return (RunT) pexec.execPython("get_nearest_build", DataConvertor.fromInt(n)); } else { return super.getNearestBuild(n); } } @Override public RunT getNearestOldBuild(int n) { initPython(); if (pexec.isImplemented(46)) { return (RunT) pexec.execPython("get_nearest_old_build", DataConvertor.fromInt(n)); } else { return super.getNearestOldBuild(n); } } @Override public Object getDynamic(String token, StaplerRequest req, StaplerResponse rsp) { initPython(); if (pexec.isImplemented(47)) { return (Object) pexec.execPython("get_dynamic", token, req, rsp); } else { return super.getDynamic(token, req, rsp); } } @Override public File getBuildDir() { initPython(); if (pexec.isImplemented(48)) { return (File) pexec.execPython("get_build_dir"); } else { return super.getBuildDir(); } } @Override @Exported @QuickSilver public RunT getLastBuild() { initPython(); if (pexec.isImplemented(49)) { return (RunT) pexec.execPython("get_last_build"); } else { return super.getLastBuild(); } } @Override @Exported @QuickSilver public RunT getFirstBuild() { initPython(); if (pexec.isImplemented(50)) { return (RunT) pexec.execPython("get_first_build"); } else { return super.getFirstBuild(); } } @Override @Exported @QuickSilver public RunT getLastSuccessfulBuild() { initPython(); if (pexec.isImplemented(51)) { return (RunT) pexec.execPython("get_last_successful_build"); } else { return super.getLastSuccessfulBuild(); } } @Override @Exported @QuickSilver public RunT getLastUnsuccessfulBuild() { initPython(); if (pexec.isImplemented(52)) { return (RunT) pexec.execPython("get_last_unsuccessful_build"); } else { return super.getLastUnsuccessfulBuild(); } } @Override @Exported @QuickSilver public RunT getLastUnstableBuild() { initPython(); if (pexec.isImplemented(53)) { return (RunT) pexec.execPython("get_last_unstable_build"); } else { return super.getLastUnstableBuild(); } } @Override @Exported @QuickSilver public RunT getLastStableBuild() { initPython(); if (pexec.isImplemented(54)) { return (RunT) pexec.execPython("get_last_stable_build"); } else { return super.getLastStableBuild(); } } @Override @Exported @QuickSilver public RunT getLastFailedBuild() { initPython(); if (pexec.isImplemented(55)) { return (RunT) pexec.execPython("get_last_failed_build"); } else { return super.getLastFailedBuild(); } } @Override @Exported @QuickSilver public RunT getLastCompletedBuild() { initPython(); if (pexec.isImplemented(56)) { return (RunT) pexec.execPython("get_last_completed_build"); } else { return super.getLastCompletedBuild(); } } @Override public List<RunT> getLastBuildsOverThreshold(int numberOfBuilds, Result threshold) { initPython(); if (pexec.isImplemented(57)) { return (List) pexec.execPython("get_last_builds_over_threshold", DataConvertor.fromInt(numberOfBuilds), threshold); } else { return super.getLastBuildsOverThreshold(numberOfBuilds, threshold); } } @Override public @SuppressWarnings("unchecked") List<RunT> getEstimatedDurationCandidates() { initPython(); if (pexec.isImplemented(58)) { return (List) pexec.execPython("get_estimated_duration_candidates"); } else { return super.getEstimatedDurationCandidates(); } } @Override public long getEstimatedDuration() { initPython(); if (pexec.isImplemented(59)) { return pexec.execPythonLong("get_estimated_duration"); } else { return super.getEstimatedDuration(); } } @Override public PermalinkList getPermalinks() { initPython(); if (pexec.isImplemented(60)) { return (PermalinkList) pexec.execPython("get_permalinks"); } else { return super.getPermalinks(); } } @Override @Exported(visibility = 2, name = "color") public BallColor getIconColor() { initPython(); if (pexec.isImplemented(61)) { return (BallColor) pexec.execPython("get_icon_color"); } else { return super.getIconColor(); } } @Override public HealthReport getBuildHealth() { initPython(); if (pexec.isImplemented(62)) { return (HealthReport) pexec.execPython("get_build_health"); } else { return super.getBuildHealth(); } } @Override @Exported(name = "healthReport") public List<HealthReport> getBuildHealthReports() { initPython(); if (pexec.isImplemented(63)) { return (List) pexec.execPython("get_build_health_reports"); } else { return super.getBuildHealthReports(); } } @Override @RequirePOST public synchronized void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { initPython(); if (pexec.isImplemented(64)) { pexec.execPythonVoid("do_config_submit", req, rsp); } else { super.doConfigSubmit(req, rsp); } } @Override public void submit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { initPython(); if (pexec.isImplemented(65)) { pexec.execPythonVoid("submit", req, rsp); } else { super.submit(req, rsp); } } @Override public void doDescription(StaplerRequest req, StaplerResponse rsp) throws IOException { initPython(); if (pexec.isImplemented(66)) { pexec.execPythonVoid("do_description", req, rsp); } else { super.doDescription(req, rsp); } } @Override public void doBuildStatus(StaplerRequest req, StaplerResponse rsp) throws IOException { initPython(); if (pexec.isImplemented(67)) { pexec.execPythonVoid("do_build_status", req, rsp); } else { super.doBuildStatus(req, rsp); } } @Override public String getBuildStatusUrl() { initPython(); if (pexec.isImplemented(68)) { return (String) pexec.execPython("get_build_status_url"); } else { return super.getBuildStatusUrl(); } } @Override public Graph getBuildTimeGraph() { initPython(); if (pexec.isImplemented(69)) { return (Graph) pexec.execPython("get_build_time_graph"); } else { return super.getBuildTimeGraph(); } } @Override @RequirePOST public void doDoRename(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { initPython(); if (pexec.isImplemented(70)) { pexec.execPythonVoid("do_do_rename", req, rsp); } else { super.doDoRename(req, rsp); } } @Override public void doRssAll(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { initPython(); if (pexec.isImplemented(71)) { pexec.execPythonVoid("do_rss_all", req, rsp); } else { super.doRssAll(req, rsp); } } @Override public void doRssFailed(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { initPython(); if (pexec.isImplemented(72)) { pexec.execPythonVoid("do_rss_failed", req, rsp); } else { super.doRssFailed(req, rsp); } } @Override public ACL getACL() { initPython(); if (pexec.isImplemented(73)) { return (ACL) pexec.execPython("get_acl"); } else { return super.getACL(); } } @Override public BuildTimelineWidget getTimeline() { initPython(); if (pexec.isImplemented(74)) { return (BuildTimelineWidget) pexec.execPython("get_timeline"); } else { return super.getTimeline(); } } @Override public void onCreatedFromScratch() { initPython(); if (pexec.isImplemented(75)) { pexec.execPythonVoid("on_created_from_scratch"); } else { super.onCreatedFromScratch(); } } @Override @Exported(visibility = 999) public String getName() { initPython(); if (pexec.isImplemented(76)) { return (String) pexec.execPython("get_name"); } else { return super.getName(); } } @Override @Exported public String getDisplayName() { initPython(); if (pexec.isImplemented(77)) { return (String) pexec.execPython("get_display_name"); } else { return super.getDisplayName(); } } @Override @Exported public String getDisplayNameOrNull() { initPython(); if (pexec.isImplemented(78)) { return (String) pexec.execPython("get_display_name_or_null"); } else { return super.getDisplayNameOrNull(); } } @Override public void setDisplayNameOrNull(String displayName) throws IOException { initPython(); if (pexec.isImplemented(79)) { pexec.execPythonVoid("set_display_name_or_null", displayName); } else { super.setDisplayNameOrNull(displayName); } } @Override public void setDisplayName(String displayName) throws IOException { initPython(); if (pexec.isImplemented(80)) { pexec.execPythonVoid("set_display_name", displayName); } else { super.setDisplayName(displayName); } } @Override public File getRootDir() { initPython(); if (pexec.isImplemented(81)) { return (File) pexec.execPython("get_root_dir"); } else { return super.getRootDir(); } } @Override @WithBridgeMethods(value = Jenkins.class, castRequired = true) public ItemGroup getParent() { initPython(); if (pexec.isImplemented(82)) { return (ItemGroup) pexec.execPython("get_parent"); } else { return super.getParent(); } } @Override @Exported public String getDescription() { initPython(); if (pexec.isImplemented(83)) { return (String) pexec.execPython("get_description"); } else { return super.getDescription(); } } @Override public void setDescription(String description) throws IOException { initPython(); if (pexec.isImplemented(84)) { pexec.execPythonVoid("set_description", description); } else { super.setDescription(description); } } @Override public void doSetName(String name) { initPython(); if (pexec.isImplemented(85)) { pexec.execPythonVoid("do_set_name", name); } else { super.doSetName(name); } } @Override public String getRelativeNameFrom(ItemGroup p) { initPython(); if (pexec.isImplemented(86)) { return (String) pexec.execPython("get_relative_name_from", p); } else { return super.getRelativeNameFrom(p); } } @Override public String getRelativeNameFrom(Item item) { initPython(); if (pexec.isImplemented(87)) { return (String) pexec.execPython("get_relative_name_from", item); } else { return super.getRelativeNameFrom(item); } } @Override public String getShortUrl() { initPython(); if (pexec.isImplemented(88)) { return (String) pexec.execPython("get_short_url"); } else { return super.getShortUrl(); } } @Override public String getSearchUrl() { initPython(); if (pexec.isImplemented(89)) { return (String) pexec.execPython("get_search_url"); } else { return super.getSearchUrl(); } } @Override public void checkPermission(Permission p) { initPython(); if (pexec.isImplemented(90)) { pexec.execPythonVoid("check_permission", p); } else { super.checkPermission(p); } } @Override public boolean hasPermission(Permission p) { initPython(); if (pexec.isImplemented(91)) { return pexec.execPythonBool("has_permission", p); } else { return super.hasPermission(p); } } @Override public Descriptor getDescriptorByName(String className) { initPython(); if (pexec.isImplemented(92)) { return (Descriptor) pexec.execPython("get_descriptor_by_name", className); } else { return super.getDescriptorByName(className); } } @Override public synchronized void doSubmitDescription(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { initPython(); if (pexec.isImplemented(93)) { pexec.execPythonVoid("do_submit_description", req, rsp); } else { super.doSubmitDescription(req, rsp); } } @Override public void delete(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { initPython(); if (pexec.isImplemented(95)) { pexec.execPythonVoid("delete", req, rsp); } else { super.delete(req, rsp); } } @Override @WebMethod(name = "config.xml") public void doConfigDotXml(StaplerRequest req, StaplerResponse rsp) throws IOException { initPython(); if (pexec.isImplemented(96)) { pexec.execPythonVoid("do_config_dot_xml", req, rsp); } else { super.doConfigDotXml(req, rsp); } } @Override public void updateByXml(StreamSource source) throws IOException { initPython(); if (pexec.isImplemented(97)) { pexec.execPythonVoid("update_by_xml", source); } else { super.updateByXml(source); } } @Override public void updateByXml(Source source) throws IOException { initPython(); if (pexec.isImplemented(98)) { pexec.execPythonVoid("update_by_xml", source); } else { super.updateByXml(source); } } @Override public String getSearchName() { initPython(); if (pexec.isImplemented(99)) { return (String) pexec.execPython("get_search_name"); } else { return super.getSearchName(); } } @Override public String toString() { initPython(); if (pexec.isImplemented(100)) { return (String) pexec.execPython("to_string"); } else { return super.toString(); } } @Override @Exported public List<Action> getActions() { initPython(); if (pexec.isImplemented(101)) { return (List) pexec.execPython("get_actions"); } else { return super.getActions(); } } @Override public <T extends Action> List<T> getActions(Class<T> type) { initPython(); if (pexec.isImplemented(102)) { return (List) pexec.execPython("get_actions", type); } else { return super.getActions(type); } } @Override public void addAction(Action a) { initPython(); if (pexec.isImplemented(103)) { pexec.execPythonVoid("add_action", a); } else { super.addAction(a); } } @Override public Action getAction(int index) { initPython(); if (pexec.isImplemented(104)) { return (Action) pexec.execPython("get_action", DataConvertor.fromInt(index)); } else { return super.getAction(index); } } @Override public <T extends Action> T getAction(Class<T> type) { initPython(); if (pexec.isImplemented(105)) { return (T) pexec.execPython("get_action", type); } else { return super.getAction(type); } } @Override public ContextMenu doContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { initPython(); if (pexec.isImplemented(106)) { return (ContextMenu) pexec.execPython("do_context_menu", request, response); } else { return super.doContextMenu(request, response); } } @Override public Search getSearch() { initPython(); if (pexec.isImplemented(107)) { return (Search) pexec.execPython("get_search"); } else { return super.getSearch(); } } public synchronized void superSave() throws IOException { super.save(); } public void superOnLoad(ItemGroup<? extends Item> parent, String name) throws IOException { super.onLoad(parent, name); } public void superOnCopiedFrom(Item src) { super.onCopiedFrom(src); } public void superPerformDelete() throws IOException, InterruptedException { super.performDelete(); } public boolean superIsHoldOffBuildUntilSave() { return super.isHoldOffBuildUntilSave(); } public synchronized void superSaveNextBuildNumber() throws IOException { super.saveNextBuildNumber(); } public boolean superIsInQueue() { return super.isInQueue(); } public hudson.model.Queue.Item superGetQueueItem() { return super.getQueueItem(); } public boolean superIsBuilding() { return super.isBuilding(); } public boolean superIsLogUpdated() { return super.isLogUpdated(); } public String superGetPronoun() { return super.getPronoun(); } public boolean superIsNameEditable() { return super.isNameEditable(); } public boolean superIsKeepDependencies() { return super.isKeepDependencies(); } public synchronized int superAssignBuildNumber() throws IOException { return super.assignBuildNumber(); } public int superGetNextBuildNumber() { return super.getNextBuildNumber(); } public EnvVars superGetCharacteristicEnvVars() { return super.getCharacteristicEnvVars(); } public EnvVars superGetEnvironment(Node node, TaskListener listener) throws IOException, InterruptedException { return super.getEnvironment(node, listener); } public synchronized void superUpdateNextBuildNumber(int next) throws IOException { super.updateNextBuildNumber(next); } public BuildDiscarder superGetBuildDiscarder() { return super.getBuildDiscarder(); } public void superSetBuildDiscarder(BuildDiscarder bd) throws IOException { super.setBuildDiscarder(bd); } public LogRotator superGetLogRotator() { return super.getLogRotator(); } public void superSetLogRotator(LogRotator logRotator) throws IOException { super.setLogRotator(logRotator); } public void superLogRotate() throws IOException, InterruptedException { super.logRotate(); } public boolean superSupportsLogRotator() { return super.supportsLogRotator(); } public SearchIndexBuilder superMakeSearchIndex() { return super.makeSearchIndex(); } public Collection<? extends Job> superGetAllJobs() { return super.getAllJobs(); } public void superAddProperty(JobProperty<? super JobT> jobProp) throws IOException { super.addProperty(jobProp); } public void superRemoveProperty(JobProperty<? super JobT> jobProp) throws IOException { super.removeProperty(jobProp); } public <T extends JobProperty> T superRemoveProperty(Class<T> clazz) throws IOException { return super.removeProperty(clazz); } public Map<JobPropertyDescriptor, JobProperty<? super JobT>> superGetProperties() { return super.getProperties(); } public List<JobProperty<? super JobT>> superGetAllProperties() { return super.getAllProperties(); } public <T extends JobProperty> T superGetProperty(Class<T> clazz) { return super.getProperty(clazz); } public JobProperty superGetProperty(String className) { return super.getProperty(className); } public Collection<?> superGetOverrides() { return super.getOverrides(); } public List<Widget> superGetWidgets() { return super.getWidgets(); } public HistoryWidget superCreateHistoryWidget() { return super.createHistoryWidget(); } public void superRenameTo(String newName) throws IOException { super.renameTo(newName); } public synchronized void superDelete() throws IOException, InterruptedException { super.delete(); } public RunList<RunT> superGetBuilds() { return super.getBuilds(); } public RunList<RunT> superGetNewBuilds() { return super.getNewBuilds(); } public synchronized List<RunT> superGetBuilds(RangeSet rs) { return super.getBuilds(rs); } public SortedMap<Integer, RunT> superGetBuildsAsMap() { return super.getBuildsAsMap(); } public RunT superGetBuildByNumber(int n) { return super.getBuildByNumber(n); } public RunList<RunT> superGetBuildsByTimestamp(long start, long end) { return super.getBuildsByTimestamp(start, end); } public RunT superGetBuildForCLI(@Argument(required = true, metaVar = "BUILD#", usage = "Build number") String id) throws CmdLineException { return super.getBuildForCLI(id); } public RunT superGetNearestBuild(int n) { return super.getNearestBuild(n); } public RunT superGetNearestOldBuild(int n) { return super.getNearestOldBuild(n); } public Object superGetDynamic(String token, StaplerRequest req, StaplerResponse rsp) { return super.getDynamic(token, req, rsp); } public File superGetBuildDir() { return super.getBuildDir(); } public RunT superGetLastBuild() { return super.getLastBuild(); } public RunT superGetFirstBuild() { return super.getFirstBuild(); } public RunT superGetLastSuccessfulBuild() { return super.getLastSuccessfulBuild(); } public RunT superGetLastUnsuccessfulBuild() { return super.getLastUnsuccessfulBuild(); } public RunT superGetLastUnstableBuild() { return super.getLastUnstableBuild(); } public RunT superGetLastStableBuild() { return super.getLastStableBuild(); } public RunT superGetLastFailedBuild() { return super.getLastFailedBuild(); } public RunT superGetLastCompletedBuild() { return super.getLastCompletedBuild(); } public List<RunT> superGetLastBuildsOverThreshold(int numberOfBuilds, Result threshold) { return super.getLastBuildsOverThreshold(numberOfBuilds, threshold); } public List<RunT> superGetEstimatedDurationCandidates() { return super.getEstimatedDurationCandidates(); } public long superGetEstimatedDuration() { return super.getEstimatedDuration(); } public PermalinkList superGetPermalinks() { return super.getPermalinks(); } public BallColor superGetIconColor() { return super.getIconColor(); } public HealthReport superGetBuildHealth() { return super.getBuildHealth(); } public List<HealthReport> superGetBuildHealthReports() { return super.getBuildHealthReports(); } public synchronized void superDoConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { super.doConfigSubmit(req, rsp); } public void superSubmit(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, FormException { super.submit(req, rsp); } public void superDoDescription(StaplerRequest req, StaplerResponse rsp) throws IOException { super.doDescription(req, rsp); } public void superDoBuildStatus(StaplerRequest req, StaplerResponse rsp) throws IOException { super.doBuildStatus(req, rsp); } public String superGetBuildStatusUrl() { return super.getBuildStatusUrl(); } public Graph superGetBuildTimeGraph() { return super.getBuildTimeGraph(); } public void superDoDoRename(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { super.doDoRename(req, rsp); } public void superDoRssAll(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { super.doRssAll(req, rsp); } public void superDoRssFailed(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { super.doRssFailed(req, rsp); } public ACL superGetACL() { return super.getACL(); } public BuildTimelineWidget superGetTimeline() { return super.getTimeline(); } public void superOnCreatedFromScratch() { super.onCreatedFromScratch(); } public String superGetName() { return super.getName(); } public String superGetDisplayName() { return super.getDisplayName(); } public String superGetDisplayNameOrNull() { return super.getDisplayNameOrNull(); } public void superSetDisplayNameOrNull(String displayName) throws IOException { super.setDisplayNameOrNull(displayName); } public void superSetDisplayName(String displayName) throws IOException { super.setDisplayName(displayName); } public File superGetRootDir() { return super.getRootDir(); } public ItemGroup superGetParent() { return super.getParent(); } public String superGetDescription() { return super.getDescription(); } public void superSetDescription(String description) throws IOException { super.setDescription(description); } public void superDoSetName(String name) { super.doSetName(name); } public String superGetRelativeNameFrom(ItemGroup p) { return super.getRelativeNameFrom(p); } public String superGetRelativeNameFrom(Item item) { return super.getRelativeNameFrom(item); } public String superGetShortUrl() { return super.getShortUrl(); } public String superGetSearchUrl() { return super.getSearchUrl(); } public void superCheckPermission(Permission p) { super.checkPermission(p); } public boolean superHasPermission(Permission p) { return super.hasPermission(p); } public Descriptor superGetDescriptorByName(String className) { return super.getDescriptorByName(className); } public synchronized void superDoSubmitDescription(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { super.doSubmitDescription(req, rsp); } public void superDoDoDelete(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, InterruptedException { super.doDoDelete(req, rsp); } public void superDelete(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException { super.delete(req, rsp); } public void superDoConfigDotXml(StaplerRequest req, StaplerResponse rsp) throws IOException { super.doConfigDotXml(req, rsp); } public void superUpdateByXml(StreamSource source) throws IOException { super.updateByXml(source); } public void superUpdateByXml(Source source) throws IOException { super.updateByXml(source); } public String superGetSearchName() { return super.getSearchName(); } public String superToString() { return super.toString(); } public List<Action> superGetActions() { return super.getActions(); } public <T extends Action> List<T> superGetActions(Class<T> type) { return super.getActions(type); } public void superAddAction(Action a) { super.addAction(a); } public Action superGetAction(int index) { return super.getAction(index); } public <T extends Action> T superGetAction(Class<T> type) { return super.getAction(type); } public ContextMenu superDoContextMenu(StaplerRequest request, StaplerResponse response) throws Exception { return super.doContextMenu(request, response); } public Search superGetSearch() { return super.getSearch(); } public Object execPython(String function, Object... params) { initPython(); return pexec.execPython(function, params); } public byte execPythonByte(String function, Object... params) { initPython(); return pexec.execPythonByte(function, params); } public short execPythonShort(String function, Object... params) { initPython(); return pexec.execPythonShort(function, params); } public char execPythonChar(String function, Object... params) { initPython(); return pexec.execPythonChar(function, params); } public int execPythonInt(String function, Object... params) { initPython(); return pexec.execPythonInt(function, params); } public long execPythonLong(String function, Object... params) { initPython(); return pexec.execPythonLong(function, params); } public float execPythonFloat(String function, Object... params) { initPython(); return pexec.execPythonFloat(function, params); } public double execPythonDouble(String function, Object... params) { initPython(); return pexec.execPythonDouble(function, params); } public boolean execPythonBool(String function, Object... params) { initPython(); return pexec.execPythonBool(function, params); } public void execPythonVoid(String function, Object... params) { initPython(); pexec.execPythonVoid(function, params); } }