Use provider to inject current user into CheckCodeOwnerConfigFiles singleton

If current user is directly injected into a singleton, the user is never
updated after the instance was created.

Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: Id32e4a1131743bc40e4cf7d7eefc214cd7a4eb4a
diff --git a/java/com/google/gerrit/plugins/codeowners/restapi/CheckCodeOwnerConfigFiles.java b/java/com/google/gerrit/plugins/codeowners/restapi/CheckCodeOwnerConfigFiles.java
index ff75b43..fac3c36 100644
--- a/java/com/google/gerrit/plugins/codeowners/restapi/CheckCodeOwnerConfigFiles.java
+++ b/java/com/google/gerrit/plugins/codeowners/restapi/CheckCodeOwnerConfigFiles.java
@@ -69,7 +69,7 @@
     implements RestModifyView<ProjectResource, CheckCodeOwnerConfigFilesInput> {
   private static final FluentLogger logger = FluentLogger.forEnclosingClass();
 
-  private final CurrentUser currentUser;
+  private final Provider<CurrentUser> currentUser;
   private final PermissionBackend permissionBackend;
   private final Provider<ListBranches> listBranches;
   private final CodeOwnersPluginConfiguration codeOwnersPluginConfiguration;
@@ -78,7 +78,7 @@
 
   @Inject
   public CheckCodeOwnerConfigFiles(
-      CurrentUser currentUser,
+      Provider<CurrentUser> currentUser,
       PermissionBackend permissionBackend,
       Provider<ListBranches> listBranches,
       CodeOwnersPluginConfiguration codeOwnersPluginConfiguration,
@@ -96,7 +96,7 @@
   public Response<Map<String, Map<String, List<ConsistencyProblemInfo>>>> apply(
       ProjectResource projectResource, CheckCodeOwnerConfigFilesInput input)
       throws RestApiException, PermissionBackendException, IOException {
-    if (!currentUser.isIdentifiedUser()) {
+    if (!currentUser.get().isIdentifiedUser()) {
       throw new AuthException("Authentication required");
     }
 
@@ -164,7 +164,8 @@
   private ImmutableList<ConsistencyProblemInfo> checkCodeOwnerConfig(
       CodeOwnerBackend codeOwnerBackend, CodeOwnerConfig codeOwnerConfig) {
     return codeOwnerConfigValidator
-        .validateCodeOwnerConfig(currentUser.asIdentifiedUser(), codeOwnerBackend, codeOwnerConfig)
+        .validateCodeOwnerConfig(
+            currentUser.get().asIdentifiedUser(), codeOwnerBackend, codeOwnerConfig)
         .map(CheckCodeOwnerConfigFiles::createConsistencyProblemInfo)
         .filter(Optional::isPresent)
         .map(Optional::get)