Mark classes as Singleton when possible Change-Id: I88477a4c26fff63a5d4233a110561d92ecd5056c
diff --git a/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/ConfigServlet.java b/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/ConfigServlet.java index 468969b..496bfed 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/ConfigServlet.java +++ b/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/ConfigServlet.java
@@ -26,9 +26,11 @@ import com.google.gerrit.server.project.ProjectCache; import com.google.gerrit.server.project.ProjectResource; import com.google.inject.Inject; +import com.google.inject.Singleton; import java.io.IOException; /** REST Endpoint to configure labels and our simple submit rules */ +@Singleton public class ConfigServlet implements RestReadView<ProjectResource>, RestModifyView<ProjectResource, SubmitConfig> { private final ProjectCache projectCache;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/ConfigTranslator.java b/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/ConfigTranslator.java index 9087bdd..6a8ce81 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/ConfigTranslator.java +++ b/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/ConfigTranslator.java
@@ -23,12 +23,14 @@ import com.google.gerrit.server.project.ProjectConfig; import com.google.gerrit.server.project.ProjectState; import com.google.inject.Inject; +import com.google.inject.Singleton; import com.googlesource.gerrit.plugins.simplesubmitrules.SimpleSubmitRulesConfig; import java.util.Collection; import java.util.HashSet; import java.util.Map; /** Codec class used to convert {@link SubmitConfig} from/to a Gerrit config */ +@Singleton public final class ConfigTranslator { private final PluginConfigFactory pluginConfigFactory; private final String pluginName;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/SubmitConfig.java b/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/SubmitConfig.java index 20712a9..134212c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/SubmitConfig.java +++ b/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/config/SubmitConfig.java
@@ -16,11 +16,13 @@ import com.google.common.base.MoreObjects; import com.google.gerrit.common.data.LabelFunction; +import com.google.inject.Singleton; import java.util.HashMap; import java.util.Map; import java.util.Optional; import java.util.Set; +@Singleton public class SubmitConfig { public Map<String, LabelDefinition> labels = new HashMap<>(); public CommentsRules comments = new CommentsRules();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/rules/NoUnresolvedCommentsRule.java b/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/rules/NoUnresolvedCommentsRule.java index 6712782..99acc84 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/rules/NoUnresolvedCommentsRule.java +++ b/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/rules/NoUnresolvedCommentsRule.java
@@ -24,6 +24,7 @@ import com.google.gerrit.server.rules.SubmitRule; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; +import com.google.inject.Singleton; import com.googlesource.gerrit.plugins.simplesubmitrules.SimpleSubmitRulesConfig; import com.googlesource.gerrit.plugins.simplesubmitrules.SimpleSubmitRulesModule; import java.util.Collection; @@ -32,6 +33,7 @@ import org.slf4j.LoggerFactory; /** Simple rule: block submission when unresolved comments are present. */ +@Singleton public class NoUnresolvedCommentsRule implements SubmitRule { private static final Logger log = LoggerFactory.getLogger(NoUnresolvedCommentsRule.class); private static final SubmitRequirement REQUIREMENT =
diff --git a/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/rules/RequireNonAuthorApprovalRule.java b/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/rules/RequireNonAuthorApprovalRule.java index 648c71b..b4df629 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/rules/RequireNonAuthorApprovalRule.java +++ b/src/main/java/com/googlesource/gerrit/plugins/simplesubmitrules/rules/RequireNonAuthorApprovalRule.java
@@ -28,6 +28,7 @@ import com.google.gerrit.server.rules.SubmitRule; import com.google.gwtorm.server.OrmException; import com.google.inject.Inject; +import com.google.inject.Singleton; import com.googlesource.gerrit.plugins.simplesubmitrules.SimpleSubmitRulesConfig; import java.util.ArrayList; import java.util.Collection; @@ -39,6 +40,7 @@ import org.slf4j.LoggerFactory; /** Simple rule: require a non-author approval or block submission */ +@Singleton public class RequireNonAuthorApprovalRule implements SubmitRule { private static final Logger log = LoggerFactory.getLogger(RequireNonAuthorApprovalRule.class); private static final String E_UNABLE_TO_FETCH_CHANGE_OWNER = "Unable to fetch the change owner";