From f69eed06872c5195fe889dad3a4da997e91f81ba Mon Sep 17 00:00:00 2001 From: Urs Wolfer Date: Wed, 20 Jul 2016 21:24:00 +0200 Subject: [PATCH 1/3] ask for email address before submitting issue - only ask if user has not entered it before already --- .../errorreport/PluginErrorReportSubmitter.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/com/urswolfer/intellij/plugin/gerrit/errorreport/PluginErrorReportSubmitter.java b/src/main/java/com/urswolfer/intellij/plugin/gerrit/errorreport/PluginErrorReportSubmitter.java index aec0c846..8197038e 100644 --- a/src/main/java/com/urswolfer/intellij/plugin/gerrit/errorreport/PluginErrorReportSubmitter.java +++ b/src/main/java/com/urswolfer/intellij/plugin/gerrit/errorreport/PluginErrorReportSubmitter.java @@ -16,12 +16,14 @@ package com.urswolfer.intellij.plugin.gerrit.errorreport; +import com.google.common.base.Strings; import com.google.common.base.Throwables; import com.google.gson.Gson; import com.intellij.openapi.application.ex.ApplicationInfoEx; import com.intellij.openapi.diagnostic.ErrorReportSubmitter; import com.intellij.openapi.diagnostic.IdeaLoggingEvent; import com.intellij.openapi.diagnostic.SubmittedReportInfo; +import com.intellij.openapi.ui.Messages; import com.intellij.util.Consumer; import com.urswolfer.intellij.plugin.gerrit.Version; import org.apache.http.client.methods.HttpPost; @@ -47,6 +49,17 @@ public String getReportActionText() { @Override public boolean submit(IdeaLoggingEvent[] events, String additionalInfo, Component parentComponent, Consumer consumer) { + if (Strings.isNullOrEmpty(additionalInfo) || !additionalInfo.contains("@")) { + String emailAddress = Messages.showInputDialog( + "It seems you have not included your email address.\n" + + "If you enter it below, you will get most probably a message " + + "with a solution for your issue or a question which " + + "will help to solve it.", "Information Required", null); + if (!Strings.isNullOrEmpty(emailAddress)) { + additionalInfo = additionalInfo == null + ? emailAddress : additionalInfo + '\n' + emailAddress; + } + } ErrorBean errorBean = createErrorBean(events[0], additionalInfo); String json = new Gson().toJson(errorBean); postError(json); From a1301ba6d51588e1639ee1e709a3816722982607 Mon Sep 17 00:00:00 2001 From: Urs Wolfer Date: Wed, 20 Jul 2016 21:32:15 +0200 Subject: [PATCH 2/3] add possibility to show server provided message when reporting exception - this way we can provide a (solution) message for well known issues - message is displayed on http status code 406 --- .../errorreport/PluginErrorReportSubmitter.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/urswolfer/intellij/plugin/gerrit/errorreport/PluginErrorReportSubmitter.java b/src/main/java/com/urswolfer/intellij/plugin/gerrit/errorreport/PluginErrorReportSubmitter.java index 8197038e..6e50d3ed 100644 --- a/src/main/java/com/urswolfer/intellij/plugin/gerrit/errorreport/PluginErrorReportSubmitter.java +++ b/src/main/java/com/urswolfer/intellij/plugin/gerrit/errorreport/PluginErrorReportSubmitter.java @@ -26,6 +26,7 @@ import com.intellij.openapi.ui.Messages; import com.intellij.util.Consumer; import com.urswolfer.intellij.plugin.gerrit.Version; +import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.StringEntity; @@ -86,7 +87,15 @@ private void postError(String json) { HttpPost httpPost = new HttpPost(ERROR_REPORT_URL); httpPost.setEntity(new StringEntity(json, ContentType.APPLICATION_JSON)); try { - httpClient.execute(httpPost); + CloseableHttpResponse response = httpClient.execute(httpPost); + try { + if (response.getStatusLine().getStatusCode() == 406) { + String reasonPhrase = response.getStatusLine().getReasonPhrase(); + Messages.showErrorDialog(reasonPhrase, "Gerrit Plugin Message"); + } + } finally { + response.close(); + } } catch (IOException e) { throw Throwables.propagate(e); } From 2ce9082f06937108aceb539a8c058c46ca3ca737 Mon Sep 17 00:00:00 2001 From: Urs Wolfer Date: Tue, 26 Jul 2016 17:57:53 +0200 Subject: [PATCH 3/3] bump version to v0.9.9.0-140 --- gradle.properties | 2 +- src/main/resources/META-INF/plugin.xml | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 1695b246..09e2612b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ ideaVersion=IC-14.0.4 ijPluginRepoChannel= downloadIdeaSources=false -version=0.9.8.2-140 +version=0.9.9.0-140 javaVersion=1.6 diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index c5526ef6..aff782b9 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -89,6 +89,11 @@ href="https://github.com/uwolfer/gerrit-intellij-plugin#pre-releases"> https://github.com/uwolfer/gerrit-intellij-plugin#pre-releases. +
  • 0.9.9.0
  • +
      +
    • fix automatic update for IntelliJ 2016.2 (by bumping version number)
    • +
    • improvements in error reporting flow
    • +
  • 0.9.8.2
    • fix displaying most significant label in change list