Example usage for com.intellij.openapi.diagnostic SubmittedReportInfo getStatus

List of usage examples for com.intellij.openapi.diagnostic SubmittedReportInfo getStatus

Introduction

In this page you can find the example usage for com.intellij.openapi.diagnostic SubmittedReportInfo getStatus.

Prototype

public SubmissionStatus getStatus() 

Source Link

Usage

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);
        }
    });
}