提交 2e68f753 编写于 作者: K kohsuke

[HUDSON-4531] extension point without a descriptor is now reported with more...

[HUDSON-4531] extension point without a descriptor is now reported with more information for a better troubleshooting.

git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@22098 71c3de6d-444a-0410-be80-ed276b4c234a
上级 9b981bef
......@@ -171,7 +171,7 @@ public abstract class FileSystemProvisioner implements ExtensionPoint, Describab
public abstract WorkspaceSnapshot snapshot(AbstractBuild<?,?> build, FilePath ws, TaskListener listener) throws IOException, InterruptedException;
public FileSystemProvisionerDescriptor getDescriptor() {
return (FileSystemProvisionerDescriptor) Hudson.getInstance().getDescriptor(getClass());
return (FileSystemProvisionerDescriptor) Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -830,6 +830,19 @@ public final class Hudson extends Node implements ItemGroup<TopLevelItem>, Stapl
return null;
}
/**
* Works just like {@link #getDescriptor(Class)} but don't take no for an answer.
*
* @throws AssertionError
* If the descriptor is missing.
* @since 1.326
*/
public Descriptor getDescriptorOrDie(Class<? extends Describable> type) {
Descriptor d = getDescriptor(type);
if (d==null) throw new AssertionError(type+" is missing its descriptor");
return d;
}
/**
* Gets the {@link Descriptor} instance in the current Hudson by its type.
*/
......
......@@ -90,7 +90,7 @@ public abstract class JobProperty<J extends Job<?,?>> implements Describable<Job
* {@inheritDoc}
*/
public JobPropertyDescriptor getDescriptor() {
return (JobPropertyDescriptor)Hudson.getInstance().getDescriptor(getClass());
return (JobPropertyDescriptor)Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -121,7 +121,7 @@ public abstract class ParameterDefinition implements
* {@inheritDoc}
*/
public ParameterDescriptor getDescriptor() {
return (ParameterDescriptor)Hudson.getInstance().getDescriptor(getClass());
return (ParameterDescriptor)Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -350,11 +350,9 @@ public abstract class Slave extends Node implements Serializable {
}
public SlaveDescriptor getDescriptor() {
Descriptor d = Hudson.getInstance().getDescriptor(getClass());
Descriptor d = Hudson.getInstance().getDescriptorOrDie(getClass());
if (d instanceof SlaveDescriptor)
return (SlaveDescriptor) d;
if (d==null)
throw new IllegalStateException(getClass()+" doesn't have a descriptor");
throw new IllegalStateException(d.getClass()+" needs to extend from SlaveDescriptor");
}
......
......@@ -64,7 +64,7 @@ public abstract class UserProperty implements Describable<UserProperty>, Extensi
// descriptor must be of the UserPropertyDescriptor type
public UserPropertyDescriptor getDescriptor() {
return (UserPropertyDescriptor)Hudson.getInstance().getDescriptor(getClass());
return (UserPropertyDescriptor)Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -170,7 +170,7 @@ public abstract class View extends AbstractModelObject implements AccessControll
}
public ViewDescriptor getDescriptor() {
return (ViewDescriptor)Hudson.getInstance().getDescriptor(getClass());
return (ViewDescriptor)Hudson.getInstance().getDescriptorOrDie(getClass());
}
public String getDisplayName() {
......
......@@ -85,7 +85,7 @@ public abstract class NodeMonitor implements ExtensionPoint, Describable<NodeMon
}
public AbstractNodeMonitorDescriptor<?> getDescriptor() {
return (AbstractNodeMonitorDescriptor<?>)Hudson.getInstance().getDescriptor(getClass());
return (AbstractNodeMonitorDescriptor<?>)Hudson.getInstance().getDescriptorOrDie(getClass());
}
public Object data(Computer c) {
......
......@@ -1558,7 +1558,7 @@ public class CVSSCM extends SCM implements Serializable {
}
public Descriptor<TagAction> getDescriptor() {
return Hudson.getInstance().getDescriptor(getClass());
return Hudson.getInstance().getDescriptorOrDie(getClass());
}
}
......
......@@ -95,7 +95,7 @@ public abstract class RepositoryBrowser<E extends ChangeLogSet.Entry> implements
}
public Descriptor<RepositoryBrowser<?>> getDescriptor() {
return Hudson.getInstance().getDescriptor(getClass());
return Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -345,7 +345,7 @@ public abstract class SCM implements Describable<SCM>, ExtensionPoint {
public abstract ChangeLogParser createChangeLogParser();
public SCMDescriptor<?> getDescriptor() {
return (SCMDescriptor)Hudson.getInstance().getDescriptor(getClass());
return (SCMDescriptor)Hudson.getInstance().getDescriptorOrDie(getClass());
}
//
......
......@@ -176,7 +176,7 @@ public abstract class AuthorizationStrategy implements Describable<Authorization
public abstract Collection<String> getGroups();
public Descriptor<AuthorizationStrategy> getDescriptor() {
return Hudson.getInstance().getDescriptor(getClass());
return Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -150,7 +150,7 @@ public abstract class SecurityRealm implements Describable<SecurityRealm>, Exten
* <tt>global.jelly</tt>.
*/
public Descriptor<SecurityRealm> getDescriptor() {
return Hudson.getInstance().getDescriptor(getClass());
return Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -139,7 +139,7 @@ public abstract class CrumbIssuer implements Describable<CrumbIssuer>, Extension
* Access global configuration for the crumb issuer.
*/
public CrumbIssuerDescriptor<CrumbIssuer> getDescriptor() {
return (CrumbIssuerDescriptor<CrumbIssuer>) Hudson.getInstance().getDescriptor(getClass());
return (CrumbIssuerDescriptor<CrumbIssuer>) Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -121,7 +121,7 @@ public abstract class Cloud extends AbstractModelObject implements ExtensionPoin
public abstract boolean canProvision(Label label);
public Descriptor<Cloud> getDescriptor() {
return Hudson.getInstance().getDescriptor(getClass());
return Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -133,7 +133,7 @@ public abstract class ComputerLauncher implements Describable<ComputerLauncher>,
}
public Descriptor<ComputerLauncher> getDescriptor() {
return (Descriptor<ComputerLauncher>)Hudson.getInstance().getDescriptor(getClass());
return (Descriptor<ComputerLauncher>)Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -66,7 +66,7 @@ public abstract class NodeProperty<N extends Node> implements Describable<NodePr
protected void setNode(N node) { this.node = node; }
public NodePropertyDescriptor getDescriptor() {
return (NodePropertyDescriptor)Hudson.getInstance().getDescriptor(getClass());
return (NodePropertyDescriptor)Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -83,7 +83,7 @@ public abstract class RetentionStrategy<T extends Computer> implements Describab
}
public Descriptor<RetentionStrategy<?>> getDescriptor() {
return Hudson.getInstance().getDescriptor(getClass());
return Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -191,7 +191,7 @@ public abstract class BuildWrapper implements ExtensionPoint, Describable<BuildW
}
public Descriptor<BuildWrapper> getDescriptor() {
return (Descriptor<BuildWrapper>) Hudson.getInstance().getDescriptor(getClass());
return (Descriptor<BuildWrapper>) Hudson.getInstance().getDescriptorOrDie(getClass());
}
......
......@@ -72,7 +72,7 @@ public abstract class Builder extends BuildStepCompatibilityLayer implements Bui
}
public Descriptor<Builder> getDescriptor() {
return Hudson.getInstance().getDescriptor(getClass());
return Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -119,7 +119,7 @@ public abstract class Publisher extends BuildStepCompatibilityLayer implements B
}
public Descriptor<Publisher> getDescriptor() {
return Hudson.getInstance().getDescriptor(getClass());
return Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -60,7 +60,7 @@ public abstract class TestDataPublisher implements Describable<TestDataPublisher
@SuppressWarnings("unchecked")
public Descriptor<TestDataPublisher> getDescriptor() {
return Hudson.getInstance().getDescriptor(getClass());
return Hudson.getInstance().getDescriptorOrDie(getClass());
}
public static DescriptorExtensionList<TestDataPublisher, Descriptor<TestDataPublisher>> all() {
......
......@@ -133,7 +133,7 @@ public abstract class ToolInstallation implements Serializable, Describable<Tool
}
public ToolDescriptor<?> getDescriptor() {
return (ToolDescriptor) Hudson.getInstance().getDescriptor(getClass());
return (ToolDescriptor) Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -113,6 +113,6 @@ public abstract class ToolInstaller implements Describable<ToolInstaller>, Exten
}
public ToolInstallerDescriptor<?> getDescriptor() {
return (ToolInstallerDescriptor) Hudson.getInstance().getDescriptor(getClass());
return (ToolInstallerDescriptor) Hudson.getInstance().getDescriptorOrDie(getClass());
}
}
......@@ -56,7 +56,7 @@ public abstract class ToolProperty<T extends ToolInstallation> implements Descri
}
public ToolPropertyDescriptor getDescriptor() {
return (ToolPropertyDescriptor) Hudson.getInstance().getDescriptor(getClass());
return (ToolPropertyDescriptor) Hudson.getInstance().getDescriptorOrDie(getClass());
}
/**
......
......@@ -110,7 +110,7 @@ public abstract class Trigger<J extends Item> implements Describable<Trigger<?>>
}
public TriggerDescriptor getDescriptor() {
return (TriggerDescriptor)Hudson.getInstance().getDescriptor(getClass());
return (TriggerDescriptor)Hudson.getInstance().getDescriptorOrDie(getClass());
}
......
......@@ -282,6 +282,6 @@ public abstract class MavenReporter implements Describable<MavenReporter>, Exten
}
public MavenReporterDescriptor getDescriptor() {
return (MavenReporterDescriptor)Hudson.getInstance().getDescriptor(getClass());
return (MavenReporterDescriptor)Hudson.getInstance().getDescriptorOrDie(getClass());
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册