From 4a98beaf6463ea2e746fd837965676899d57b873 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Mon, 4 Aug 2014 15:48:52 -0400 Subject: [PATCH] Using ExtensionList.lookup consistently. --- core/src/main/java/hudson/FilePath.java | 18 ++++-------------- core/src/main/java/hudson/Functions.java | 2 +- .../main/java/hudson/LauncherDecorator.java | 2 +- core/src/main/java/hudson/PluginManager.java | 2 +- .../main/java/hudson/UDPBroadcastFragment.java | 2 +- .../java/hudson/URLConnectionDecorator.java | 2 +- core/src/main/java/hudson/cli/CLICommand.java | 2 +- .../hudson/cli/CliTransportAuthenticator.java | 2 +- .../console/ConsoleAnnotatorFactory.java | 2 +- .../java/hudson/console/ConsoleLogFilter.java | 2 +- .../diagnosis/HudsonHomeDiskUsageMonitor.java | 2 +- .../java/hudson/model/AbstractProject.java | 8 ++++++-- .../src/main/java/hudson/model/Actionable.java | 11 ++++------- .../hudson/model/AdministrativeMonitor.java | 2 +- .../main/java/hudson/model/AperiodicWork.java | 2 +- core/src/main/java/hudson/model/Api.java | 3 ++- .../java/hudson/model/BuildStepListener.java | 2 +- .../hudson/model/BuildVariableContributor.java | 2 +- .../java/hudson/model/ComputerPanelBox.java | 3 ++- .../main/java/hudson/model/ComputerPinger.java | 2 +- .../src/main/java/hudson/model/Descriptor.java | 3 ++- .../model/DescriptorVisibilityFilter.java | 2 +- .../java/hudson/model/DownloadService.java | 2 +- .../hudson/model/EnvironmentContributor.java | 2 +- .../hudson/model/FingerprintCleanupThread.java | 3 ++- .../main/java/hudson/model/LabelFinder.java | 2 +- .../main/java/hudson/model/ManagementLink.java | 2 +- .../main/java/hudson/model/PeriodicWork.java | 2 +- core/src/main/java/hudson/model/Queue.java | 2 +- .../java/hudson/model/RestartListener.java | 2 +- core/src/main/java/hudson/model/Run.java | 11 ++++------- .../model/TransientBuildActionFactory.java | 2 +- .../model/TransientComputerActionFactory.java | 2 +- .../model/TransientProjectActionFactory.java | 2 +- .../model/TransientUserActionFactory.java | 2 +- .../model/TransientViewActionFactory.java | 2 +- core/src/main/java/hudson/model/User.java | 2 +- .../hudson/model/WorkspaceCleanupThread.java | 3 ++- .../java/hudson/model/WorkspaceListener.java | 2 +- .../hudson/model/listeners/ItemListener.java | 2 +- .../hudson/model/listeners/RunListener.java | 2 +- .../model/listeners/SCMPollListener.java | 2 +- .../java/hudson/model/queue/LoadPredictor.java | 2 +- .../java/hudson/model/queue/QueueListener.java | 2 +- .../java/hudson/model/queue/QueueSorter.java | 2 +- .../model/queue/QueueTaskDispatcher.java | 2 +- .../hudson/model/queue/SubTaskContributor.java | 2 +- .../java/hudson/scm/ChangeLogAnnotator.java | 2 +- .../main/java/hudson/search/SearchFactory.java | 2 +- .../hudson/security/FederatedLoginService.java | 2 +- .../security/HudsonPrivateSecurityRealm.java | 3 ++- .../hudson/security/csrf/CrumbExclusion.java | 2 +- .../slaves/CloudProvisioningListener.java | 2 +- .../java/hudson/slaves/ComputerListener.java | 2 +- .../java/hudson/tasks/UserAvatarResolver.java | 2 +- .../java/hudson/tasks/UserNameResolver.java | 2 +- .../tasks/junit/TestNameTransformer.java | 2 +- .../hudson/tasks/test/TestResultParser.java | 2 +- .../hudson/tools/ToolLocationTranslator.java | 2 +- .../hudson/util/AlternativeUiTextProvider.java | 2 +- .../main/java/hudson/util/ProcessKiller.java | 2 +- .../hudson/util/io/ParserConfigurator.java | 2 +- core/src/main/java/jenkins/AgentProtocol.java | 2 +- .../src/main/java/jenkins/ExtensionFilter.java | 2 +- .../model/GlobalConfigurationCategory.java | 2 +- .../TransientFingerprintFacetFactory.java | 2 +- core/src/main/java/jenkins/model/Uptime.java | 3 ++- .../jenkins/model/lazy/BuildReference.java | 15 ++++++--------- .../security/BasicHeaderAuthenticator.java | 2 +- .../jenkins/security/SecurityListener.java | 3 ++- .../java/jenkins/slaves/JnlpAgentReceiver.java | 2 +- .../java/jenkins/slaves/WorkspaceLocator.java | 2 +- .../slaves/restarter/SlaveRestarter.java | 2 +- .../slaves/systemInfo/SlaveSystemInfo.java | 2 +- .../META-INF/upgrade/ExtensionList.hint | 1 + 75 files changed, 102 insertions(+), 108 deletions(-) create mode 100644 core/src/main/resources/META-INF/upgrade/ExtensionList.hint diff --git a/core/src/main/java/hudson/FilePath.java b/core/src/main/java/hudson/FilePath.java index dfd82b6d2c..142a96c7b3 100644 --- a/core/src/main/java/hudson/FilePath.java +++ b/core/src/main/java/hudson/FilePath.java @@ -900,14 +900,9 @@ public final class FilePath implements Serializable { // run this on a remote system try { DelegatingCallable wrapper = new FileCallableWrapper(callable, cl); - Jenkins instance = Jenkins.getInstance(); - if (instance != null) { // this happens during unit tests - ExtensionList factories = instance.getExtensionList(FileCallableWrapperFactory.class); - for (FileCallableWrapperFactory factory : factories) { - wrapper = factory.wrap(wrapper); - } + for (FileCallableWrapperFactory factory : ExtensionList.lookup(FileCallableWrapperFactory.class)) { + wrapper = factory.wrap(wrapper); } - return channel.call(wrapper); } catch (TunneledInterruptedException e) { throw (InterruptedException)new InterruptedException(e.getMessage()).initCause(e); @@ -985,14 +980,9 @@ public final class FilePath implements Serializable { public Future actAsync(final FileCallable callable) throws IOException, InterruptedException { try { DelegatingCallable wrapper = new FileCallableWrapper(callable); - Jenkins instance = Jenkins.getInstance(); - if (instance != null) { // this happens during unit tests - ExtensionList factories = instance.getExtensionList(FileCallableWrapperFactory.class); - for (FileCallableWrapperFactory factory : factories) { - wrapper = factory.wrap(wrapper); - } + for (FileCallableWrapperFactory factory : ExtensionList.lookup(FileCallableWrapperFactory.class)) { + wrapper = factory.wrap(wrapper); } - return (channel!=null ? channel : localChannel) .callAsync(wrapper); } catch (IOException e) { diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index 8338c62ebe..f331d7f1cb 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -913,7 +913,7 @@ public class Functions { * @since 1.494 */ public static Collection getSortedDescriptorsForGlobalConfig(Predicate predicate) { - ExtensionList exts = Jenkins.getInstance().getExtensionList(Descriptor.class); + ExtensionList exts = ExtensionList.lookup(Descriptor.class); List r = new ArrayList(exts.size()); for (ExtensionComponent c : exts.getComponents()) { diff --git a/core/src/main/java/hudson/LauncherDecorator.java b/core/src/main/java/hudson/LauncherDecorator.java index 0abfca30e2..3bd5f7d021 100644 --- a/core/src/main/java/hudson/LauncherDecorator.java +++ b/core/src/main/java/hudson/LauncherDecorator.java @@ -45,6 +45,6 @@ public abstract class LauncherDecorator implements ExtensionPoint { * Returns all the registered {@link LauncherDecorator}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(LauncherDecorator.class); + return ExtensionList.lookup(LauncherDecorator.class); } } diff --git a/core/src/main/java/hudson/PluginManager.java b/core/src/main/java/hudson/PluginManager.java index 4867ba8fae..d47ac923c8 100644 --- a/core/src/main/java/hudson/PluginManager.java +++ b/core/src/main/java/hudson/PluginManager.java @@ -1170,7 +1170,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas * @return this monitor. */ public static final PluginUpdateMonitor getInstance() { - return Jenkins.getInstance().getExtensionList(PluginUpdateMonitor.class).get(0); + return ExtensionList.lookup(PluginUpdateMonitor.class).get(0); } /** diff --git a/core/src/main/java/hudson/UDPBroadcastFragment.java b/core/src/main/java/hudson/UDPBroadcastFragment.java index 12ee191070..9e7039f739 100644 --- a/core/src/main/java/hudson/UDPBroadcastFragment.java +++ b/core/src/main/java/hudson/UDPBroadcastFragment.java @@ -54,6 +54,6 @@ public abstract class UDPBroadcastFragment implements ExtensionPoint { * Returns all the registered {@link UDPBroadcastFragment}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(UDPBroadcastFragment.class); + return ExtensionList.lookup(UDPBroadcastFragment.class); } } diff --git a/core/src/main/java/hudson/URLConnectionDecorator.java b/core/src/main/java/hudson/URLConnectionDecorator.java index 04ec90657c..d6aad07b70 100644 --- a/core/src/main/java/hudson/URLConnectionDecorator.java +++ b/core/src/main/java/hudson/URLConnectionDecorator.java @@ -46,6 +46,6 @@ public abstract class URLConnectionDecorator implements ExtensionPoint { * Returns all the registered {@link URLConnectionDecorator}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(URLConnectionDecorator.class); + return ExtensionList.lookup(URLConnectionDecorator.class); } } diff --git a/core/src/main/java/hudson/cli/CLICommand.java b/core/src/main/java/hudson/cli/CLICommand.java index dc79a622de..a25872d929 100644 --- a/core/src/main/java/hudson/cli/CLICommand.java +++ b/core/src/main/java/hudson/cli/CLICommand.java @@ -489,7 +489,7 @@ public abstract class CLICommand implements ExtensionPoint, Cloneable { * Returns all the registered {@link CLICommand}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(CLICommand.class); + return ExtensionList.lookup(CLICommand.class); } /** diff --git a/core/src/main/java/hudson/cli/CliTransportAuthenticator.java b/core/src/main/java/hudson/cli/CliTransportAuthenticator.java index 514fee52f2..0db90cce10 100644 --- a/core/src/main/java/hudson/cli/CliTransportAuthenticator.java +++ b/core/src/main/java/hudson/cli/CliTransportAuthenticator.java @@ -49,6 +49,6 @@ public abstract class CliTransportAuthenticator implements ExtensionPoint { public abstract void authenticate(String protocol, Channel channel, Connection con); public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(CliTransportAuthenticator.class); + return ExtensionList.lookup(CliTransportAuthenticator.class); } } diff --git a/core/src/main/java/hudson/console/ConsoleAnnotatorFactory.java b/core/src/main/java/hudson/console/ConsoleAnnotatorFactory.java index 522b23f4ec..b4e63de84a 100644 --- a/core/src/main/java/hudson/console/ConsoleAnnotatorFactory.java +++ b/core/src/main/java/hudson/console/ConsoleAnnotatorFactory.java @@ -127,6 +127,6 @@ public abstract class ConsoleAnnotatorFactory implements ExtensionPoint { * All the registered instances. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ConsoleAnnotatorFactory.class); + return ExtensionList.lookup(ConsoleAnnotatorFactory.class); } } diff --git a/core/src/main/java/hudson/console/ConsoleLogFilter.java b/core/src/main/java/hudson/console/ConsoleLogFilter.java index 91654ab816..c980c1e1fb 100644 --- a/core/src/main/java/hudson/console/ConsoleLogFilter.java +++ b/core/src/main/java/hudson/console/ConsoleLogFilter.java @@ -55,6 +55,6 @@ public abstract class ConsoleLogFilter implements ExtensionPoint { * All the registered {@link ConsoleLogFilter}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ConsoleLogFilter.class); + return ExtensionList.lookup(ConsoleLogFilter.class); } } diff --git a/core/src/main/java/hudson/diagnosis/HudsonHomeDiskUsageMonitor.java b/core/src/main/java/hudson/diagnosis/HudsonHomeDiskUsageMonitor.java index b37934f023..bb4e8e5040 100644 --- a/core/src/main/java/hudson/diagnosis/HudsonHomeDiskUsageMonitor.java +++ b/core/src/main/java/hudson/diagnosis/HudsonHomeDiskUsageMonitor.java @@ -134,7 +134,7 @@ public final class HudsonHomeDiskUsageMonitor extends AdministrativeMonitor { * All registered {@link Solution}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(Solution.class); + return ExtensionList.lookup(Solution.class); } } } diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index 0c3cb3b565..2c44863d3d 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -32,6 +32,7 @@ import com.infradna.tool.bridge_method_injector.WithBridgeMethods; import hudson.AbortException; import hudson.CopyOnWrite; import hudson.EnvVars; +import hudson.ExtensionList; import hudson.ExtensionPoint; import hudson.FeedAdapter; import hudson.FilePath; @@ -547,7 +548,7 @@ public abstract class AbstractProject

,R extends A public final @CheckForNull FilePath getSomeWorkspace() { R b = getSomeBuildWithWorkspace(); if (b!=null) return b.getWorkspace(); - for (WorkspaceBrowser browser : Jenkins.getInstance().getExtensionList(WorkspaceBrowser.class)) { + for (WorkspaceBrowser browser : ExtensionList.lookup(WorkspaceBrowser.class)) { FilePath f = browser.getWorkspace(this); if (f != null) return f; } @@ -1369,7 +1370,7 @@ public abstract class AbstractProject

,R extends A WorkspaceOfflineReason workspaceOfflineReason = workspaceOffline( b ); if ( workspaceOfflineReason != null ) { // workspace offline - for (WorkspaceBrowser browser : Jenkins.getInstance().getExtensionList(WorkspaceBrowser.class)) { + for (WorkspaceBrowser browser : ExtensionList.lookup(WorkspaceBrowser.class)) { ws = browser.getWorkspace(this); if (ws != null) { return pollWithWorkspace(listener, scm, b, ws, browser.getWorkspaceList()); @@ -2039,6 +2040,9 @@ public abstract class AbstractProject

,R extends A Messages.AbstractProject_AssignedLabelString_InvalidBooleanExpression(e.getMessage())); } Jenkins j = Jenkins.getInstance(); + if (j == null) { + return FormValidation.ok(); // ? + } Label l = j.getLabel(value); if (l.isEmpty()) { for (LabelAtom a : l.listAtoms()) { diff --git a/core/src/main/java/hudson/model/Actionable.java b/core/src/main/java/hudson/model/Actionable.java index 03ac14220e..ba19d39257 100644 --- a/core/src/main/java/hudson/model/Actionable.java +++ b/core/src/main/java/hudson/model/Actionable.java @@ -23,13 +23,13 @@ */ package hudson.model; +import hudson.ExtensionList; import hudson.Util; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; -import jenkins.model.Jenkins; import jenkins.model.ModelObjectWithContextMenu; import jenkins.model.TransientActionFactory; import org.kohsuke.stapler.StaplerRequest; @@ -89,12 +89,9 @@ public abstract class Actionable extends AbstractModelObject implements ModelObj @Exported(name="actions") public final List getAllActions() { List _actions = new ArrayList(getActions()); - Jenkins jenkins = Jenkins.getInstance(); - if (jenkins != null) { - for (TransientActionFactory taf : jenkins.getExtensionList(TransientActionFactory.class)) { - if (taf.type().isInstance(this)) { - _actions.addAll(createFor(taf)); - } + for (TransientActionFactory taf : ExtensionList.lookup(TransientActionFactory.class)) { + if (taf.type().isInstance(this)) { + _actions.addAll(createFor(taf)); } } return Collections.unmodifiableList(_actions); diff --git a/core/src/main/java/hudson/model/AdministrativeMonitor.java b/core/src/main/java/hudson/model/AdministrativeMonitor.java index 93febdbd75..a8e5554092 100644 --- a/core/src/main/java/hudson/model/AdministrativeMonitor.java +++ b/core/src/main/java/hudson/model/AdministrativeMonitor.java @@ -153,6 +153,6 @@ public abstract class AdministrativeMonitor extends AbstractModelObject implemen * All registered {@link AdministrativeMonitor} instances. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(AdministrativeMonitor.class); + return ExtensionList.lookup(AdministrativeMonitor.class); } } diff --git a/core/src/main/java/hudson/model/AperiodicWork.java b/core/src/main/java/hudson/model/AperiodicWork.java index 90173f2e89..56b0804da1 100644 --- a/core/src/main/java/hudson/model/AperiodicWork.java +++ b/core/src/main/java/hudson/model/AperiodicWork.java @@ -105,7 +105,7 @@ public abstract class AperiodicWork extends SafeTimerTask implements ExtensionPo * Returns all the registered {@link AperiodicWork}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(AperiodicWork.class); + return ExtensionList.lookup(AperiodicWork.class); } private static final Random RANDOM = new Random(); diff --git a/core/src/main/java/hudson/model/Api.java b/core/src/main/java/hudson/model/Api.java index ff84f4b66d..c749f46d13 100644 --- a/core/src/main/java/hudson/model/Api.java +++ b/core/src/main/java/hudson/model/Api.java @@ -23,6 +23,7 @@ */ package hudson.model; +import hudson.ExtensionList; import jenkins.model.Jenkins; import jenkins.security.SecureRequester; @@ -216,7 +217,7 @@ public class Api extends AbstractModelObject { } private boolean permit(StaplerRequest req) { - for (SecureRequester r : Jenkins.getInstance().getExtensionList(SecureRequester.class)) { + for (SecureRequester r : ExtensionList.lookup(SecureRequester.class)) { if (r.permit(req, bean)) { return true; } diff --git a/core/src/main/java/hudson/model/BuildStepListener.java b/core/src/main/java/hudson/model/BuildStepListener.java index 7d9ba256ed..a37cb8f67a 100644 --- a/core/src/main/java/hudson/model/BuildStepListener.java +++ b/core/src/main/java/hudson/model/BuildStepListener.java @@ -27,6 +27,6 @@ public abstract class BuildStepListener implements ExtensionPoint { */ public static ExtensionList all() { // TODO should have a null-safe version when Jenkins.getInstance() is null; would require changes in ExtensionList - return Jenkins.getInstance().getExtensionList(BuildStepListener.class); + return ExtensionList.lookup(BuildStepListener.class); } } diff --git a/core/src/main/java/hudson/model/BuildVariableContributor.java b/core/src/main/java/hudson/model/BuildVariableContributor.java index 23b6632644..15baad7590 100644 --- a/core/src/main/java/hudson/model/BuildVariableContributor.java +++ b/core/src/main/java/hudson/model/BuildVariableContributor.java @@ -70,6 +70,6 @@ public abstract class BuildVariableContributor implements ExtensionPoint { * Returns all the registered {@link BuildVariableContributor}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(BuildVariableContributor.class); + return ExtensionList.lookup(BuildVariableContributor.class); } } diff --git a/core/src/main/java/hudson/model/ComputerPanelBox.java b/core/src/main/java/hudson/model/ComputerPanelBox.java index 43c945b2f5..f7def3d04f 100644 --- a/core/src/main/java/hudson/model/ComputerPanelBox.java +++ b/core/src/main/java/hudson/model/ComputerPanelBox.java @@ -1,5 +1,6 @@ package hudson.model; +import hudson.ExtensionList; import hudson.ExtensionPoint; import java.util.ArrayList; import java.util.List; @@ -38,7 +39,7 @@ public abstract class ComputerPanelBox implements ExtensionPoint{ */ public static List all(Computer computer) { List boxs = new ArrayList(); - for(ComputerPanelBox box: Jenkins.getInstance().getExtensionList(ComputerPanelBox.class)){ + for(ComputerPanelBox box: ExtensionList.lookup(ComputerPanelBox.class)){ box.setComputer(computer); boxs.add(box); } diff --git a/core/src/main/java/hudson/model/ComputerPinger.java b/core/src/main/java/hudson/model/ComputerPinger.java index 6dd158fdeb..d924ab63b4 100644 --- a/core/src/main/java/hudson/model/ComputerPinger.java +++ b/core/src/main/java/hudson/model/ComputerPinger.java @@ -27,7 +27,7 @@ public abstract class ComputerPinger implements ExtensionPoint { * Get all registered instances. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ComputerPinger.class); + return ExtensionList.lookup(ComputerPinger.class); } /** diff --git a/core/src/main/java/hudson/model/Descriptor.java b/core/src/main/java/hudson/model/Descriptor.java index 1d36481101..bb6eeb2126 100644 --- a/core/src/main/java/hudson/model/Descriptor.java +++ b/core/src/main/java/hudson/model/Descriptor.java @@ -28,6 +28,7 @@ import hudson.PluginWrapper; import hudson.RelativePath; import hudson.XmlFile; import hudson.BulkChange; +import hudson.ExtensionList; import hudson.Util; import hudson.model.listeners.SaveableListener; import hudson.util.FormApply; @@ -937,7 +938,7 @@ public abstract class Descriptor> implements Saveable { } public static @CheckForNull Descriptor find(String className) { - return find(Jenkins.getInstance().getExtensionList(Descriptor.class),className); + return find(ExtensionList.lookup(Descriptor.class),className); } public static final class FormException extends Exception implements HttpResponse { diff --git a/core/src/main/java/hudson/model/DescriptorVisibilityFilter.java b/core/src/main/java/hudson/model/DescriptorVisibilityFilter.java index 774088bc41..0a435c6fda 100644 --- a/core/src/main/java/hudson/model/DescriptorVisibilityFilter.java +++ b/core/src/main/java/hudson/model/DescriptorVisibilityFilter.java @@ -42,7 +42,7 @@ public abstract class DescriptorVisibilityFilter implements ExtensionPoint { public abstract boolean filter(Object context, Descriptor descriptor); public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(DescriptorVisibilityFilter.class); + return ExtensionList.lookup(DescriptorVisibilityFilter.class); } public static List apply(Object context, Iterable source) { diff --git a/core/src/main/java/hudson/model/DownloadService.java b/core/src/main/java/hudson/model/DownloadService.java index ddb9548e93..707491dbc1 100644 --- a/core/src/main/java/hudson/model/DownloadService.java +++ b/core/src/main/java/hudson/model/DownloadService.java @@ -324,7 +324,7 @@ public class DownloadService extends PageDecorator { * Returns all the registered {@link Downloadable}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(Downloadable.class); + return ExtensionList.lookup(Downloadable.class); } /** diff --git a/core/src/main/java/hudson/model/EnvironmentContributor.java b/core/src/main/java/hudson/model/EnvironmentContributor.java index cbe05353d7..d6d630bcb5 100644 --- a/core/src/main/java/hudson/model/EnvironmentContributor.java +++ b/core/src/main/java/hudson/model/EnvironmentContributor.java @@ -115,7 +115,7 @@ public abstract class EnvironmentContributor implements ExtensionPoint { * Returns all the registered {@link EnvironmentContributor}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(EnvironmentContributor.class); + return ExtensionList.lookup(EnvironmentContributor.class); } /** diff --git a/core/src/main/java/hudson/model/FingerprintCleanupThread.java b/core/src/main/java/hudson/model/FingerprintCleanupThread.java index 527dc34bc7..98fa48b72c 100644 --- a/core/src/main/java/hudson/model/FingerprintCleanupThread.java +++ b/core/src/main/java/hudson/model/FingerprintCleanupThread.java @@ -24,6 +24,7 @@ package hudson.model; import hudson.Extension; +import hudson.ExtensionList; import jenkins.model.Jenkins; import java.io.File; @@ -57,7 +58,7 @@ public final class FingerprintCleanupThread extends AsyncPeriodicWork { } private static FingerprintCleanupThread getInstance() { - return Jenkins.getInstance().getExtensionList(AsyncPeriodicWork.class).get(FingerprintCleanupThread.class); + return ExtensionList.lookup(AsyncPeriodicWork.class).get(FingerprintCleanupThread.class); } public void execute(TaskListener listener) { diff --git a/core/src/main/java/hudson/model/LabelFinder.java b/core/src/main/java/hudson/model/LabelFinder.java index fec960dcc3..4db50bd263 100644 --- a/core/src/main/java/hudson/model/LabelFinder.java +++ b/core/src/main/java/hudson/model/LabelFinder.java @@ -47,7 +47,7 @@ public abstract class LabelFinder implements ExtensionPoint { * Returns all the registered {@link LabelFinder}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(LabelFinder.class); + return ExtensionList.lookup(LabelFinder.class); } /** diff --git a/core/src/main/java/hudson/model/ManagementLink.java b/core/src/main/java/hudson/model/ManagementLink.java index a92e2a581f..1583e58ad3 100644 --- a/core/src/main/java/hudson/model/ManagementLink.java +++ b/core/src/main/java/hudson/model/ManagementLink.java @@ -103,7 +103,7 @@ public abstract class ManagementLink implements ExtensionPoint, Action { * All regsitered instances. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ManagementLink.class); + return ExtensionList.lookup(ManagementLink.class); } /** diff --git a/core/src/main/java/hudson/model/PeriodicWork.java b/core/src/main/java/hudson/model/PeriodicWork.java index c3f593df23..d66ef11d48 100644 --- a/core/src/main/java/hudson/model/PeriodicWork.java +++ b/core/src/main/java/hudson/model/PeriodicWork.java @@ -93,7 +93,7 @@ public abstract class PeriodicWork extends SafeTimerTask implements ExtensionPoi * Returns all the registered {@link PeriodicWork}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(PeriodicWork.class); + return ExtensionList.lookup(PeriodicWork.class); } @Initializer(after= JOB_LOADED) diff --git a/core/src/main/java/hudson/model/Queue.java b/core/src/main/java/hudson/model/Queue.java index 9e5f7742bc..1636300975 100644 --- a/core/src/main/java/hudson/model/Queue.java +++ b/core/src/main/java/hudson/model/Queue.java @@ -1600,7 +1600,7 @@ public class Queue extends ResourceController implements Saveable { * All registered {@link QueueDecisionHandler}s */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(QueueDecisionHandler.class); + return ExtensionList.lookup(QueueDecisionHandler.class); } } diff --git a/core/src/main/java/hudson/model/RestartListener.java b/core/src/main/java/hudson/model/RestartListener.java index 3fc3c72c57..524dcfc20e 100644 --- a/core/src/main/java/hudson/model/RestartListener.java +++ b/core/src/main/java/hudson/model/RestartListener.java @@ -30,7 +30,7 @@ public abstract class RestartListener implements ExtensionPoint { * Returns all the registered {@link LabelFinder}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(RestartListener.class); + return ExtensionList.lookup(RestartListener.class); } /** diff --git a/core/src/main/java/hudson/model/Run.java b/core/src/main/java/hudson/model/Run.java index de1bc99a85..bbeba83a78 100644 --- a/core/src/main/java/hudson/model/Run.java +++ b/core/src/main/java/hudson/model/Run.java @@ -2015,13 +2015,10 @@ public abstract class Run ,RunT extends Run all() { - return Jenkins.getInstance().getExtensionList(TransientBuildActionFactory.class); + return ExtensionList.lookup(TransientBuildActionFactory.class); } } \ No newline at end of file diff --git a/core/src/main/java/hudson/model/TransientComputerActionFactory.java b/core/src/main/java/hudson/model/TransientComputerActionFactory.java index cf4d490eb1..37fc369e95 100644 --- a/core/src/main/java/hudson/model/TransientComputerActionFactory.java +++ b/core/src/main/java/hudson/model/TransientComputerActionFactory.java @@ -57,7 +57,7 @@ public abstract class TransientComputerActionFactory implements ExtensionPoint { * Returns all the registered {@link TransientComputerActionFactory}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(TransientComputerActionFactory.class); + return ExtensionList.lookup(TransientComputerActionFactory.class); } diff --git a/core/src/main/java/hudson/model/TransientProjectActionFactory.java b/core/src/main/java/hudson/model/TransientProjectActionFactory.java index ebae7d2323..35acbaebb9 100644 --- a/core/src/main/java/hudson/model/TransientProjectActionFactory.java +++ b/core/src/main/java/hudson/model/TransientProjectActionFactory.java @@ -68,6 +68,6 @@ public abstract class TransientProjectActionFactory implements ExtensionPoint { * Returns all the registered {@link TransientProjectActionFactory}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(TransientProjectActionFactory.class); + return ExtensionList.lookup(TransientProjectActionFactory.class); } } diff --git a/core/src/main/java/hudson/model/TransientUserActionFactory.java b/core/src/main/java/hudson/model/TransientUserActionFactory.java index 815df7c9b2..d45aebdfbf 100644 --- a/core/src/main/java/hudson/model/TransientUserActionFactory.java +++ b/core/src/main/java/hudson/model/TransientUserActionFactory.java @@ -55,6 +55,6 @@ public abstract class TransientUserActionFactory implements ExtensionPoint { * Returns all the registered {@link TransientUserActionFactory}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(TransientUserActionFactory.class); + return ExtensionList.lookup(TransientUserActionFactory.class); } } \ No newline at end of file diff --git a/core/src/main/java/hudson/model/TransientViewActionFactory.java b/core/src/main/java/hudson/model/TransientViewActionFactory.java index 05c9122102..43633bac2d 100644 --- a/core/src/main/java/hudson/model/TransientViewActionFactory.java +++ b/core/src/main/java/hudson/model/TransientViewActionFactory.java @@ -25,7 +25,7 @@ public abstract class TransientViewActionFactory implements ExtensionPoint { * Returns all the registered {@link TransientViewActionFactory}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(TransientViewActionFactory.class); + return ExtensionList.lookup(TransientViewActionFactory.class); } /** diff --git a/core/src/main/java/hudson/model/User.java b/core/src/main/java/hudson/model/User.java index 2198f1562d..b98faa2760 100644 --- a/core/src/main/java/hudson/model/User.java +++ b/core/src/main/java/hudson/model/User.java @@ -350,7 +350,7 @@ public class User extends AbstractModelObject implements AccessControlled, Descr return null; // sort resolvers by priority - List resolvers = new ArrayList(Jenkins.getInstance().getExtensionList(CanonicalIdResolver.class)); + List resolvers = new ArrayList(ExtensionList.lookup(CanonicalIdResolver.class)); Collections.sort(resolvers); String id = null; diff --git a/core/src/main/java/hudson/model/WorkspaceCleanupThread.java b/core/src/main/java/hudson/model/WorkspaceCleanupThread.java index 7ca8086d94..1ccf248c51 100644 --- a/core/src/main/java/hudson/model/WorkspaceCleanupThread.java +++ b/core/src/main/java/hudson/model/WorkspaceCleanupThread.java @@ -24,6 +24,7 @@ package hudson.model; import hudson.Extension; +import hudson.ExtensionList; import hudson.FilePath; import hudson.Util; import java.io.IOException; @@ -52,7 +53,7 @@ public class WorkspaceCleanupThread extends AsyncPeriodicWork { } public static void invoke() { - Jenkins.getInstance().getExtensionList(AsyncPeriodicWork.class).get(WorkspaceCleanupThread.class).run(); + ExtensionList.lookup(AsyncPeriodicWork.class).get(WorkspaceCleanupThread.class).run(); } @Override protected void execute(TaskListener listener) throws InterruptedException, IOException { diff --git a/core/src/main/java/hudson/model/WorkspaceListener.java b/core/src/main/java/hudson/model/WorkspaceListener.java index 5c0e3dc34a..9635a42192 100644 --- a/core/src/main/java/hudson/model/WorkspaceListener.java +++ b/core/src/main/java/hudson/model/WorkspaceListener.java @@ -29,7 +29,7 @@ public abstract class WorkspaceListener implements ExtensionPoint { * All registered {@link WorkspaceListener}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(WorkspaceListener.class); + return ExtensionList.lookup(WorkspaceListener.class); } } diff --git a/core/src/main/java/hudson/model/listeners/ItemListener.java b/core/src/main/java/hudson/model/listeners/ItemListener.java index 1b67af1ca8..b1787f4b47 100644 --- a/core/src/main/java/hudson/model/listeners/ItemListener.java +++ b/core/src/main/java/hudson/model/listeners/ItemListener.java @@ -148,7 +148,7 @@ public class ItemListener implements ExtensionPoint { * All the registered {@link ItemListener}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ItemListener.class); + return ExtensionList.lookup(ItemListener.class); } public static void fireOnCopied(Item src, Item result) { diff --git a/core/src/main/java/hudson/model/listeners/RunListener.java b/core/src/main/java/hudson/model/listeners/RunListener.java index 4489e5dc77..329292ded0 100644 --- a/core/src/main/java/hudson/model/listeners/RunListener.java +++ b/core/src/main/java/hudson/model/listeners/RunListener.java @@ -252,7 +252,7 @@ public abstract class RunListener implements ExtensionPoint { * Returns all the registered {@link RunListener}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(RunListener.class); + return ExtensionList.lookup(RunListener.class); } private static void report(Throwable e) { diff --git a/core/src/main/java/hudson/model/listeners/SCMPollListener.java b/core/src/main/java/hudson/model/listeners/SCMPollListener.java index 031bdef4d5..7b7b94ba40 100644 --- a/core/src/main/java/hudson/model/listeners/SCMPollListener.java +++ b/core/src/main/java/hudson/model/listeners/SCMPollListener.java @@ -102,6 +102,6 @@ public abstract class SCMPollListener implements ExtensionPoint { * Returns all the registered {@link SCMPollListener}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList( SCMPollListener.class ); + return ExtensionList.lookup( SCMPollListener.class ); } } diff --git a/core/src/main/java/hudson/model/queue/LoadPredictor.java b/core/src/main/java/hudson/model/queue/LoadPredictor.java index cb61d81ab3..868bf92760 100644 --- a/core/src/main/java/hudson/model/queue/LoadPredictor.java +++ b/core/src/main/java/hudson/model/queue/LoadPredictor.java @@ -81,7 +81,7 @@ public abstract class LoadPredictor implements ExtensionPoint { * All the registered instances. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(LoadPredictor.class); + return ExtensionList.lookup(LoadPredictor.class); } /** diff --git a/core/src/main/java/hudson/model/queue/QueueListener.java b/core/src/main/java/hudson/model/queue/QueueListener.java index f653a8ba6a..527a9485b4 100644 --- a/core/src/main/java/hudson/model/queue/QueueListener.java +++ b/core/src/main/java/hudson/model/queue/QueueListener.java @@ -80,6 +80,6 @@ public abstract class QueueListener implements ExtensionPoint { * Returns all the registered {@link QueueListener}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(QueueListener.class); + return ExtensionList.lookup(QueueListener.class); } } diff --git a/core/src/main/java/hudson/model/queue/QueueSorter.java b/core/src/main/java/hudson/model/queue/QueueSorter.java index d13ec8d4e4..fafd9b0c1c 100644 --- a/core/src/main/java/hudson/model/queue/QueueSorter.java +++ b/core/src/main/java/hudson/model/queue/QueueSorter.java @@ -33,7 +33,7 @@ public abstract class QueueSorter implements ExtensionPoint { * unless explicitly overridden by {@link Queue#setSorter(QueueSorter)}. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(QueueSorter.class); + return ExtensionList.lookup(QueueSorter.class); } /** diff --git a/core/src/main/java/hudson/model/queue/QueueTaskDispatcher.java b/core/src/main/java/hudson/model/queue/QueueTaskDispatcher.java index b9dd793185..df8ca969d4 100644 --- a/core/src/main/java/hudson/model/queue/QueueTaskDispatcher.java +++ b/core/src/main/java/hudson/model/queue/QueueTaskDispatcher.java @@ -137,6 +137,6 @@ public abstract class QueueTaskDispatcher implements ExtensionPoint { * All registered {@link QueueTaskDispatcher}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(QueueTaskDispatcher.class); + return ExtensionList.lookup(QueueTaskDispatcher.class); } } \ No newline at end of file diff --git a/core/src/main/java/hudson/model/queue/SubTaskContributor.java b/core/src/main/java/hudson/model/queue/SubTaskContributor.java index f6519e5dca..b61a19ea33 100644 --- a/core/src/main/java/hudson/model/queue/SubTaskContributor.java +++ b/core/src/main/java/hudson/model/queue/SubTaskContributor.java @@ -50,6 +50,6 @@ public abstract class SubTaskContributor implements ExtensionPoint { * All registered {@link SubTaskContributor} instances. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(SubTaskContributor.class); + return ExtensionList.lookup(SubTaskContributor.class); } } diff --git a/core/src/main/java/hudson/scm/ChangeLogAnnotator.java b/core/src/main/java/hudson/scm/ChangeLogAnnotator.java index 3a28a37977..67173edb3b 100644 --- a/core/src/main/java/hudson/scm/ChangeLogAnnotator.java +++ b/core/src/main/java/hudson/scm/ChangeLogAnnotator.java @@ -121,6 +121,6 @@ public abstract class ChangeLogAnnotator implements ExtensionPoint { * Returns all the registered {@link ChangeLogAnnotator} descriptors. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ChangeLogAnnotator.class); + return ExtensionList.lookup(ChangeLogAnnotator.class); } } diff --git a/core/src/main/java/hudson/search/SearchFactory.java b/core/src/main/java/hudson/search/SearchFactory.java index 5f01917dba..850672ffe9 100644 --- a/core/src/main/java/hudson/search/SearchFactory.java +++ b/core/src/main/java/hudson/search/SearchFactory.java @@ -40,6 +40,6 @@ public abstract class SearchFactory implements ExtensionPoint { * Returns all the registered {@link SearchFactory} instances. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(SearchFactory.class); + return ExtensionList.lookup(SearchFactory.class); } } diff --git a/core/src/main/java/hudson/security/FederatedLoginService.java b/core/src/main/java/hudson/security/FederatedLoginService.java index eb071d9bee..b966fe13d5 100644 --- a/core/src/main/java/hudson/security/FederatedLoginService.java +++ b/core/src/main/java/hudson/security/FederatedLoginService.java @@ -253,6 +253,6 @@ public abstract class FederatedLoginService implements ExtensionPoint { } public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(FederatedLoginService.class); + return ExtensionList.lookup(FederatedLoginService.class); } } diff --git a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java index f132fc7c5e..f8d5da9757 100644 --- a/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java +++ b/core/src/main/java/hudson/security/HudsonPrivateSecurityRealm.java @@ -25,6 +25,7 @@ package hudson.security; import com.thoughtworks.xstream.converters.UnmarshallingContext; import hudson.Extension; +import hudson.ExtensionList; import hudson.Util; import hudson.diagnosis.OldDataMonitor; import hudson.model.Descriptor; @@ -287,7 +288,7 @@ public class HudsonPrivateSecurityRealm extends AbstractPasswordBasedSecurityRea */ private void tryToMakeAdmin(User u) { AuthorizationStrategy as = Jenkins.getInstance().getAuthorizationStrategy(); - for (PermissionAdder adder : Jenkins.getInstance().getExtensionList(PermissionAdder.class)) { + for (PermissionAdder adder : ExtensionList.lookup(PermissionAdder.class)) { if (adder.add(as, u, Jenkins.ADMINISTER)) { return; } diff --git a/core/src/main/java/hudson/security/csrf/CrumbExclusion.java b/core/src/main/java/hudson/security/csrf/CrumbExclusion.java index 882a982163..688e2a9822 100644 --- a/core/src/main/java/hudson/security/csrf/CrumbExclusion.java +++ b/core/src/main/java/hudson/security/csrf/CrumbExclusion.java @@ -32,6 +32,6 @@ public abstract class CrumbExclusion implements ExtensionPoint { public abstract boolean process(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException; public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(CrumbExclusion.class); + return ExtensionList.lookup(CrumbExclusion.class); } } diff --git a/core/src/main/java/hudson/slaves/CloudProvisioningListener.java b/core/src/main/java/hudson/slaves/CloudProvisioningListener.java index 094559b32f..0041ebfefc 100644 --- a/core/src/main/java/hudson/slaves/CloudProvisioningListener.java +++ b/core/src/main/java/hudson/slaves/CloudProvisioningListener.java @@ -76,7 +76,7 @@ public abstract class CloudProvisioningListener implements ExtensionPoint { * All the registered {@link CloudProvisioningListener}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(CloudProvisioningListener.class); + return ExtensionList.lookup(CloudProvisioningListener.class); } } diff --git a/core/src/main/java/hudson/slaves/ComputerListener.java b/core/src/main/java/hudson/slaves/ComputerListener.java index d4126470d4..e3df0ba63d 100644 --- a/core/src/main/java/hudson/slaves/ComputerListener.java +++ b/core/src/main/java/hudson/slaves/ComputerListener.java @@ -229,6 +229,6 @@ public abstract class ComputerListener implements ExtensionPoint { * All the registered {@link ComputerListener}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ComputerListener.class); + return ExtensionList.lookup(ComputerListener.class); } } diff --git a/core/src/main/java/hudson/tasks/UserAvatarResolver.java b/core/src/main/java/hudson/tasks/UserAvatarResolver.java index 1cf8d13302..0ff73d56dc 100644 --- a/core/src/main/java/hudson/tasks/UserAvatarResolver.java +++ b/core/src/main/java/hudson/tasks/UserAvatarResolver.java @@ -114,7 +114,7 @@ public abstract class UserAvatarResolver implements ExtensionPoint { * Returns all the registered {@link UserAvatarResolver} descriptors. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(UserAvatarResolver.class); + return ExtensionList.lookup(UserAvatarResolver.class); } private static final Logger LOGGER = Logger.getLogger(UserAvatarResolver.class.getName()); diff --git a/core/src/main/java/hudson/tasks/UserNameResolver.java b/core/src/main/java/hudson/tasks/UserNameResolver.java index 3dd3573917..71594caa0c 100644 --- a/core/src/main/java/hudson/tasks/UserNameResolver.java +++ b/core/src/main/java/hudson/tasks/UserNameResolver.java @@ -83,7 +83,7 @@ public abstract class UserNameResolver implements ExtensionPoint { * Returns all the registered {@link UserNameResolver} descriptors. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(UserNameResolver.class); + return ExtensionList.lookup(UserNameResolver.class); } /** diff --git a/core/src/main/java/hudson/tasks/junit/TestNameTransformer.java b/core/src/main/java/hudson/tasks/junit/TestNameTransformer.java index 0e55df30c7..a10ec0754e 100644 --- a/core/src/main/java/hudson/tasks/junit/TestNameTransformer.java +++ b/core/src/main/java/hudson/tasks/junit/TestNameTransformer.java @@ -37,6 +37,6 @@ public abstract class TestNameTransformer implements ExtensionPoint { } public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(TestNameTransformer.class); + return ExtensionList.lookup(TestNameTransformer.class); } } diff --git a/core/src/main/java/hudson/tasks/test/TestResultParser.java b/core/src/main/java/hudson/tasks/test/TestResultParser.java index a8c78761f5..029051ca4d 100644 --- a/core/src/main/java/hudson/tasks/test/TestResultParser.java +++ b/core/src/main/java/hudson/tasks/test/TestResultParser.java @@ -74,7 +74,7 @@ public abstract class TestResultParser implements ExtensionPoint { * All registered {@link TestResultParser}s */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(TestResultParser.class); + return ExtensionList.lookup(TestResultParser.class); } /** diff --git a/core/src/main/java/hudson/tools/ToolLocationTranslator.java b/core/src/main/java/hudson/tools/ToolLocationTranslator.java index 386507e1fe..0935047507 100644 --- a/core/src/main/java/hudson/tools/ToolLocationTranslator.java +++ b/core/src/main/java/hudson/tools/ToolLocationTranslator.java @@ -70,6 +70,6 @@ public abstract class ToolLocationTranslator implements ExtensionPoint { * Returns all the registered {@link ToolLocationTranslator}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ToolLocationTranslator.class); + return ExtensionList.lookup(ToolLocationTranslator.class); } } diff --git a/core/src/main/java/hudson/util/AlternativeUiTextProvider.java b/core/src/main/java/hudson/util/AlternativeUiTextProvider.java index 9e1dd20730..9b4aa3b458 100644 --- a/core/src/main/java/hudson/util/AlternativeUiTextProvider.java +++ b/core/src/main/java/hudson/util/AlternativeUiTextProvider.java @@ -70,7 +70,7 @@ public abstract class AlternativeUiTextProvider implements ExtensionPoint { * All the registered extension point instances. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(AlternativeUiTextProvider.class); + return ExtensionList.lookup(AlternativeUiTextProvider.class); } public static String get(Message text, T context, String defaultValue) { diff --git a/core/src/main/java/hudson/util/ProcessKiller.java b/core/src/main/java/hudson/util/ProcessKiller.java index f4488830bd..81cb4b91a9 100644 --- a/core/src/main/java/hudson/util/ProcessKiller.java +++ b/core/src/main/java/hudson/util/ProcessKiller.java @@ -62,7 +62,7 @@ public abstract class ProcessKiller implements ExtensionPoint, Serializable { * Returns all the registered {@link ProcessKiller} descriptors. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ProcessKiller.class); + return ExtensionList.lookup(ProcessKiller.class); } /** diff --git a/core/src/main/java/hudson/util/io/ParserConfigurator.java b/core/src/main/java/hudson/util/io/ParserConfigurator.java index cd4a8642e2..98f1397eeb 100644 --- a/core/src/main/java/hudson/util/io/ParserConfigurator.java +++ b/core/src/main/java/hudson/util/io/ParserConfigurator.java @@ -69,7 +69,7 @@ public abstract class ParserConfigurator implements ExtensionPoint, Serializable * Returns all the registered {@link ParserConfigurator}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ParserConfigurator.class); + return ExtensionList.lookup(ParserConfigurator.class); } public static void applyConfiguration(SAXReader reader, Object context) throws IOException, InterruptedException { diff --git a/core/src/main/java/jenkins/AgentProtocol.java b/core/src/main/java/jenkins/AgentProtocol.java index df702ac88f..6a9adaff3c 100644 --- a/core/src/main/java/jenkins/AgentProtocol.java +++ b/core/src/main/java/jenkins/AgentProtocol.java @@ -43,7 +43,7 @@ public abstract class AgentProtocol implements ExtensionPoint { * Returns all the registered {@link AperiodicWork}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(AgentProtocol.class); + return ExtensionList.lookup(AgentProtocol.class); } public static AgentProtocol of(String protocolName) { diff --git a/core/src/main/java/jenkins/ExtensionFilter.java b/core/src/main/java/jenkins/ExtensionFilter.java index cd21f80cdd..6b20d805e2 100644 --- a/core/src/main/java/jenkins/ExtensionFilter.java +++ b/core/src/main/java/jenkins/ExtensionFilter.java @@ -86,6 +86,6 @@ public abstract class ExtensionFilter implements ExtensionPoint { * All registered {@link ExtensionFilter} instances. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(ExtensionFilter.class); + return ExtensionList.lookup(ExtensionFilter.class); } } diff --git a/core/src/main/java/jenkins/model/GlobalConfigurationCategory.java b/core/src/main/java/jenkins/model/GlobalConfigurationCategory.java index 4e062adb3e..f78c1eb3f9 100644 --- a/core/src/main/java/jenkins/model/GlobalConfigurationCategory.java +++ b/core/src/main/java/jenkins/model/GlobalConfigurationCategory.java @@ -37,7 +37,7 @@ public abstract class GlobalConfigurationCategory implements ExtensionPoint, Mod * Returns all the registered {@link GlobalConfiguration} descriptors. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(GlobalConfigurationCategory.class); + return ExtensionList.lookup(GlobalConfigurationCategory.class); } public static T get(Class type) { diff --git a/core/src/main/java/jenkins/model/TransientFingerprintFacetFactory.java b/core/src/main/java/jenkins/model/TransientFingerprintFacetFactory.java index 6ab7fa2e7f..96cf7ebec4 100644 --- a/core/src/main/java/jenkins/model/TransientFingerprintFacetFactory.java +++ b/core/src/main/java/jenkins/model/TransientFingerprintFacetFactory.java @@ -48,6 +48,6 @@ public abstract class TransientFingerprintFacetFactory implements ExtensionPoint * Returns all the registered {@link TransientFingerprintFacetFactory}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(TransientFingerprintFacetFactory.class); + return ExtensionList.lookup(TransientFingerprintFacetFactory.class); } } diff --git a/core/src/main/java/jenkins/model/Uptime.java b/core/src/main/java/jenkins/model/Uptime.java index 0b86115ac3..81cce79374 100644 --- a/core/src/main/java/jenkins/model/Uptime.java +++ b/core/src/main/java/jenkins/model/Uptime.java @@ -1,6 +1,7 @@ package jenkins.model; import hudson.Extension; +import hudson.ExtensionList; import hudson.init.InitMilestone; import hudson.init.Initializer; @@ -27,6 +28,6 @@ public class Uptime { @Initializer(after=InitMilestone.JOB_LOADED) public static void init() { - Jenkins.getInstance().getExtensionList(Uptime.class).get(0).startTime = System.currentTimeMillis(); + ExtensionList.lookup(Uptime.class).get(0).startTime = System.currentTimeMillis(); } } diff --git a/core/src/main/java/jenkins/model/lazy/BuildReference.java b/core/src/main/java/jenkins/model/lazy/BuildReference.java index f3633978c5..cc29fe1d15 100644 --- a/core/src/main/java/jenkins/model/lazy/BuildReference.java +++ b/core/src/main/java/jenkins/model/lazy/BuildReference.java @@ -1,6 +1,7 @@ package jenkins.model.lazy; import hudson.Extension; +import hudson.ExtensionList; import hudson.ExtensionPoint; import hudson.model.Run; import java.lang.ref.Reference; @@ -10,7 +11,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.CheckForNull; import javax.annotation.Nonnull; -import jenkins.model.Jenkins; import jenkins.model.lazy.LazyBuildMixIn.RunMixIn; import org.kohsuke.accmod.Restricted; import org.kohsuke.accmod.restrictions.NoExternalUse; @@ -111,14 +111,11 @@ public final class BuildReference { // AbstractBuild.NONE return new DefaultHolderFactory.NoHolder(); } - Jenkins j = Jenkins.getInstance(); - if (j != null) { - for (HolderFactory f : j.getExtensionList(HolderFactory.class)) { - Holder h = f.make(referent); - if (h != null) { - LOGGER.log(Level.FINE, "created build reference for {0} using {1}", new Object[] {referent, f}); - return h; - } + for (HolderFactory f : ExtensionList.lookup(HolderFactory.class)) { + Holder h = f.make(referent); + if (h != null) { + LOGGER.log(Level.FINE, "created build reference for {0} using {1}", new Object[] {referent, f}); + return h; } } return new DefaultHolderFactory().make(referent); diff --git a/core/src/main/java/jenkins/security/BasicHeaderAuthenticator.java b/core/src/main/java/jenkins/security/BasicHeaderAuthenticator.java index a390dff94f..bd6a9bd7e8 100644 --- a/core/src/main/java/jenkins/security/BasicHeaderAuthenticator.java +++ b/core/src/main/java/jenkins/security/BasicHeaderAuthenticator.java @@ -39,6 +39,6 @@ public abstract class BasicHeaderAuthenticator implements ExtensionPoint { public abstract Authentication authenticate(HttpServletRequest req, HttpServletResponse rsp, String username, String password) throws IOException, ServletException; public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(BasicHeaderAuthenticator.class); + return ExtensionList.lookup(BasicHeaderAuthenticator.class); } } diff --git a/core/src/main/java/jenkins/security/SecurityListener.java b/core/src/main/java/jenkins/security/SecurityListener.java index aef0c37f19..e7e03a6260 100644 --- a/core/src/main/java/jenkins/security/SecurityListener.java +++ b/core/src/main/java/jenkins/security/SecurityListener.java @@ -24,6 +24,7 @@ package jenkins.security; +import hudson.ExtensionList; import hudson.ExtensionPoint; import hudson.security.AbstractPasswordBasedSecurityRealm; import hudson.security.SecurityRealm; @@ -134,7 +135,7 @@ public abstract class SecurityListener implements ExtensionPoint { } private static List all() { - return Jenkins.getInstance().getExtensionList(SecurityListener.class); + return ExtensionList.lookup(SecurityListener.class); } } diff --git a/core/src/main/java/jenkins/slaves/JnlpAgentReceiver.java b/core/src/main/java/jenkins/slaves/JnlpAgentReceiver.java index b50cfab132..914447332f 100644 --- a/core/src/main/java/jenkins/slaves/JnlpAgentReceiver.java +++ b/core/src/main/java/jenkins/slaves/JnlpAgentReceiver.java @@ -59,6 +59,6 @@ public abstract class JnlpAgentReceiver implements ExtensionPoint { public abstract boolean handle(String name, JnlpSlaveHandshake handshake) throws IOException, InterruptedException; public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(JnlpAgentReceiver.class); + return ExtensionList.lookup(JnlpAgentReceiver.class); } } diff --git a/core/src/main/java/jenkins/slaves/WorkspaceLocator.java b/core/src/main/java/jenkins/slaves/WorkspaceLocator.java index aaebf7e18e..ff40093b6c 100644 --- a/core/src/main/java/jenkins/slaves/WorkspaceLocator.java +++ b/core/src/main/java/jenkins/slaves/WorkspaceLocator.java @@ -33,6 +33,6 @@ public abstract class WorkspaceLocator implements ExtensionPoint { * All registered {@link WorkspaceLocator}s. */ public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(WorkspaceLocator.class); + return ExtensionList.lookup(WorkspaceLocator.class); } } diff --git a/core/src/main/java/jenkins/slaves/restarter/SlaveRestarter.java b/core/src/main/java/jenkins/slaves/restarter/SlaveRestarter.java index d9cc547a9f..e0c7c2f912 100644 --- a/core/src/main/java/jenkins/slaves/restarter/SlaveRestarter.java +++ b/core/src/main/java/jenkins/slaves/restarter/SlaveRestarter.java @@ -40,7 +40,7 @@ public abstract class SlaveRestarter implements ExtensionPoint, Serializable { public abstract void restart() throws Exception; public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(SlaveRestarter.class); + return ExtensionList.lookup(SlaveRestarter.class); } private static final Logger LOGGER = Logger.getLogger(SlaveRestarter.class.getName()); diff --git a/core/src/main/java/jenkins/slaves/systemInfo/SlaveSystemInfo.java b/core/src/main/java/jenkins/slaves/systemInfo/SlaveSystemInfo.java index 7c142df75a..6b39684f75 100644 --- a/core/src/main/java/jenkins/slaves/systemInfo/SlaveSystemInfo.java +++ b/core/src/main/java/jenkins/slaves/systemInfo/SlaveSystemInfo.java @@ -23,6 +23,6 @@ public abstract class SlaveSystemInfo implements ExtensionPoint { public abstract String getDisplayName(); public static ExtensionList all() { - return Jenkins.getInstance().getExtensionList(SlaveSystemInfo.class); + return ExtensionList.lookup(SlaveSystemInfo.class); } } diff --git a/core/src/main/resources/META-INF/upgrade/ExtensionList.hint b/core/src/main/resources/META-INF/upgrade/ExtensionList.hint new file mode 100644 index 0000000000..6b75b81633 --- /dev/null +++ b/core/src/main/resources/META-INF/upgrade/ExtensionList.hint @@ -0,0 +1 @@ +jenkins.model.Jenkins.getInstance().getExtensionList($c) :: $c instanceof java.lang.Class => hudson.ExtensionList.lookup($c);; -- GitLab