diff --git a/core/src/main/java/hudson/PluginManager.java b/core/src/main/java/hudson/PluginManager.java index 17900b6309..e1342b4ce1 100644 --- a/core/src/main/java/hudson/PluginManager.java +++ b/core/src/main/java/hudson/PluginManager.java @@ -303,7 +303,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas cgd.run(getPlugins()); // obtain topologically sorted list and overwrite the list - ListIterator litr = plugins.listIterator(); + ListIterator litr = getPlugins().listIterator(); for (PluginWrapper p : cgd.getSorted()) { litr.next(); litr.set(p); @@ -576,7 +576,9 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas */ @Exported public List getPlugins() { - return plugins; + List out = new ArrayList(plugins.size()); + out.addAll(plugins); + return out; } public List getFailedPlugins() { @@ -589,7 +591,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas * @return The plugin singleton or null if a plugin with the given short name does not exist. */ public PluginWrapper getPlugin(String shortName) { - for (PluginWrapper p : plugins) { + for (PluginWrapper p : getPlugins()) { if(p.getShortName().equals(shortName)) return p; } @@ -603,7 +605,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas * @return The plugin singleton or null if for some reason the plugin is not loaded. */ public PluginWrapper getPlugin(Class pluginClazz) { - for (PluginWrapper p : plugins) { + for (PluginWrapper p : getPlugins()) { if(pluginClazz.isInstance(p.getPlugin())) return p; } @@ -618,7 +620,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas */ public List getPlugins(Class pluginSuperclass) { List result = new ArrayList(); - for (PluginWrapper p : plugins) { + for (PluginWrapper p : getPlugins()) { if(pluginSuperclass.isInstance(p.getPlugin())) result.add(p); }