Define Provider<ProjectLevelConfig.Bare>, reduce code repetition Change-Id: I854b8f8722c1cc25d1334b256d4ae201ffb11e3f
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java index defb457..13ff20c 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java +++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java
@@ -78,7 +78,7 @@ } private final PluginConfig cfg; - private final String pluginName; + private final Provider<ProjectLevelConfig.Bare> configProvider; private final CreateAccount createAccount; private final List<String> blockedNames; private final Provider<CurrentUser> userProvider; @@ -91,6 +91,7 @@ @Inject CreateServiceUser( PluginConfigFactory cfgFactory, + Provider<ProjectLevelConfig.Bare> configProvider, @PluginName String pluginName, CreateAccount createAccount, Provider<CurrentUser> userProvider, @@ -100,7 +101,7 @@ Provider<GetConfig> getConfig, AccountLoader.Factory accountLoader) { this.cfg = cfgFactory.getFromGerritConfig(pluginName); - this.pluginName = pluginName; + this.configProvider = configProvider; this.createAccount = createAccount; this.blockedNames = Lists.transform( @@ -179,7 +180,7 @@ String creationDate = rfc2822DateFormatter.format(new Date()); try (MetaDataUpdate md = metaDataUpdateFactory.create(allProjects)) { - ProjectLevelConfig.Bare update = new ProjectLevelConfig.Bare(pluginName + ".db"); + ProjectLevelConfig.Bare update = configProvider.get(); update.load(md); Config db = update.getConfig();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/Module.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/Module.java index 56d14e1..9dc32a4 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/Module.java +++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/Module.java
@@ -19,13 +19,16 @@ import static com.googlesource.gerrit.plugins.serviceuser.ServiceUserResource.SERVICE_USER_SSH_KEY_KIND; import com.google.gerrit.extensions.annotations.Exports; +import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.config.CapabilityDefinition; import com.google.gerrit.extensions.events.GitReferenceUpdatedListener; import com.google.gerrit.extensions.registration.DynamicMap; import com.google.gerrit.extensions.registration.DynamicSet; import com.google.gerrit.extensions.restapi.RestApiModule; import com.google.gerrit.server.git.validators.CommitValidationListener; +import com.google.gerrit.server.project.ProjectLevelConfig; import com.google.inject.AbstractModule; +import com.google.inject.Provides; import com.google.inject.assistedinject.FactoryModuleBuilder; class Module extends AbstractModule { @@ -72,4 +75,9 @@ }); install(new HttpModule()); } + + @Provides + ProjectLevelConfig.Bare createProjectLevelConfig(@PluginName String pluginName) { + return new ProjectLevelConfig.Bare(pluginName + ".db"); + } }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutOwner.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutOwner.java index 065e2ea..120c464 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutOwner.java +++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/PutOwner.java
@@ -24,7 +24,6 @@ import com.google.gerrit.entities.AccountGroup.UUID; import com.google.gerrit.entities.GroupDescription; import com.google.gerrit.entities.Project; -import com.google.gerrit.extensions.annotations.PluginName; import com.google.gerrit.extensions.common.GroupInfo; import com.google.gerrit.extensions.restapi.DefaultInput; import com.google.gerrit.extensions.restapi.IdString; @@ -58,7 +57,7 @@ private final Provider<GetConfig> getConfig; private final GroupsCollection groups; - private final String pluginName; + private final Provider<ProjectLevelConfig.Bare> configProvider; private final Project.NameKey allProjects; private final MetaDataUpdate.User metaDataUpdateFactory; private final GroupJson json; @@ -69,7 +68,7 @@ PutOwner( Provider<GetConfig> getConfig, GroupsCollection groups, - @PluginName String pluginName, + Provider<ProjectLevelConfig.Bare> configProvider, ProjectCache projectCache, MetaDataUpdate.User metaDataUpdateFactory, GroupJson json, @@ -77,7 +76,7 @@ PermissionBackend permissionBackend) { this.getConfig = getConfig; this.groups = groups; - this.pluginName = pluginName; + this.configProvider = configProvider; this.allProjects = projectCache.getAllProjects().getProject().getNameKey(); this.metaDataUpdateFactory = metaDataUpdateFactory; this.json = json; @@ -105,7 +104,7 @@ GroupDescription.Basic group = null; String oldGroup; try (MetaDataUpdate md = metaDataUpdateFactory.create(allProjects)) { - ProjectLevelConfig.Bare update = new ProjectLevelConfig.Bare(pluginName + ".db"); + ProjectLevelConfig.Bare update = configProvider.get(); update.load(md); Config db = update.getConfig();