diff options
author | Shawn Pearce <sop@google.com> | 2017-04-29 13:15:16 -0700 |
---|---|---|
committer | David Pursehouse <dpursehouse@collab.net> | 2017-06-14 17:34:59 +0900 |
commit | 2a4d0bfe10c63c79ca0d47be21756377703e46c0 (patch) | |
tree | 83a2eef965d8bb84ec61ae345c9b77ce506e7da9 | |
parent | f9e2ef3f01d8b4a0e4951ff7195d2989f75a20dc (diff) |
Switch PushOne to VisibleRefFilter.Factory
The core server is now creating VisibleRefFilter with an assisted
injection factory, reducing the arguments provided by callers.
Change-Id: I5f230604b37c675b4751984c7af26d4701d6f8c4
-rw-r--r-- | src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java | 33 |
1 files changed, 4 insertions, 29 deletions
diff --git a/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java b/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java index c51060f..8521910 100644 --- a/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java +++ b/src/main/java/com/googlesource/gerrit/plugins/replication/PushOne.java @@ -21,29 +21,22 @@ import com.google.common.base.Throwables; import com.google.common.collect.LinkedListMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Sets; -import com.google.gerrit.common.Nullable; import com.google.gerrit.extensions.events.GitReferenceUpdatedListener; import com.google.gerrit.extensions.restapi.AuthException; import com.google.gerrit.metrics.Timer1; import com.google.gerrit.reviewdb.client.Project; import com.google.gerrit.reviewdb.client.RefNames; -import com.google.gerrit.reviewdb.server.ReviewDb; import com.google.gerrit.server.git.GitRepositoryManager; import com.google.gerrit.server.git.PerThreadRequestScope; import com.google.gerrit.server.git.ProjectRunnable; -import com.google.gerrit.server.git.SearchingChangeCacheImpl; -import com.google.gerrit.server.git.TagCache; import com.google.gerrit.server.git.VisibleRefFilter; import com.google.gerrit.server.git.WorkQueue.CanceledWhileRunning; -import com.google.gerrit.server.notedb.ChangeNotes; import com.google.gerrit.server.permissions.PermissionBackend; import com.google.gerrit.server.permissions.PermissionBackendException; import com.google.gerrit.server.permissions.ProjectPermission; import com.google.gerrit.server.project.NoSuchProjectException; import com.google.gerrit.server.project.ProjectControl; import com.google.gerrit.server.util.IdGenerator; -import com.google.gwtorm.server.OrmException; -import com.google.gwtorm.server.SchemaFactory; import com.google.inject.Inject; import com.google.inject.assistedinject.Assisted; import com.googlesource.gerrit.plugins.replication.ReplicationState.RefPushResult; @@ -95,14 +88,11 @@ class PushOne implements ProjectRunnable, CanceledWhileRunning { private final GitRepositoryManager gitManager; private final PermissionBackend permissionBackend; - private final SchemaFactory<ReviewDb> schema; private final Destination pool; private final RemoteConfig config; private final CredentialsProvider credentialsProvider; - private final TagCache tagCache; private final PerThreadRequestScope.Scoper threadScoper; - private final ChangeNotes.Factory changeNotesFactory; - private final SearchingChangeCacheImpl changeCache; + private final VisibleRefFilter.Factory refFilterFactory; private final ReplicationQueue replicationQueue; private final Project.NameKey projectName; @@ -126,14 +116,11 @@ class PushOne implements ProjectRunnable, CanceledWhileRunning { PushOne( GitRepositoryManager grm, PermissionBackend permissionBackend, - SchemaFactory<ReviewDb> s, Destination p, RemoteConfig c, + VisibleRefFilter.Factory rff, CredentialsFactory cpFactory, - TagCache tc, PerThreadRequestScope.Scoper ts, - ChangeNotes.Factory nf, - @Nullable SearchingChangeCacheImpl cc, ReplicationQueue rq, IdGenerator ig, ReplicationStateListener sl, @@ -142,14 +129,11 @@ class PushOne implements ProjectRunnable, CanceledWhileRunning { @Assisted URIish u) { gitManager = grm; this.permissionBackend = permissionBackend; - schema = s; pool = p; config = c; + refFilterFactory = rff; credentialsProvider = cpFactory.create(c.getName()); - tagCache = tc; threadScoper = ts; - changeNotesFactory = nf; - changeCache = cc; replicationQueue = rq; projectName = d; uri = u; @@ -493,16 +477,7 @@ class PushOne implements ProjectRunnable, CanceledWhileRunning { } local = n; } - - try (ReviewDb db = schema.open()) { - local = - new VisibleRefFilter(tagCache, changeNotesFactory, changeCache, git, pc, db, true) - .filter(local, true); - } catch (OrmException e) { - stateLog.error( - "Cannot read database to replicate to " + projectName, e, getStatesAsArray()); - return Collections.emptyList(); - } + local = refFilterFactory.create(pc.getProjectState(), git).filter(local, true); } return pushAllRefs ? doPushAll(tn, local) : doPushDelta(local); |