Fix issue with reading maxApiPayloadSize property

Bug: Issue 14151
Change-Id: I045cb36d2b904668689549a78355e78ea868207b
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReader.java b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReader.java
index d88c5f5..5718249 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReader.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReader.java
@@ -20,6 +20,7 @@
 import com.google.gerrit.entities.Project;
 import com.google.gerrit.server.git.GitRepositoryManager;
 import com.google.inject.Inject;
+import com.googlesource.gerrit.plugins.replication.ReplicationConfig;
 import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionData;
 import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionObjectData;
 import com.googlesource.gerrit.plugins.replication.pull.api.exception.RefUpdateException;
@@ -33,7 +34,6 @@
 import org.eclipse.jgit.errors.LargeObjectException;
 import org.eclipse.jgit.errors.MissingObjectException;
 import org.eclipse.jgit.errors.RepositoryNotFoundException;
-import org.eclipse.jgit.lib.Config;
 import org.eclipse.jgit.lib.ObjectId;
 import org.eclipse.jgit.lib.ObjectLoader;
 import org.eclipse.jgit.lib.Ref;
@@ -50,10 +50,11 @@
   private Long maxRefSize;
 
   @Inject
-  public RevisionReader(GitRepositoryManager gitRepositoryManager, Config cfg) {
+  public RevisionReader(GitRepositoryManager gitRepositoryManager, ReplicationConfig cfg) {
     this.gitRepositoryManager = gitRepositoryManager;
     this.maxRefSize =
-        cfg.getLong("replication", CONFIG_MAX_API_PAYLOAD_SIZE, DEFAULT_MAX_PAYLOAD_SIZE_IN_BYTES);
+        cfg.getConfig()
+            .getLong("replication", CONFIG_MAX_API_PAYLOAD_SIZE, DEFAULT_MAX_PAYLOAD_SIZE_IN_BYTES);
   }
 
   public Optional<RevisionData> read(Project.NameKey project, String refName)
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReaderIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReaderIT.java
index ca410d5..d1a4c85 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReaderIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/RevisionReaderIT.java
@@ -29,13 +29,15 @@
 import com.google.gerrit.extensions.api.changes.ReviewInput.CommentInput;
 import com.google.gerrit.extensions.client.Comment;
 import com.google.gerrit.extensions.config.FactoryModule;
-import com.google.inject.Inject;
 import com.google.inject.Scopes;
+import com.googlesource.gerrit.plugins.replication.ReplicationConfig;
+import com.googlesource.gerrit.plugins.replication.ReplicationFileBasedConfig;
 import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionData;
 import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionObjectData;
 import com.googlesource.gerrit.plugins.replication.pull.fetch.ApplyObject;
 import java.util.Optional;
 import org.eclipse.jgit.lib.Constants;
+import org.junit.Before;
 import org.junit.Test;
 
 @UseLocalDisk
@@ -43,7 +45,12 @@
     name = "pull-replication",
     sysModule = "com.googlesource.gerrit.plugins.replication.pull.RevisionReaderIT$TestModule")
 public class RevisionReaderIT extends LightweightPluginDaemonTest {
-  @Inject RevisionReader objectUnderTest;
+  RevisionReader objectUnderTest;
+
+  @Before
+  public void setup() {
+    objectUnderTest = plugin.getSysInjector().getInstance(RevisionReader.class);
+  }
 
   @Test
   public void shouldReadRefMetaObject() throws Exception {
@@ -114,6 +121,7 @@
   private static class TestModule extends FactoryModule {
     @Override
     protected void configure() {
+      bind(ReplicationConfig.class).to(ReplicationFileBasedConfig.class);
       bind(RevisionReader.class).in(Scopes.SINGLETON);
       bind(ApplyObject.class);
     }
diff --git a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObjectIT.java b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObjectIT.java
index 5d80d94..f6cd342 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObjectIT.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/replication/pull/fetch/ApplyObjectIT.java
@@ -36,6 +36,8 @@
 import com.google.gerrit.extensions.config.FactoryModule;
 import com.google.inject.Inject;
 import com.google.inject.Scopes;
+import com.googlesource.gerrit.plugins.replication.ReplicationConfig;
+import com.googlesource.gerrit.plugins.replication.ReplicationFileBasedConfig;
 import com.googlesource.gerrit.plugins.replication.pull.RevisionReader;
 import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionData;
 import com.googlesource.gerrit.plugins.replication.pull.api.data.RevisionObjectData;
@@ -46,6 +48,7 @@
 import org.eclipse.jgit.junit.TestRepository;
 import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.transport.RefSpec;
+import org.junit.Before;
 import org.junit.Test;
 
 @SkipProjectClone
@@ -57,8 +60,13 @@
   private static final String TEST_REPLICATION_SUFFIX = "suffix1";
 
   @Inject private ProjectOperations projectOperations;
-  @Inject RevisionReader reader;
   @Inject ApplyObject objectUnderTest;
+  RevisionReader reader;
+
+  @Before
+  public void setup() {
+    reader = plugin.getSysInjector().getInstance(RevisionReader.class);
+  }
 
   @Test
   public void shouldApplyRefMetaObject() throws Exception {
@@ -184,6 +192,7 @@
   private static class TestModule extends FactoryModule {
     @Override
     protected void configure() {
+      bind(ReplicationConfig.class).to(ReplicationFileBasedConfig.class);
       bind(RevisionReader.class).in(Scopes.SINGLETON);
       bind(ApplyObject.class);
     }