Bug 519269 Add job class name to NPE message

Helps to identify faulty InternalJob implementations that return null
status.

Change-Id: I438cbd731639f7cd9ba0eaab4128412580470e73
Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de>
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobMessages.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobMessages.java
index 48522c8..7fb1c53 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobMessages.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/JobMessages.java
@@ -24,9 +24,11 @@
 	public static String jobs_internalError;
 	public static String jobs_waitFamSub;
 	public static String jobs_waitFamSubOne;
+	public static String jobs_returnNoStatus;
 	// metadata
 	public static String meta_pluginProblems;
 
+
 	static {
 		// load message values from bundle file
 		reloadMessages();
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/Worker.java b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/Worker.java
index 6868254..6e13c0b 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/Worker.java
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/Worker.java
@@ -71,8 +71,10 @@
 					//clear interrupted state for this thread
 					Thread.interrupted();
 					//result must not be null
-					if (result == null)
-						result = handleException(currentJob, new NullPointerException());
+					if (result == null) {
+						String message = NLS.bind(JobMessages.jobs_returnNoStatus, currentJob.getClass().getName());
+						result = handleException(currentJob, new NullPointerException(message));
+					}
 					pool.endJob(currentJob, result);
 					currentJob = null;
 					//reset thread priority in case job changed it
diff --git a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/messages.properties b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/messages.properties
index 8451b40..3ce2b43 100644
--- a/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/messages.properties
+++ b/bundles/org.eclipse.core.jobs/src/org/eclipse/core/internal/jobs/messages.properties
@@ -16,6 +16,7 @@
 jobs_internalError=An internal error occurred during: \"{0}\".
 jobs_waitFamSub={0} operations remaining.
 jobs_waitFamSubOne={0} operation remaining.
+jobs_returnNoStatus=Job of type {0} returned no status.
 
 ### metadata
 meta_pluginProblems = Problems occurred when invoking code from plug-in: \"{0}\".