List of usage examples for com.intellij.openapi.diagnostic SubmittedReportInfo getStatus
public SubmissionStatus getStatus()
From source file:bazaar4idea.util.BzrErrorReportSubmitter.java
License:Apache License
@SuppressWarnings({ "ThrowableInstanceNeverThrown" })
public static void main(String[] args) throws Exception {
Exception e = new Exception("test exception");
IdeaLoggingEvent ev = new IdeaLoggingEvent("a test exception occurred", e);
BzrErrorReportSubmitter submitter = new BzrErrorReportSubmitter();
SubmittedReportInfo reportInfo = submitter.submit(new IdeaLoggingEvent[] { ev }, null);
System.out.printf("url: \"%s\"\nlinkText: \"%s\"\nstatus: \"%s\"\n", reportInfo.getURL(),
reportInfo.getLinkText(), reportInfo.getStatus());
}
From source file:com.intellij.diagnostic.IdeErrorsDialog.java
License:Apache License
public static void appendSubmissionInformation(SubmittedReportInfo info, StringBuilder out, @Nullable String url) {/*from ww w . j av a2s . co m*/ if (info.getStatus() == SubmittedReportInfo.SubmissionStatus.FAILED) { out.append(" ").append(DiagnosticBundle.message("error.list.message.submission.failed")); } else { if (info.getLinkText() != null) { out.append(" ").append( DiagnosticBundle.message("error.list.message.submitted.as.link", url, info.getLinkText())); if (info.getStatus() == SubmittedReportInfo.SubmissionStatus.DUPLICATE) { out.append(" ").append(DiagnosticBundle.message("error.list.message.duplicate")); } } else { out.append(DiagnosticBundle.message("error.list.message.submitted")); } } }
From source file:com.intellij.diagnostic.IdeErrorsDialog.java
License:Apache License
@Nullable public static String getUrl(SubmittedReportInfo info, boolean reportedToJetbrains) { if (info.getStatus() == SubmittedReportInfo.SubmissionStatus.FAILED || info.getLinkText() == null) { return null; }/*w ww .j ava 2 s .c om*/ if (reportedToJetbrains) { return "http://ea.jetbrains.com/browser/ea_reports/" + info.getLinkText(); } else { return info.getURL(); } }
From source file:com.intellij.diagnostic.ITNReporter.java
License:Apache License
private static void popupResultInfo(final SubmittedReportInfo reportInfo, final Project project) { ApplicationManager.getApplication().invokeLater(new Runnable() { @Override/*from w w w. jav a 2s. co m*/ public void run() { StringBuilder text = new StringBuilder("<html>"); final String url = IdeErrorsDialog.getUrl(reportInfo, false); IdeErrorsDialog.appendSubmissionInformation(reportInfo, text, url); text.append("."); final SubmittedReportInfo.SubmissionStatus status = reportInfo.getStatus(); if (status == SubmittedReportInfo.SubmissionStatus.NEW_ISSUE) { text.append("<br/>").append(DiagnosticBundle.message("error.report.gratitude")); } else if (status == SubmittedReportInfo.SubmissionStatus.DUPLICATE) { text.append("<br/>Possible duplicate report"); } text.append("</html>"); NotificationType type; if (status == SubmittedReportInfo.SubmissionStatus.FAILED) { type = NotificationType.ERROR; } else if (status == SubmittedReportInfo.SubmissionStatus.DUPLICATE) { type = NotificationType.WARNING; } else { type = NotificationType.INFORMATION; } NotificationListener listener = url != null ? new NotificationListener() { @Override public void hyperlinkUpdate(@NotNull Notification notification, @NotNull HyperlinkEvent event) { BrowserUtil.launchBrowser(url); notification.expire(); } } : null; ReportMessages.GROUP .createNotification(ReportMessages.ERROR_REPORT, text.toString(), type, listener) .notify(project); } }); }
From source file:com.intellij.diagnostic.ITNReporter2.java
License:Apache License
private static boolean doSubmit(final IdeaLoggingEvent event, final Component parentComponent, final Consumer<SubmittedReportInfo> callback, final ErrorBean errorBean, final String description) { final DataContext dataContext = DataManager.getInstance().getDataContext(parentComponent); final Project project = CommonDataKeys.PROJECT.getData(dataContext); final ErrorReportConfigurable errorReportConfigurable = ErrorReportConfigurable.getInstance(); if (!errorReportConfigurable.KEEP_ITN_PASSWORD && !StringUtil.isEmpty(errorReportConfigurable.ITN_LOGIN) && StringUtil.isEmpty(errorReportConfigurable.getPlainItnPassword())) { final JetBrainsAccountDialog dlg = new JetBrainsAccountDialog(parentComponent); dlg.show();/*from w w w .jav a 2 s. c o m*/ if (!dlg.isOK()) { return false; } } errorBean.setDescription(description); errorBean.setMessage(event.getMessage()); if (previousExceptionThreadId != 0) { errorBean.setPreviousException(previousExceptionThreadId); } Throwable t = event.getThrowable(); if (t != null) { final PluginId pluginId = IdeErrorsDialog.findPluginId(t); if (pluginId != null) { final IdeaPluginDescriptor ideaPluginDescriptor = PluginManager.getPlugin(pluginId); if (ideaPluginDescriptor != null && !ideaPluginDescriptor.isBundled()) { errorBean.setPluginName(ideaPluginDescriptor.getName()); errorBean.setPluginVersion(ideaPluginDescriptor.getVersion()); } } } Object data = event.getData(); if (data instanceof AbstractMessage) { errorBean.setAssigneeId(((AbstractMessage) data).getAssigneeId()); } if (data instanceof LogMessageEx) { errorBean.setAttachments(((LogMessageEx) data).getAttachments()); } @NonNls String login = errorReportConfigurable.ITN_LOGIN; @NonNls String password = errorReportConfigurable.getPlainItnPassword(); if (login.trim().length() == 0 && password.trim().length() == 0) { login = "idea_anonymous"; password = "guest"; } ErrorReportSender.sendError(project, login, password, errorBean, new Consumer<Integer>() { @SuppressWarnings({ "AssignmentToStaticFieldFromInstanceMethod" }) @Override public void consume(Integer threadId) { previousExceptionThreadId = threadId; wasException = true; final SubmittedReportInfo reportInfo = new SubmittedReportInfo(URL_HEADER + threadId, String.valueOf(threadId), SubmittedReportInfo.SubmissionStatus.NEW_ISSUE); callback.consume(reportInfo); ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { StringBuilder text = new StringBuilder(); final String url = IdeErrorsDialog.getUrl(reportInfo, true); IdeErrorsDialog.appendSubmissionInformation(reportInfo, text, url); text.append("."); if (reportInfo.getStatus() != SubmittedReportInfo.SubmissionStatus.FAILED) { text.append("<br/>").append(DiagnosticBundle.message("error.report.gratitude")); } NotificationType type = reportInfo .getStatus() == SubmittedReportInfo.SubmissionStatus.FAILED ? NotificationType.ERROR : NotificationType.INFORMATION; NotificationListener listener = url != null ? new NotificationListener.UrlOpeningListener(true) : null; ReportMessages.GROUP.createNotification(ReportMessages.ERROR_REPORT, XmlStringUtil.wrapInHtml(text), type, listener).setImportant(false).notify(project); } }); } }, new Consumer<Exception>() { @Override public void consume(final Exception e) { ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { String msg; if (e instanceof NoSuchEAPUserException) { msg = DiagnosticBundle.message("error.report.authentication.failed"); } else if (e instanceof InternalEAPException) { msg = DiagnosticBundle.message("error.report.posting.failed", e.getMessage()); } else { msg = DiagnosticBundle.message("error.report.sending.failure"); } if (e instanceof UpdateAvailableException) { String message = DiagnosticBundle.message("error.report.new.eap.build.message", e.getMessage()); showMessageDialog(parentComponent, project, message, CommonBundle.getWarningTitle(), Messages.getWarningIcon()); callback.consume(new SubmittedReportInfo(null, "0", SubmittedReportInfo.SubmissionStatus.FAILED)); } else if (showYesNoDialog(parentComponent, project, msg, ReportMessages.ERROR_REPORT, Messages.getErrorIcon()) != 0) { callback.consume(new SubmittedReportInfo(null, "0", SubmittedReportInfo.SubmissionStatus.FAILED)); } else { if (e instanceof NoSuchEAPUserException) { final JetBrainsAccountDialog dialog; if (parentComponent.isShowing()) { dialog = new JetBrainsAccountDialog(parentComponent); } else { dialog = new JetBrainsAccountDialog(project); } dialog.show(); } ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { doSubmit(event, parentComponent, callback, errorBean, description); } }); } } }); } }); return true; }
From source file:com.perl5.errorHandler.YoutrackErrorHandler.java
License:Apache License
private static void popupResultInfo(final SubmittedReportInfo reportInfo, final Project project) { ApplicationManager.getApplication().invokeLater(new Runnable() { @Override//www. j av a 2 s.c o m public void run() { StringBuilder text = new StringBuilder("<html>"); final String url = reportInfo.getStatus() == SubmittedReportInfo.SubmissionStatus.FAILED || reportInfo.getLinkText() == null ? null : reportInfo.getURL(); IdeErrorsDialog.appendSubmissionInformation(reportInfo, text); text.append("."); final SubmittedReportInfo.SubmissionStatus status = reportInfo.getStatus(); if (status == SubmittedReportInfo.SubmissionStatus.NEW_ISSUE) { text.append("<br/>").append(DiagnosticBundle.message("error.report.gratitude")); } else if (status == SubmittedReportInfo.SubmissionStatus.DUPLICATE) { text.append("<br/>Possible duplicate report"); } text.append("</html>"); NotificationType type; if (status == SubmittedReportInfo.SubmissionStatus.FAILED) { type = NotificationType.ERROR; } else if (status == SubmittedReportInfo.SubmissionStatus.DUPLICATE) { type = NotificationType.WARNING; } else { type = NotificationType.INFORMATION; } NotificationListener listener = url != null ? new NotificationListener() { @Override public void hyperlinkUpdate(@NotNull Notification notification, @NotNull HyperlinkEvent event) { BrowserUtil.launchBrowser(url); notification.expire(); } } : null; ReportMessages.GROUP .createNotification(ReportMessages.ERROR_REPORT, text.toString(), type, listener) .notify(project); } }); }
From source file:com.sylvanaar.idea.errorreporting.YouTrackBugReporter.java
License:Apache License
private void popupResultInfo(final SubmittedReportInfo reportInfo, final Project project) { ApplicationManager.getApplication().invokeLater(new Runnable() { @Override/*from w w w . java2s . c o m*/ public void run() { StringBuilder text = new StringBuilder("<html>"); final String url = reportInfo.getURL(); IdeErrorsDialog.appendSubmissionInformation(reportInfo, text); text.append("."); final SubmittedReportInfo.SubmissionStatus status = reportInfo.getStatus(); if (status == SubmittedReportInfo.SubmissionStatus.NEW_ISSUE) { text.append("<br/>").append(DiagnosticBundle.message("error.report.gratitude")); } else if (status == SubmittedReportInfo.SubmissionStatus.DUPLICATE) { text.append("<br/>Possible duplicate report"); } text.append("</html>"); NotificationType type; if (status == SubmittedReportInfo.SubmissionStatus.FAILED) { type = NotificationType.ERROR; } else if (status == SubmittedReportInfo.SubmissionStatus.DUPLICATE) { type = NotificationType.WARNING; } else { type = NotificationType.INFORMATION; } NotificationListener listener = url != null ? new NotificationListener() { @Override public void hyperlinkUpdate(@NotNull Notification notification, @NotNull HyperlinkEvent event) { BrowserUtil.browse(url); notification.expire(); } } : null; ReportMessages.GROUP .createNotification(ReportMessages.ERROR_REPORT, text.toString(), type, listener) .notify(project); } }); }
From source file:de.halirutan.mathematica.errorreporting.YouTrackBugReporter.java
License:Open Source License
private void popupResultInfo(final SubmittedReportInfo reportInfo, final Project project) { //noinspection OverlyComplexAnonymousInnerClass ApplicationManager.getApplication().invokeLater(new Runnable() { @Override/*from w w w.j a v a2s . c om*/ public void run() { StringBuilder text = new StringBuilder("<html>"); final String url = reportInfo.getURL(); IdeErrorsDialog.appendSubmissionInformation(reportInfo, text); text.append("."); final SubmissionStatus status = reportInfo.getStatus(); if (status == NEW_ISSUE) { text.append("<br/>").append(DiagnosticBundle.message("error.report.gratitude")); } else if (status == DUPLICATE) { text.append("<br/>Possible duplicate report"); } text.append("</html>"); NotificationType type; if (status == FAILED) { type = NotificationType.ERROR; } else if (status == DUPLICATE) { type = NotificationType.WARNING; } else { type = NotificationType.INFORMATION; } NotificationListener listener = url != null ? new NotificationListener() { @Override public void hyperlinkUpdate(@NotNull Notification notification, @NotNull HyperlinkEvent event) { BrowserUtil.browse(url); notification.expire(); } } : null; ReportMessages.GROUP .createNotification(ReportMessages.ERROR_REPORT, text.toString(), type, listener) .notify(project); } }); }