diff options
author | David Pursehouse <dpursehouse@collab.net> | 2019-11-01 15:13:37 +0900 |
---|---|---|
committer | David Pursehouse <dpursehouse@collab.net> | 2019-11-01 16:59:33 +0900 |
commit | f47108a86b7828917b0917e8e0a853544bdf4dbf (patch) | |
tree | d683f4e5b548bce999161de826753ae8a5a68aca | |
parent | 8f7c78e1124dea85328cfa9bca545f9fc7fade4e (diff) |
PutDescription: Access MetaDataUpdate.Factory via Provider
If the update factory is not accessed via a provider, the same instance
gets reused, and this results in the commit message for the update always
having the same timestamp which is the time of the server startup.
Change-Id: I2517c8be4c6fe5594850cb787095809203a1874e
-rw-r--r-- | gerrit-server/src/main/java/com/google/gerrit/server/project/PutDescription.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutDescription.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutDescription.java index 5c1d41b41f..27bf042a1c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/PutDescription.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/PutDescription.java @@ -27,6 +27,7 @@ import com.google.gerrit.server.IdentifiedUser; import com.google.gerrit.server.git.MetaDataUpdate; import com.google.gerrit.server.git.ProjectConfig; import com.google.inject.Inject; +import com.google.inject.Provider; import com.google.inject.Singleton; import java.io.IOException; import org.eclipse.jgit.errors.ConfigInvalidException; @@ -35,10 +36,10 @@ import org.eclipse.jgit.errors.RepositoryNotFoundException; @Singleton public class PutDescription implements RestModifyView<ProjectResource, DescriptionInput> { private final ProjectCache cache; - private final MetaDataUpdate.Server updateFactory; + private final Provider<MetaDataUpdate.Server> updateFactory; @Inject - PutDescription(ProjectCache cache, MetaDataUpdate.Server updateFactory) { + PutDescription(ProjectCache cache, Provider<MetaDataUpdate.Server> updateFactory) { this.cache = cache; this.updateFactory = updateFactory; } @@ -56,7 +57,7 @@ public class PutDescription implements RestModifyView<ProjectResource, Descripti throw new AuthException("not project owner"); } - try (MetaDataUpdate md = updateFactory.create(resource.getNameKey())) { + try (MetaDataUpdate md = updateFactory.get().create(resource.getNameKey())) { ProjectConfig config = ProjectConfig.read(md); Project project = config.getProject(); project.setDescription(Strings.emptyToNull(input.description)); |