From de896355ed1d99f5ff2cdb5b2224ce6fa38cb9cc Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Thu, 7 Feb 2019 17:50:02 +0300 Subject: [PATCH] Add a javadoc note about the nature of classes in com.intellij.tasks.*.model packages Suppress unused declaration and other inspections for them to avoid optimizations inadvertently breaking deserialization of JSON responses. Also, reverted such changes already made in TrelloCommentAction. --- .../src/com/intellij/tasks/gitlab/model/GitlabIssue.java | 3 ++- .../src/com/intellij/tasks/gitlab/model/GitlabProject.java | 5 +++-- .../src/com/intellij/tasks/redmine/model/RedmineIssue.java | 2 +- .../com/intellij/tasks/redmine/model/RedmineProject.java | 2 +- .../tasks/redmine/model/RedmineResponseWrapper.java | 2 +- .../src/com/intellij/tasks/trello/model/TrelloBoard.java | 3 +-- .../src/com/intellij/tasks/trello/model/TrelloCard.java | 2 +- .../intellij/tasks/trello/model/TrelloCommentAction.java | 6 ++++-- .../src/com/intellij/tasks/trello/model/TrelloLabel.java | 3 ++- .../src/com/intellij/tasks/trello/model/TrelloList.java | 2 +- .../src/com/intellij/tasks/trello/model/TrelloModel.java | 3 --- .../src/com/intellij/tasks/trello/model/TrelloUser.java | 3 +-- 12 files changed, 18 insertions(+), 18 deletions(-) diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/gitlab/model/GitlabIssue.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/gitlab/model/GitlabIssue.java index 696149329b52..dcb66b8afab8 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/gitlab/model/GitlabIssue.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/gitlab/model/GitlabIssue.java @@ -6,8 +6,9 @@ import org.jetbrains.annotations.NotNull; import java.util.Date; /** - * @author Mikhail Golubev + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. */ +@SuppressWarnings("unused") public class GitlabIssue { private int id; @SerializedName("iid") diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/gitlab/model/GitlabProject.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/gitlab/model/GitlabProject.java index 62303a89c795..90ade341f8cd 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/gitlab/model/GitlabProject.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/gitlab/model/GitlabProject.java @@ -6,11 +6,12 @@ import com.intellij.util.xmlb.annotations.Tag; import org.jetbrains.annotations.Nullable; /** + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. + * * Only required fields are declared. * Field {@code name} and {@code webUrl} may be null because only {@code id} is serialized. - * - * @author Mikhail Golubev */ +@SuppressWarnings("unused") @Tag("GitlabProject") public class GitlabProject { private int id; diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineIssue.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineIssue.java index 3a4f0ba88cbc..bfe3341697bb 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineIssue.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineIssue.java @@ -9,7 +9,7 @@ import org.jetbrains.io.mandatory.RestModel; import java.util.Date; /** - * @author Mikhail Golubev + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. */ @RestModel @SuppressWarnings("UnusedDeclaration") diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineProject.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineProject.java index 528191523c9a..e1b77d6ff07e 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineProject.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineProject.java @@ -7,7 +7,7 @@ import org.jetbrains.io.mandatory.Mandatory; import org.jetbrains.io.mandatory.RestModel; /** - * @author Mikhail Golubev + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. */ @RestModel @SuppressWarnings("UnusedDeclaration") diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineResponseWrapper.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineResponseWrapper.java index 8854085f6542..35e839bdf4bc 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineResponseWrapper.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/redmine/model/RedmineResponseWrapper.java @@ -8,7 +8,7 @@ import org.jetbrains.io.mandatory.RestModel; import java.util.List; /** - * @author Mikhail Golubev + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. */ @SuppressWarnings("UnusedDeclaration") public abstract class RedmineResponseWrapper { diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloBoard.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloBoard.java index 6e0e031bba6f..62a625f1c6a1 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloBoard.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloBoard.java @@ -22,9 +22,8 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; /** - * @author Mikhail Golubev + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. */ - @SuppressWarnings("UnusedDeclaration") @Tag("TrelloBoard") public class TrelloBoard extends TrelloModel { diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloCard.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloCard.java index 687bf6d136cc..b61194e0ad68 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloCard.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloCard.java @@ -30,7 +30,7 @@ import java.util.Set; import static com.intellij.tasks.trello.model.TrelloLabel.LabelColor; /** - * @author Mikhail Golubev + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. */ @SuppressWarnings("UnusedDeclaration") public class TrelloCard extends TrelloModel { diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloCommentAction.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloCommentAction.java index d5c8f7fa3536..53e763c949c4 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloCommentAction.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloCommentAction.java @@ -22,8 +22,9 @@ import org.jetbrains.annotations.Nullable; import java.util.Date; /** - * @author Mikhail Golubev + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. */ +@SuppressWarnings("unused") public class TrelloCommentAction extends Comment { private String id; private Date date; @@ -31,8 +32,9 @@ public class TrelloCommentAction extends Comment { private Data data; + @SuppressWarnings("FieldMayBeFinal") private static class Data { - private static final String text = ""; + private String text = ""; private TrelloBoard board; private TrelloCard card; } diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloLabel.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloLabel.java index 186bfa9b68b8..c8961e0b6831 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloLabel.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloLabel.java @@ -21,8 +21,9 @@ import org.jetbrains.annotations.Nullable; import java.awt.*; /** - * @author Mikhail Golubev + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. */ +@SuppressWarnings("unused") public class TrelloLabel { public enum LabelColor { diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloList.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloList.java index 324b1dbf3cc4..ed83f4c59003 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloList.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloList.java @@ -22,7 +22,7 @@ import com.intellij.util.xmlb.annotations.Transient; import org.jetbrains.annotations.NotNull; /** - * @author Mikhail Golubev + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. */ @SuppressWarnings("UnusedDeclaration") @Tag("TrelloList") diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloModel.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloModel.java index 20f28b600314..95a56b52906d 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloModel.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloModel.java @@ -19,9 +19,6 @@ package com.intellij.tasks.trello.model; import com.intellij.util.xmlb.annotations.Attribute; import org.jetbrains.annotations.NotNull; -/** - * @author Mikhail Golubev - */ public abstract class TrelloModel { public static final String ILLEGAL_ID = "ILLEGAL_ID"; diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloUser.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloUser.java index 64b9c6edb510..bee7030cb6ea 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloUser.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/trello/model/TrelloUser.java @@ -21,9 +21,8 @@ import com.intellij.util.xmlb.annotations.Tag; import org.jetbrains.annotations.NotNull; /** - * @author Mikhail Golubev + * This is a stub definition intended to be used with Google GSON. Its fields are initialized reflectively. */ - @Tag("TrelloUser") public class TrelloUser extends TrelloModel {