/** * Add this exception to the collector. If a log was specified in the constructor then the * exception will be output to the log. You can retreive exceptions using <code>getStatus</code>. * * @param exception the exception to collect */ public void handleException(CoreException exception) { // log the exception if we have a log if (log != null) { log.log(new Status(severity, pluginId, 0, message, exception)); } // Record each status individually to flatten the resulting multi-status IStatus exceptionStatus = exception.getStatus(); // Wrap the exception so the stack trace is not lost. IStatus status = new Status( exceptionStatus.getSeverity(), exceptionStatus.getPlugin(), exceptionStatus.getCode(), exceptionStatus.getMessage(), exception); recordStatus(status); IStatus[] children = status.getChildren(); for (int i = 0; i < children.length; i++) { IStatus status2 = children[i]; recordStatus(status2); } }
/* (non-Javadoc) * @see org.eclipse.core.runtime.ProgressMonitorWrapper#setBlocked(org.eclipse.core.runtime.IStatus) */ public void setBlocked(IStatus reason) { subTask(reason.getMessage()); }