Author: scabanovich
Date: 2010-11-24 10:35:47 -0500 (Wed, 24 Nov 2010)
New Revision: 26884
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/XJob.java
Log:
JBIDE-7677
https://jira.jboss.org/browse/JBIDE-7677
Modified:
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/XJob.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/XJob.java 2010-11-24
15:32:15 UTC (rev 26883)
+++
trunk/common/plugins/org.jboss.tools.common.model/src/org/jboss/tools/common/model/XJob.java 2010-11-24
15:35:47 UTC (rev 26884)
@@ -17,12 +17,14 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.ui.internal.decorators.DecoratorManager;
import org.eclipse.ui.progress.UIJob;
+import org.jboss.tools.common.model.plugin.ModelPlugin;
public class XJob extends WorkspaceJob {
public static Object FAMILY_XJOB = new Object();
@@ -172,7 +174,17 @@
ids.remove(r.getId());
}
if (!isSuspended()) {
- r.run();
+ try {
+ r.run();
+ } catch (Exception e) {
+ if(e instanceof RuntimeException) {
+ synchronized(this) {
+ running = false;
+ }
+ throw (RuntimeException)e;
+ }
+ ModelPlugin.getDefault().logError("Error in job " + r.getId(), e);
+ }
}
//}
}