diff --git a/core/src/main/java/hudson/Functions.java b/core/src/main/java/hudson/Functions.java index b736f788a2..9cc623d0ee 100644 --- a/core/src/main/java/hudson/Functions.java +++ b/core/src/main/java/hudson/Functions.java @@ -594,7 +594,7 @@ public class Functions { } public static List> getSecurityRealmDescriptors() { - return SecurityRealm.LIST; + return SecurityRealm.all(); } public static List> getAuthorizationStrategyDescriptors() { diff --git a/core/src/main/java/hudson/model/Hudson.java b/core/src/main/java/hudson/model/Hudson.java index 418e9d53df..bfd3faf2dd 100644 --- a/core/src/main/java/hudson/model/Hudson.java +++ b/core/src/main/java/hudson/model/Hudson.java @@ -45,7 +45,6 @@ import hudson.ExtensionPoint; import hudson.DescriptorExtensionList; import hudson.ExtensionListView; import hudson.logging.LogRecorderManager; -import hudson.lifecycle.WindowsInstallerLink; import hudson.lifecycle.Lifecycle; import hudson.model.Descriptor.FormException; import hudson.model.listeners.ItemListener; @@ -720,7 +719,7 @@ public final class Hudson extends Node implements ItemGroup, Stapl * Gets the {@link SecurityRealm} descriptors by name. Primarily used for making them web-visible. */ public Descriptor getSecurityRealms(String shortClassName) { - return findDescriptor(shortClassName,SecurityRealm.LIST); + return findDescriptor(shortClassName,SecurityRealm.all()); } /** @@ -1960,7 +1959,7 @@ public final class Hudson extends Node implements ItemGroup, Stapl if (json.has("use_security")) { useSecurity = true; JSONObject security = json.getJSONObject("use_security"); - setSecurityRealm(SecurityRealm.LIST.newInstanceFromRadioList(security,"realm")); + setSecurityRealm(SecurityRealm.all().newInstanceFromRadioList(security,"realm")); setAuthorizationStrategy(AuthorizationStrategy.all().newInstanceFromRadioList(security, "authorization")); } else { useSecurity = null; diff --git a/core/src/main/java/hudson/security/SecurityRealm.java b/core/src/main/java/hudson/security/SecurityRealm.java index 0903fe7d6e..0eec99349c 100644 --- a/core/src/main/java/hudson/security/SecurityRealm.java +++ b/core/src/main/java/hudson/security/SecurityRealm.java @@ -27,6 +27,8 @@ import com.octo.captcha.service.CaptchaServiceException; import com.octo.captcha.service.image.DefaultManageableImageCaptchaService; import groovy.lang.Binding; import hudson.ExtensionPoint; +import hudson.DescriptorExtensionList; +import hudson.Extension; import hudson.model.Describable; import hudson.model.Descriptor; import hudson.model.Hudson; @@ -396,8 +398,19 @@ public abstract class SecurityRealm implements Describable, Exten /** * All registered {@link SecurityRealm} implementations. + * + * @deprecated as of 1.286 + * Use {@link #all()} for read access, and use {@link Extension} for registration. */ public static final DescriptorList LIST = new DescriptorList(SecurityRealm.class); + /** + * Returns all the registered {@link SecurityRealm} descriptors. + */ + public static DescriptorExtensionList> all() { + return Hudson.getInstance().getDescriptorList(SecurityRealm.class); + } + + private static final Logger LOGGER = Logger.getLogger(SecurityRealm.class.getName()); }