@Override public void consume(Boolean opened) { String url = null; String linkText = null; //noinspection ConstantConditions final SubmittedReportInfo reportInfo = new SubmittedReportInfo( url, linkText, SubmittedReportInfo.SubmissionStatus.NEW_ISSUE ); consumer.consume(reportInfo); // pseudo-named-arguments NotificationListener notificationListener = null; //noinspection ConstantConditions ReportMessages.GROUP.createNotification( ReportMessages.ERROR_REPORT, "Submitted", NotificationType.INFORMATION, notificationListener ).setImportant(false).notify(project); } };
private static void popupResultInfo(final SubmittedReportInfo reportInfo, final Project project) { ApplicationManager.getApplication().invokeLater(() -> { 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"));
@Override public void consume(SubmittedReportInfo reportInfo) { myOriginalConsumer.consume(reportInfo); if (reportInfo.getStatus().equals(SubmissionStatus.FAILED)) { ReportMessages.GROUP.createNotification( ReportMessages.ERROR_REPORT, reportInfo.getLinkText(), NotificationType.ERROR, null).setImportant(false).notify(myProject); } else { ReportMessages.GROUP.createNotification( ReportMessages.ERROR_REPORT, reportInfo.getLinkText(), NotificationType.INFORMATION, NotificationListener.URL_OPENING_LISTENER).setImportant(false).notify(myProject); } } }
@Override public void consume(Throwable throwable) { LOGGER.info("Error submission failed", throwable); consumer.consume(new SubmittedReportInfo(SubmittedReportInfo.SubmissionStatus.FAILED)); } }
@Override public boolean submit(@NotNull IdeaLoggingEvent[] events, @Nullable String additionalInfo, @NotNull Component parentComponent, @NotNull Consumer<SubmittedReportInfo> consumer) { EventBuilder eventBuilder = createEvent(events, additionalInfo); sentry.sendEvent(eventBuilder); consumer.consume(new SubmittedReportInfo(null, null, NEW_ISSUE)); Messages.showInfoMessage(parentComponent, DEFAULT_RESPONSE, DEFAULT_RESPONSE_TITLE); return true; }
final SubmittedReportInfo reportInfo = new SubmittedReportInfo(SERVER_URL + "issue/" + existing, existing, DUPLICATE); popupResultInfo(reportInfo, project); return reportInfo; return new SubmittedReportInfo(SERVER_ISSUE_URL, "", FAILED); return new SubmittedReportInfo(SERVER_ISSUE_URL, "", FAILED); final SubmittedReportInfo reportInfo = new SubmittedReportInfo(SERVER_URL + "issue/" + ResultString, ResultString, NEW_ISSUE);
return new SubmittedReportInfo(SERVER_ISSUE_URL, "", FAILED); return new SubmittedReportInfo(SERVER_ISSUE_URL, "", FAILED); return new SubmittedReportInfo(SERVER_URL + "issue/" + ResultString, ResultString, status);
@Override public void consume(String token) { final SubmittedReportInfo reportInfo = new SubmittedReportInfo( null, "Issue " + token, SubmittedReportInfo.SubmissionStatus.NEW_ISSUE); callback.consume(reportInfo); ReportMessages.GROUP .createNotification( ReportMessages.ERROR_REPORT, "Submitted", NotificationType.INFORMATION, null) .setImportant(false) .notify(project); } };
@Override public void run(@NotNull ProgressIndicator indicator) { indicator.setText("Submitting BashSupport error report..."); indicator.setIndeterminate(true); LoggingEventSubmitter submitter = new TextStreamLoggingEventSubmitter(serverUrl); submitter.setPluginId(properties.getProperty(PLUGIN_ID_PROPERTY_KEY)); submitter.setPluginName(properties.getProperty(PLUGIN_NAME_PROPERTY_KEY)); submitter.setPluginVersion(properties.getProperty(PLUGIN_VERSION_PROPERTY_KEY)); submitter.setIdeaBuild(ApplicationInfo.getInstance().getBuild().asString()); submitter.setEmailTo(splitByBlanks(properties.getProperty(EMAIL_TO_PROPERTY_KEY))); submitter.setEmailCc(splitByBlanks(properties.getProperty(EMAIL_CC_PROPERTY_KEY))); try { submitter.submit(stacktrace, description, user); successConsumer.consume(new SubmittedReportInfo(SubmittedReportInfo.SubmissionStatus.NEW_ISSUE)); } catch (LoggingEventSubmitter.SubmitException e) { //ignore } } };
final String htmlUrl = newGibHubIssue.getHtmlUrl(); final String message = ErrorReportBundle.message(isNewIssue ? "git.issue.text" : "git.issue.duplicate.text", htmlUrl, id); result = new SubmittedReportInfo(htmlUrl, message, isNewIssue ? SubmissionStatus.NEW_ISSUE : SubmissionStatus.DUPLICATE); return result; } catch (Exception e) { return new SubmittedReportInfo(null, ErrorReportBundle.message("report.error.connection.failure"), SubmissionStatus.FAILED);