Merge changes from topic "reviewers-to-ts-and-lit" * changes: Convert the reviewers plugin to TypeScript and Lit Rename .js files to .ts
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/GetReviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/GetReviewers.java index 212b544..43d8bd1 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/GetReviewers.java +++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/GetReviewers.java
@@ -20,7 +20,7 @@ import com.google.gerrit.server.project.ProjectResource; import com.google.inject.Inject; import com.google.inject.Singleton; -import com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig; +import com.googlesource.gerrit.plugins.reviewers.config.FiltersFactory; import java.util.List; /** @@ -29,15 +29,15 @@ */ @Singleton class GetReviewers implements RestReadView<ProjectResource> { - private final ReviewersConfig config; + private final FiltersFactory filters; @Inject - GetReviewers(ReviewersConfig config) { - this.config = config; + GetReviewers(FiltersFactory filters) { + this.filters = filters; } @Override public Response<List<ReviewerFilter>> apply(ProjectResource resource) throws RestApiException { - return Response.ok(config.filtersWithInheritance(resource.getNameKey())); + return Response.ok(filters.withInheritance(resource.getNameKey())); } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java index 80b9365..c069a0c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java +++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/Module.java
@@ -30,14 +30,14 @@ import com.google.gerrit.server.change.ReviewerSuggestion; import com.google.inject.AbstractModule; import com.google.inject.Inject; -import com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig; +import com.googlesource.gerrit.plugins.reviewers.config.GlobalConfig; public class Module extends FactoryModule { private final boolean enableREST; private final boolean suggestOnly; @Inject - public Module(ReviewersConfig cfg) { + public Module(GlobalConfig cfg) { this(cfg.enableREST(), cfg.suggestOnly()); }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java index d815633..c108177 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java +++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/PutReviewers.java
@@ -41,7 +41,8 @@ import com.google.inject.Provider; import com.google.inject.Singleton; import com.googlesource.gerrit.plugins.reviewers.PutReviewers.Input; -import com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig; +import com.googlesource.gerrit.plugins.reviewers.config.FiltersFactory; +import com.googlesource.gerrit.plugins.reviewers.config.ForProject; import java.io.IOException; import java.util.List; import org.eclipse.jgit.errors.ConfigInvalidException; @@ -65,7 +66,7 @@ } private final String pluginName; - private final ReviewersConfig config; + private final FiltersFactory filters; private final Provider<MetaDataUpdate.User> metaDataUpdateFactory; private final ProjectCache projectCache; private final AccountResolver accountResolver; @@ -75,14 +76,14 @@ @Inject PutReviewers( @PluginName String pluginName, - ReviewersConfig config, + FiltersFactory filters, Provider<MetaDataUpdate.User> metaDataUpdateFactory, ProjectCache projectCache, AccountResolver accountResolver, Provider<GroupResolver> groupResolver, PermissionBackend permissionBackend) { this.pluginName = pluginName; - this.config = config; + this.filters = filters; this.metaDataUpdateFactory = metaDataUpdateFactory; this.projectCache = projectCache; this.accountResolver = accountResolver; @@ -94,7 +95,7 @@ public Response<List<ReviewerFilter>> apply(ProjectResource rsrc, Input input) throws RestApiException, PermissionBackendException { Project.NameKey projectName = rsrc.getNameKey(); - ReviewersConfig.ForProject forProject = new ReviewersConfig.ForProject(); + ForProject forProject = new ForProject(); PermissionBackend.WithUser userPermission = permissionBackend.user(rsrc.getUser()); if (!userPermission.project(rsrc.getNameKey()).testOrFalse(ProjectPermission.WRITE_CONFIG) @@ -154,7 +155,7 @@ } catch (IOException err) { throw new ResourceNotFoundException(projectName.get(), err); } - return Response.ok(config.filtersWithInheritance(projectName)); + return Response.ok(filters.withInheritance(projectName)); } private void validateReviewer(String reviewer) throws RestApiException {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewerSuggest.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewerSuggest.java index 3751548..d397579 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewerSuggest.java +++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/ReviewerSuggest.java
@@ -27,7 +27,7 @@ import com.google.gerrit.server.change.SuggestedReviewer; import com.google.inject.Inject; import com.google.inject.Singleton; -import com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig; +import com.googlesource.gerrit.plugins.reviewers.config.FiltersFactory; import java.util.List; import java.util.Set; @@ -35,14 +35,14 @@ public class ReviewerSuggest implements ReviewerSuggestion { private static final FluentLogger logger = FluentLogger.forEnclosingClass(); - private final ReviewersConfig config; + private final FiltersFactory filters; private final ReviewersFilterUtil util; private final ReviewersResolver resolver; @Inject public ReviewerSuggest( - ReviewersConfig config, ReviewersFilterUtil filterUtil, ReviewersResolver resolver) { - this.config = config; + FiltersFactory filters, ReviewersFilterUtil filterUtil, ReviewersResolver resolver) { + this.filters = filters; this.util = filterUtil; this.resolver = resolver; } @@ -53,7 +53,7 @@ Id changeId, String query, Set<com.google.gerrit.entities.Account.Id> candidates) { - List<ReviewerFilter> sections = config.filtersWithInheritance(project); + List<ReviewerFilter> sections = filters.withInheritance(project); if (sections.isEmpty() || changeId == null) { return ImmutableSet.of();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/Reviewers.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/Reviewers.java index a3b96ab..fb5855c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/Reviewers.java +++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/Reviewers.java
@@ -26,7 +26,8 @@ import com.google.gerrit.index.query.QueryParseException; import com.google.inject.Inject; import com.google.inject.Singleton; -import com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig; +import com.googlesource.gerrit.plugins.reviewers.config.FiltersFactory; +import com.googlesource.gerrit.plugins.reviewers.config.GlobalConfig; import java.util.List; import java.util.Set; @@ -41,7 +42,8 @@ private final ReviewersResolver resolver; private final AddReviewers.Factory addReviewersFactory; private final ReviewerWorkQueue workQueue; - private final ReviewersConfig config; + private final GlobalConfig config; + private final FiltersFactory filters; private final ReviewersFilterUtil filterUtil; @Inject @@ -49,12 +51,14 @@ ReviewersResolver resolver, AddReviewers.Factory addReviewersFactory, ReviewerWorkQueue workQueue, - ReviewersConfig config, + GlobalConfig config, + FiltersFactory filters, ReviewersFilterUtil util) { this.resolver = resolver; this.addReviewersFactory = addReviewersFactory; this.workQueue = workQueue; this.config = config; + this.filters = filters; this.filterUtil = util; } @@ -75,7 +79,7 @@ private List<ReviewerFilter> getFilters(Project.NameKey projectName) { // TODO(davido): we have to cache per project configuration - return config.filtersWithInheritance(projectName); + return filters.withInheritance(projectName); } private void onEvent(ChangeEvent event) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/FiltersFactory.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/FiltersFactory.java new file mode 100644 index 0000000..04c3d62 --- /dev/null +++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/FiltersFactory.java
@@ -0,0 +1,51 @@ +// Copyright (C) 2021 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.googlesource.gerrit.plugins.reviewers.config; + +import com.google.common.flogger.FluentLogger; +import com.google.gerrit.entities.Project; +import com.google.gerrit.extensions.annotations.PluginName; +import com.google.gerrit.server.config.PluginConfigFactory; +import com.google.gerrit.server.project.NoSuchProjectException; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.googlesource.gerrit.plugins.reviewers.ReviewerFilter; +import java.util.List; +import org.eclipse.jgit.lib.Config; + +@Singleton +public class FiltersFactory { + private static final FluentLogger logger = FluentLogger.forEnclosingClass(); + + private final PluginConfigFactory configFactory; + private final String pluginName; + + @Inject + public FiltersFactory(PluginConfigFactory configFactory, @PluginName String pluginName) { + this.configFactory = configFactory; + this.pluginName = pluginName; + } + + public List<ReviewerFilter> withInheritance(Project.NameKey projectName) { + Config cfg; + try { + cfg = configFactory.getProjectPluginConfigWithMergedInheritance(projectName, pluginName); + } catch (NoSuchProjectException e) { + logger.atSevere().log("Unable to get config for project %s", projectName.get()); + cfg = new Config(); + } + return new ReviewerFilterCollection(cfg).getAll(); + } +}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/ForProject.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/ForProject.java new file mode 100644 index 0000000..c53fdba --- /dev/null +++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/ForProject.java
@@ -0,0 +1,75 @@ +// Copyright (C) 2021 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.googlesource.gerrit.plugins.reviewers.config; + +import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Strings; +import com.google.gerrit.entities.RefNames; +import com.google.gerrit.server.git.meta.VersionedMetaData; +import com.googlesource.gerrit.plugins.reviewers.ReviewerType; +import java.io.IOException; +import org.eclipse.jgit.errors.ConfigInvalidException; +import org.eclipse.jgit.lib.CommitBuilder; +import org.eclipse.jgit.lib.Config; + +public class ForProject extends VersionedMetaData { + @VisibleForTesting public static final String FILENAME = "reviewers.config"; + @VisibleForTesting public static final String SECTION_FILTER = "filter"; + @VisibleForTesting public static final String KEY_CC = "cc"; + @VisibleForTesting public static final String KEY_REVIEWER = "reviewer"; + + private Config cfg; + private ReviewerFilterCollection filters; + + public void addReviewer(String filter, String reviewer, ReviewerType type) { + switch (type) { + case REVIEWER: + filters.get(filter).addReviewer(reviewer); + break; + case CC: + filters.get(filter).addCc(reviewer); + } + } + + public void removeReviewer(String filter, String reviewer, ReviewerType type) { + switch (type) { + case REVIEWER: + filters.get(filter).removeReviewer(reviewer); + break; + case CC: + filters.get(filter).removeCc(reviewer); + } + } + + @Override + protected String getRefName() { + return RefNames.REFS_CONFIG; + } + + @Override + protected void onLoad() throws IOException, ConfigInvalidException { + this.cfg = readConfig(FILENAME); + this.filters = new ReviewerFilterCollection(cfg); + } + + @Override + protected boolean onSave(CommitBuilder commit) throws IOException, ConfigInvalidException { + if (Strings.isNullOrEmpty(commit.getMessage())) { + commit.setMessage("Update reviewers configuration\n"); + } + saveConfig(FILENAME, cfg); + return true; + } +}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/GlobalConfig.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/GlobalConfig.java new file mode 100644 index 0000000..b61279f --- /dev/null +++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/GlobalConfig.java
@@ -0,0 +1,53 @@ +// Copyright (C) 2014 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package com.googlesource.gerrit.plugins.reviewers.config; + +import com.google.gerrit.extensions.annotations.PluginName; +import com.google.gerrit.server.config.PluginConfigFactory; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import org.eclipse.jgit.lib.Config; + +/** Global and project local configurations. */ +@Singleton +public class GlobalConfig { + private static final String KEY_ENABLE_REST = "enableREST"; + private static final String KEY_SUGGEST_ONLY = "suggestOnly"; + private static final String KEY_IGNORE_WIP = "ignoreWip"; + + private final boolean enableREST; + private final boolean suggestOnly; + private final boolean ignoreWip; + + @Inject + GlobalConfig(PluginConfigFactory cfgFactory, @PluginName String pluginName) { + Config cfg = cfgFactory.getGlobalPluginConfig(pluginName); + this.enableREST = cfg.getBoolean(pluginName, null, KEY_ENABLE_REST, true); + this.suggestOnly = cfg.getBoolean(pluginName, null, KEY_SUGGEST_ONLY, false); + this.ignoreWip = cfg.getBoolean(pluginName, null, KEY_IGNORE_WIP, true); + } + + public boolean enableREST() { + return enableREST; + } + + public boolean suggestOnly() { + return suggestOnly; + } + + public boolean ignoreWip() { + return ignoreWip; + } +}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewerFilterCollection.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewerFilterCollection.java index cd41373..bd44ccd 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewerFilterCollection.java +++ b/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewerFilterCollection.java
@@ -14,9 +14,9 @@ package com.googlesource.gerrit.plugins.reviewers.config; -import static com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig.KEY_CC; -import static com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig.KEY_REVIEWER; -import static com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig.SECTION_FILTER; +import static com.googlesource.gerrit.plugins.reviewers.config.ForProject.KEY_CC; +import static com.googlesource.gerrit.plugins.reviewers.config.ForProject.KEY_REVIEWER; +import static com.googlesource.gerrit.plugins.reviewers.config.ForProject.SECTION_FILTER; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists;
diff --git a/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewersConfig.java b/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewersConfig.java deleted file mode 100644 index c81cbd5..0000000 --- a/src/main/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewersConfig.java +++ /dev/null
@@ -1,133 +0,0 @@ -// Copyright (C) 2014 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package com.googlesource.gerrit.plugins.reviewers.config; - -import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Strings; -import com.google.common.flogger.FluentLogger; -import com.google.gerrit.entities.Project; -import com.google.gerrit.entities.RefNames; -import com.google.gerrit.extensions.annotations.PluginName; -import com.google.gerrit.server.config.PluginConfigFactory; -import com.google.gerrit.server.git.meta.VersionedMetaData; -import com.google.gerrit.server.project.NoSuchProjectException; -import com.google.inject.Inject; -import com.google.inject.Singleton; -import com.googlesource.gerrit.plugins.reviewers.ReviewerFilter; -import com.googlesource.gerrit.plugins.reviewers.ReviewerType; -import java.io.IOException; -import java.util.List; -import org.eclipse.jgit.errors.ConfigInvalidException; -import org.eclipse.jgit.lib.CommitBuilder; -import org.eclipse.jgit.lib.Config; - -/** Global and project local configurations. */ -@Singleton -public class ReviewersConfig { - private static final FluentLogger logger = FluentLogger.forEnclosingClass(); - - @VisibleForTesting public static final String FILENAME = "reviewers.config"; - @VisibleForTesting public static final String SECTION_FILTER = "filter"; - @VisibleForTesting public static final String KEY_CC = "cc"; - @VisibleForTesting public static final String KEY_REVIEWER = "reviewer"; - private static final String KEY_ENABLE_REST = "enableREST"; - private static final String KEY_SUGGEST_ONLY = "suggestOnly"; - private static final String KEY_IGNORE_WIP = "ignoreWip"; - - private final PluginConfigFactory cfgFactory; - private final String pluginName; - - private final boolean enableREST; - private final boolean suggestOnly; - private final boolean ignoreWip; - - @Inject - ReviewersConfig(PluginConfigFactory cfgFactory, @PluginName String pluginName) { - this.cfgFactory = cfgFactory; - this.pluginName = pluginName; - Config cfg = cfgFactory.getGlobalPluginConfig(pluginName); - this.enableREST = cfg.getBoolean(pluginName, null, KEY_ENABLE_REST, true); - this.suggestOnly = cfg.getBoolean(pluginName, null, KEY_SUGGEST_ONLY, false); - this.ignoreWip = cfg.getBoolean(pluginName, null, KEY_IGNORE_WIP, true); - } - - public List<ReviewerFilter> filtersWithInheritance(Project.NameKey projectName) { - Config cfg; - try { - cfg = cfgFactory.getProjectPluginConfigWithMergedInheritance(projectName, pluginName); - } catch (NoSuchProjectException e) { - logger.atSevere().log("Unable to get config for project %s", projectName.get()); - cfg = new Config(); - } - return new ReviewerFilterCollection(cfg).getAll(); - } - - public boolean enableREST() { - return enableREST; - } - - public boolean suggestOnly() { - return suggestOnly; - } - - public boolean ignoreWip() { - return ignoreWip; - } - - public static class ForProject extends VersionedMetaData { - private Config cfg; - private ReviewerFilterCollection filters; - - public void addReviewer(String filter, String reviewer, ReviewerType type) { - switch (type) { - case REVIEWER: - filters.get(filter).addReviewer(reviewer); - break; - case CC: - filters.get(filter).addCc(reviewer); - } - } - - public void removeReviewer(String filter, String reviewer, ReviewerType type) { - switch (type) { - case REVIEWER: - filters.get(filter).removeReviewer(reviewer); - break; - case CC: - filters.get(filter).removeCc(reviewer); - } - } - - @Override - protected String getRefName() { - return RefNames.REFS_CONFIG; - } - - @Override - protected void onLoad() throws IOException, ConfigInvalidException { - this.cfg = readConfig(FILENAME); - this.filters = new ReviewerFilterCollection(cfg); - } - - @Override - protected boolean onSave(CommitBuilder commit) throws IOException, ConfigInvalidException { - if (Strings.isNullOrEmpty(commit.getMessage())) { - commit.setMessage("Update reviewers configuration\n"); - } - saveConfig(FILENAME, cfg); - return true; - } - } -}
diff --git a/src/test/java/com/googlesource/gerrit/plugins/reviewers/AbstractReviewersPluginTest.java b/src/test/java/com/googlesource/gerrit/plugins/reviewers/AbstractReviewersPluginTest.java index 1407b48..cd13812 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/reviewers/AbstractReviewersPluginTest.java +++ b/src/test/java/com/googlesource/gerrit/plugins/reviewers/AbstractReviewersPluginTest.java
@@ -15,10 +15,10 @@ package com.googlesource.gerrit.plugins.reviewers; import static com.google.gerrit.acceptance.GitUtil.fetch; -import static com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig.FILENAME; -import static com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig.KEY_CC; -import static com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig.KEY_REVIEWER; -import static com.googlesource.gerrit.plugins.reviewers.config.ReviewersConfig.SECTION_FILTER; +import static com.googlesource.gerrit.plugins.reviewers.config.ForProject.FILENAME; +import static com.googlesource.gerrit.plugins.reviewers.config.ForProject.KEY_CC; +import static com.googlesource.gerrit.plugins.reviewers.config.ForProject.KEY_REVIEWER; +import static com.googlesource.gerrit.plugins.reviewers.config.ForProject.SECTION_FILTER; import com.google.common.collect.Lists; import com.google.common.collect.Sets; @@ -66,10 +66,6 @@ return repo; } - private TestFilter filter(String filter, Set<String> reviewers, Set<String> ccs) { - return new TestFilter(filter, reviewers, ccs); - } - protected TestFilter filter(String filter) { return new TestFilter(filter); }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewersConfigIT.java b/src/test/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewersConfigIT.java index cd593c8..5f71d91 100644 --- a/src/test/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewersConfigIT.java +++ b/src/test/java/com/googlesource/gerrit/plugins/reviewers/config/ReviewersConfigIT.java
@@ -78,11 +78,11 @@ } private void assertProjectHasFilters(Project.NameKey project, TestFilter... filters) { - assertThat(reviewersConfig().filtersWithInheritance(project)) + assertThat(filters().withInheritance(project)) .containsExactlyElementsIn(ImmutableList.copyOf(filters)); } - private ReviewersConfig reviewersConfig() { - return plugin.getSysInjector().getInstance(ReviewersConfig.class); + private FiltersFactory filters() { + return plugin.getSysInjector().getInstance(FiltersFactory.class); } }