Inject UrlFormatter into ChangeUtil
For callers it’s no difference if they need to get ChangeUtil injected
(new) or if they need to get UrlFormatter injected in order to pass it
to ChangeUtil when calling ChangeUtil (old).
Making injection into ChangeUtil possible allows us to get further
classes injected. E.g. in a successor change we want to get the gerrit
config injected to control via a config setting whether link-style
change ID footers are allowed.
Bug: Google b/287172287
Release-Notes: skip
Change-Id: Iefd6f0b1e689ccb97858370591c6afbfa5a73074
Signed-off-by: Edwin Kempin <ekempin@google.com>
diff --git a/java/com/google/gerrit/server/ChangeUtil.java b/java/com/google/gerrit/server/ChangeUtil.java
index 2265055..be34459 100644
--- a/java/com/google/gerrit/server/ChangeUtil.java
+++ b/java/com/google/gerrit/server/ChangeUtil.java
@@ -22,10 +22,12 @@
import com.google.gerrit.common.FooterConstants;
import com.google.gerrit.entities.Change;
import com.google.gerrit.entities.PatchSet;
+import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.extensions.restapi.BadRequestException;
import com.google.gerrit.extensions.restapi.ResourceConflictException;
import com.google.gerrit.server.config.UrlFormatter;
import com.google.gerrit.server.util.CommitMessageUtil;
+import com.google.inject.Inject;
import com.google.inject.Singleton;
import java.io.IOException;
import java.security.SecureRandom;
@@ -54,6 +56,13 @@
public static final Ordering<PatchSet> PS_ID_ORDER =
Ordering.from(comparingInt(PatchSet::number));
+ private final DynamicItem<UrlFormatter> urlFormatter;
+
+ @Inject
+ ChangeUtil(DynamicItem<UrlFormatter> urlFormatter) {
+ this.urlFormatter = urlFormatter;
+ }
+
/** Returns a new unique identifier for change message entities. */
public static String messageUuid() {
byte[] buf = new byte[8];
@@ -124,11 +133,8 @@
* @throws ResourceConflictException if the new commit message has a missing or invalid Change-Id
* @throws BadRequestException if the new commit message is null or empty
*/
- public static void ensureChangeIdIsCorrect(
- boolean requireChangeId,
- String currentChangeId,
- String newCommitMessage,
- UrlFormatter urlFormatter)
+ public void ensureChangeIdIsCorrect(
+ boolean requireChangeId, String currentChangeId, String newCommitMessage)
throws ResourceConflictException, BadRequestException {
RevCommit revCommit =
RevCommit.parse(
@@ -137,7 +143,7 @@
// Check that the commit message without footers is not empty
CommitMessageUtil.checkAndSanitizeCommitMessage(revCommit.getShortMessage());
- List<String> changeIdFooters = getChangeIdsFromFooter(revCommit, urlFormatter);
+ List<String> changeIdFooters = getChangeIdsFromFooter(revCommit);
if (requireChangeId && changeIdFooters.isEmpty()) {
throw new ResourceConflictException("missing Change-Id footer");
}
@@ -155,9 +161,9 @@
private static final Pattern LINK_CHANGE_ID_PATTERN = Pattern.compile("I[0-9a-f]{40}");
- public static List<String> getChangeIdsFromFooter(RevCommit c, UrlFormatter urlFormatter) {
+ public List<String> getChangeIdsFromFooter(RevCommit c) {
List<String> changeIds = c.getFooterLines(FooterConstants.CHANGE_ID);
- Optional<String> webUrl = urlFormatter.getWebUrl();
+ Optional<String> webUrl = urlFormatter.get().getWebUrl();
if (!webUrl.isPresent()) {
return changeIds;
}
@@ -176,6 +182,4 @@
return changeIds;
}
-
- private ChangeUtil() {}
}
diff --git a/java/com/google/gerrit/server/change/ChangeInserter.java b/java/com/google/gerrit/server/change/ChangeInserter.java
index 2818f87..0f54381 100644
--- a/java/com/google/gerrit/server/change/ChangeInserter.java
+++ b/java/com/google/gerrit/server/change/ChangeInserter.java
@@ -46,7 +46,6 @@
import com.google.gerrit.entities.SubmissionId;
import com.google.gerrit.extensions.api.changes.NotifyHandling;
import com.google.gerrit.extensions.client.ReviewerState;
-import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.extensions.restapi.BadRequestException;
import com.google.gerrit.extensions.restapi.ResourceConflictException;
import com.google.gerrit.extensions.restapi.RestApiException;
@@ -59,7 +58,6 @@
import com.google.gerrit.server.change.ReviewerModifier.ReviewerModification;
import com.google.gerrit.server.change.ReviewerModifier.ReviewerModificationList;
import com.google.gerrit.server.config.SendEmailExecutor;
-import com.google.gerrit.server.config.UrlFormatter;
import com.google.gerrit.server.events.CommitReceivedEvent;
import com.google.gerrit.server.extensions.events.CommentAdded;
import com.google.gerrit.server.extensions.events.RevisionCreated;
@@ -123,8 +121,8 @@
private final CommentAdded commentAdded;
private final ReviewerModifier reviewerModifier;
private final MessageIdGenerator messageIdGenerator;
- private final DynamicItem<UrlFormatter> urlFormatter;
private final AutoMerger autoMerger;
+ private final ChangeUtil changeUtil;
private final Change.Id changeId;
private final PatchSet.Id psId;
@@ -176,8 +174,8 @@
RevisionCreated revisionCreated,
ReviewerModifier reviewerModifier,
MessageIdGenerator messageIdGenerator,
- DynamicItem<UrlFormatter> urlFormatter,
AutoMerger autoMerger,
+ ChangeUtil changeUtil,
@Assisted Change.Id changeId,
@Assisted ObjectId commitId,
@Assisted String refName) {
@@ -194,8 +192,8 @@
this.commentAdded = commentAdded;
this.reviewerModifier = reviewerModifier;
this.messageIdGenerator = messageIdGenerator;
- this.urlFormatter = urlFormatter;
this.autoMerger = autoMerger;
+ this.changeUtil = changeUtil;
this.changeId = changeId;
this.psId = PatchSet.id(changeId, INITIAL_PATCH_SET_ID);
@@ -230,7 +228,7 @@
private Change.Key getChangeKey(RevWalk rw) throws IOException {
RevCommit commit = rw.parseCommit(commitId);
rw.parseBody(commit);
- List<String> idList = ChangeUtil.getChangeIdsFromFooter(commit, urlFormatter.get());
+ List<String> idList = changeUtil.getChangeIdsFromFooter(commit);
if (!idList.isEmpty()) {
return Change.key(idList.get(idList.size() - 1).trim());
}
diff --git a/java/com/google/gerrit/server/change/ConsistencyChecker.java b/java/com/google/gerrit/server/change/ConsistencyChecker.java
index 063903b..b216db3 100644
--- a/java/com/google/gerrit/server/change/ConsistencyChecker.java
+++ b/java/com/google/gerrit/server/change/ConsistencyChecker.java
@@ -38,14 +38,12 @@
import com.google.gerrit.extensions.api.changes.FixInput;
import com.google.gerrit.extensions.common.ProblemInfo;
import com.google.gerrit.extensions.common.ProblemInfo.Status;
-import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.server.ChangeUtil;
import com.google.gerrit.server.CurrentUser;
import com.google.gerrit.server.GerritPersonIdent;
import com.google.gerrit.server.PatchSetUtil;
import com.google.gerrit.server.account.Accounts;
-import com.google.gerrit.server.config.UrlFormatter;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.notedb.PatchSetState;
@@ -118,7 +116,7 @@
private final Provider<CurrentUser> user;
private final Provider<PersonIdent> serverIdent;
private final RetryHelper retryHelper;
- private final DynamicItem<UrlFormatter> urlFormatter;
+ private final ChangeUtil changeUtil;
private BatchUpdate.Factory updateFactory;
private FixInput fix;
@@ -146,7 +144,7 @@
PatchSetUtil psUtil,
Provider<CurrentUser> user,
RetryHelper retryHelper,
- DynamicItem<UrlFormatter> urlFormatter) {
+ ChangeUtil changeUtil) {
this.accounts = accounts;
this.accountPatchReviewStore = accountPatchReviewStore;
this.notesFactory = notesFactory;
@@ -157,7 +155,7 @@
this.retryHelper = retryHelper;
this.serverIdent = serverIdent;
this.user = user;
- this.urlFormatter = urlFormatter;
+ this.changeUtil = changeUtil;
reset();
}
@@ -463,9 +461,7 @@
case 0:
// No patch set for this commit; insert one.
rw.parseBody(commit);
- String changeId =
- Iterables.getFirst(
- ChangeUtil.getChangeIdsFromFooter(commit, urlFormatter.get()), null);
+ String changeId = Iterables.getFirst(changeUtil.getChangeIdsFromFooter(commit), null);
// Missing Change-Id footer is ok, but mismatched is not.
if (changeId != null && !changeId.equals(change().getKey().get())) {
problem(
diff --git a/java/com/google/gerrit/server/edit/ChangeEditModifier.java b/java/com/google/gerrit/server/edit/ChangeEditModifier.java
index e813c09..4c15a7e 100644
--- a/java/com/google/gerrit/server/edit/ChangeEditModifier.java
+++ b/java/com/google/gerrit/server/edit/ChangeEditModifier.java
@@ -24,7 +24,6 @@
import com.google.gerrit.entities.PatchSet;
import com.google.gerrit.entities.Project;
import com.google.gerrit.entities.RefNames;
-import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.extensions.restapi.AuthException;
import com.google.gerrit.extensions.restapi.BadRequestException;
import com.google.gerrit.extensions.restapi.MergeConflictException;
@@ -37,7 +36,6 @@
import com.google.gerrit.server.IdentifiedUser;
import com.google.gerrit.server.PatchSetUtil;
import com.google.gerrit.server.account.AccountState;
-import com.google.gerrit.server.config.UrlFormatter;
import com.google.gerrit.server.edit.tree.ChangeFileContentModification;
import com.google.gerrit.server.edit.tree.DeleteFileModification;
import com.google.gerrit.server.edit.tree.RenameFileModification;
@@ -105,7 +103,7 @@
private final PatchSetUtil patchSetUtil;
private final ProjectCache projectCache;
private final NoteDbEdits noteDbEdits;
- private final DynamicItem<UrlFormatter> urlFormatter;
+ private final ChangeUtil changeUtil;
@Inject
ChangeEditModifier(
@@ -117,7 +115,7 @@
PatchSetUtil patchSetUtil,
ProjectCache projectCache,
GitReferenceUpdated gitReferenceUpdated,
- DynamicItem<UrlFormatter> urlFormatter) {
+ ChangeUtil changeUtil) {
this.currentUser = currentUser;
this.permissionBackend = permissionBackend;
this.zoneId = gerritIdent.getZoneId();
@@ -125,7 +123,7 @@
this.patchSetUtil = patchSetUtil;
this.projectCache = projectCache;
noteDbEdits = new NoteDbEdits(gitReferenceUpdated, zoneId, indexer, currentUser);
- this.urlFormatter = urlFormatter;
+ this.changeUtil = changeUtil;
}
/**
@@ -520,8 +518,7 @@
"New commit message cannot be same as existing commit message");
}
- ChangeUtil.ensureChangeIdIsCorrect(
- requireChangeId, currentChangeId, newCommitMessage, urlFormatter.get());
+ changeUtil.ensureChangeIdIsCorrect(requireChangeId, currentChangeId, newCommitMessage);
return newCommitMessage;
}
diff --git a/java/com/google/gerrit/server/git/MergeUtil.java b/java/com/google/gerrit/server/git/MergeUtil.java
index 6922efb..a522a2f 100644
--- a/java/com/google/gerrit/server/git/MergeUtil.java
+++ b/java/com/google/gerrit/server/git/MergeUtil.java
@@ -143,6 +143,7 @@
private final boolean useContentMerge;
private final boolean useRecursiveMerge;
private final PluggableCommitMessageGenerator commitMessageGenerator;
+ private final ChangeUtil changeUtil;
MergeUtil(
@Provided @GerritServerConfig Config serverConfig,
@@ -150,6 +151,7 @@
@Provided DynamicItem<UrlFormatter> urlFormatter,
@Provided ApprovalsUtil approvalsUtil,
@Provided PluggableCommitMessageGenerator commitMessageGenerator,
+ @Provided ChangeUtil changeUtil,
ProjectState project) {
this(
serverConfig,
@@ -157,6 +159,7 @@
urlFormatter,
approvalsUtil,
commitMessageGenerator,
+ changeUtil,
project,
project.is(BooleanProjectConfig.USE_CONTENT_MERGE));
}
@@ -167,12 +170,14 @@
@Provided DynamicItem<UrlFormatter> urlFormatter,
@Provided ApprovalsUtil approvalsUtil,
@Provided PluggableCommitMessageGenerator commitMessageGenerator,
+ @Provided ChangeUtil changeUtil,
ProjectState project,
boolean useContentMerge) {
this.identifiedUserFactory = identifiedUserFactory;
this.urlFormatter = urlFormatter;
this.approvalsUtil = approvalsUtil;
this.commitMessageGenerator = commitMessageGenerator;
+ this.changeUtil = changeUtil;
this.project = project;
this.useContentMerge = useContentMerge;
this.useRecursiveMerge = useRecursiveMerge(serverConfig);
@@ -529,7 +534,7 @@
msgbuf.append('\n');
}
- if (ChangeUtil.getChangeIdsFromFooter(n, urlFormatter.get()).isEmpty()) {
+ if (changeUtil.getChangeIdsFromFooter(n).isEmpty()) {
msgbuf.append(FooterConstants.CHANGE_ID.getName());
msgbuf.append(": ");
msgbuf.append(c.getKey().get());
diff --git a/java/com/google/gerrit/server/git/receive/ReceiveCommits.java b/java/com/google/gerrit/server/git/receive/ReceiveCommits.java
index 4d47686..2c76226 100644
--- a/java/com/google/gerrit/server/git/receive/ReceiveCommits.java
+++ b/java/com/google/gerrit/server/git/receive/ReceiveCommits.java
@@ -133,7 +133,6 @@
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.config.PluginConfig;
import com.google.gerrit.server.config.ProjectConfigEntry;
-import com.google.gerrit.server.config.UrlFormatter;
import com.google.gerrit.server.edit.ChangeEdit;
import com.google.gerrit.server.edit.ChangeEditUtil;
import com.google.gerrit.server.git.BanCommit;
@@ -372,6 +371,7 @@
private final ChangeInserter.Factory changeInserterFactory;
private final ChangeNotes.Factory notesFactory;
private final ChangeReportFormatter changeFormatter;
+ private final ChangeUtil changeUtil;
private final CmdLineParser.Factory optionParserFactory;
private final CommentsUtil commentsUtil;
private final PluginSetContext<CommentValidator> commentValidators;
@@ -408,7 +408,6 @@
private final ProjectConfig.Factory projectConfigFactory;
private final SetPrivateOp.Factory setPrivateOpFactory;
private final ReplyAttentionSetUpdates replyAttentionSetUpdates;
- private final DynamicItem<UrlFormatter> urlFormatter;
private final AutoMerger autoMerger;
// Assisted injected fields.
@@ -461,6 +460,7 @@
ChangeInserter.Factory changeInserterFactory,
ChangeNotes.Factory notesFactory,
DynamicItem<ChangeReportFormatter> changeFormatterProvider,
+ ChangeUtil changeUtil,
CmdLineParser.Factory optionParserFactory,
CommentsUtil commentsUtil,
BranchCommitValidator.Factory commitValidatorFactory,
@@ -496,7 +496,6 @@
TagCache tagCache,
SetPrivateOp.Factory setPrivateOpFactory,
ReplyAttentionSetUpdates replyAttentionSetUpdates,
- DynamicItem<UrlFormatter> urlFormatter,
AutoMerger autoMerger,
@Assisted ProjectState projectState,
@Assisted IdentifiedUser user,
@@ -511,6 +510,7 @@
this.batchUpdateFactory = batchUpdateFactory;
this.cancellationMetrics = cancellationMetrics;
this.changeFormatter = changeFormatterProvider.get();
+ this.changeUtil = changeUtil;
this.changeInserterFactory = changeInserterFactory;
this.commentsUtil = commentsUtil;
this.commentValidators = commentValidators;
@@ -551,7 +551,6 @@
this.projectConfigFactory = projectConfigFactory;
this.setPrivateOpFactory = setPrivateOpFactory;
this.replyAttentionSetUpdates = replyAttentionSetUpdates;
- this.urlFormatter = urlFormatter;
this.autoMerger = autoMerger;
// Assisted injected fields.
@@ -2294,7 +2293,7 @@
} catch (IOException e) {
throw new StorageException("Can't parse commit", e);
}
- List<String> idList = ChangeUtil.getChangeIdsFromFooter(create.commit, urlFormatter.get());
+ List<String> idList = changeUtil.getChangeIdsFromFooter(create.commit);
if (idList.isEmpty()) {
messages.add(
@@ -2369,7 +2368,7 @@
}
}
- List<String> idList = ChangeUtil.getChangeIdsFromFooter(c, urlFormatter.get());
+ List<String> idList = changeUtil.getChangeIdsFromFooter(c);
if (!idList.isEmpty()) {
pending.put(c, lookupByChangeKey(c, Change.key(idList.get(idList.size() - 1).trim())));
} else {
@@ -3492,8 +3491,7 @@
}
}
- for (String changeId :
- ChangeUtil.getChangeIdsFromFooter(c, urlFormatter.get())) {
+ for (String changeId : changeUtil.getChangeIdsFromFooter(c)) {
if (changeDataByKey == null) {
changeDataByKey =
retryHelper
diff --git a/java/com/google/gerrit/server/git/receive/ReplaceOp.java b/java/com/google/gerrit/server/git/receive/ReplaceOp.java
index 0e17342..d17fb68 100644
--- a/java/com/google/gerrit/server/git/receive/ReplaceOp.java
+++ b/java/com/google/gerrit/server/git/receive/ReplaceOp.java
@@ -40,7 +40,6 @@
import com.google.gerrit.extensions.api.changes.ReviewerInput;
import com.google.gerrit.extensions.client.ChangeKind;
import com.google.gerrit.extensions.client.ReviewerState;
-import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.extensions.restapi.BadRequestException;
import com.google.gerrit.extensions.restapi.RestApiException;
import com.google.gerrit.extensions.restapi.UnprocessableEntityException;
@@ -61,7 +60,6 @@
import com.google.gerrit.server.change.ReviewerModifier.ReviewerModificationList;
import com.google.gerrit.server.change.ReviewerOp;
import com.google.gerrit.server.config.AnonymousCowardName;
-import com.google.gerrit.server.config.UrlFormatter;
import com.google.gerrit.server.extensions.events.CommentAdded;
import com.google.gerrit.server.extensions.events.RevisionCreated;
import com.google.gerrit.server.git.MergedByPushOp;
@@ -134,7 +132,7 @@
private final PatchSetUtil psUtil;
private final ProjectCache projectCache;
private final ReviewerModifier reviewerModifier;
- private final DynamicItem<UrlFormatter> urlFormatter;
+ private final ChangeUtil changeUtil;
private final ProjectState projectState;
private final Change change;
@@ -179,7 +177,7 @@
ProjectCache projectCache,
EmailNewPatchSet.Factory emailNewPatchSetFactory,
ReviewerModifier reviewerModifier,
- DynamicItem<UrlFormatter> urlFormatter,
+ ChangeUtil changeUtil,
@Assisted ProjectState projectState,
@Assisted Change change,
@Assisted boolean checkMergedInto,
@@ -207,7 +205,7 @@
this.projectCache = projectCache;
this.emailNewPatchSetFactory = emailNewPatchSetFactory;
this.reviewerModifier = reviewerModifier;
- this.urlFormatter = urlFormatter;
+ this.changeUtil = changeUtil;
this.projectState = projectState;
this.change = change;
@@ -496,7 +494,7 @@
change.setStatus(Change.Status.NEW);
change.setCurrentPatchSet(info);
- List<String> idList = ChangeUtil.getChangeIdsFromFooter(commit, urlFormatter.get());
+ List<String> idList = changeUtil.getChangeIdsFromFooter(commit);
change.setKey(Change.key(idList.get(idList.size() - 1).trim()));
}
diff --git a/java/com/google/gerrit/server/git/validators/CommitValidators.java b/java/com/google/gerrit/server/git/validators/CommitValidators.java
index 999f810..eb1dcd4 100644
--- a/java/com/google/gerrit/server/git/validators/CommitValidators.java
+++ b/java/com/google/gerrit/server/git/validators/CommitValidators.java
@@ -109,6 +109,7 @@
private final ProjectConfig.Factory projectConfigFactory;
private final DiffOperations diffOperations;
private final Config config;
+ private final ChangeUtil changeUtil;
@Inject
Factory(
@@ -123,7 +124,8 @@
AccountValidator accountValidator,
ProjectCache projectCache,
ProjectConfig.Factory projectConfigFactory,
- DiffOperations diffOperations) {
+ DiffOperations diffOperations,
+ ChangeUtil changeUtil) {
this.gerritIdent = gerritIdent;
this.urlFormatter = urlFormatter;
this.config = config;
@@ -136,6 +138,7 @@
this.projectCache = projectCache;
this.projectConfigFactory = projectConfigFactory;
this.diffOperations = diffOperations;
+ this.changeUtil = changeUtil;
}
public CommitValidators forReceiveCommits(
@@ -161,7 +164,7 @@
.add(new SignedOffByValidator(user, perm, projectState))
.add(
new ChangeIdValidator(
- projectState, user, urlFormatter.get(), config, sshInfo, change))
+ changeUtil, projectState, user, urlFormatter.get(), config, sshInfo, change))
.add(new ConfigValidator(projectConfigFactory, branch, user, rw, allUsers, allProjects))
.add(new BannedCommitsValidator(rejectCommits))
.add(new PluginCommitValidationListener(pluginValidators, skipValidation))
@@ -192,7 +195,7 @@
.add(new SignedOffByValidator(user, perm, projectState))
.add(
new ChangeIdValidator(
- projectState, user, urlFormatter.get(), config, sshInfo, change))
+ changeUtil, projectState, user, urlFormatter.get(), config, sshInfo, change))
.add(new ConfigValidator(projectConfigFactory, branch, user, rw, allUsers, allProjects))
.add(new PluginCommitValidationListener(pluginValidators))
.add(new ExternalIdUpdateListener(allUsers, externalIdsConsistencyChecker))
@@ -280,6 +283,7 @@
private static final Pattern CHANGE_ID = Pattern.compile(CHANGE_ID_PATTERN);
+ private final ChangeUtil changeUtil;
private final ProjectState projectState;
private final UrlFormatter urlFormatter;
private final String installCommitMsgHookCommand;
@@ -288,12 +292,14 @@
private final Change change;
public ChangeIdValidator(
+ ChangeUtil changeUtil,
ProjectState projectState,
IdentifiedUser user,
UrlFormatter urlFormatter,
Config config,
SshInfo sshInfo,
Change change) {
+ this.changeUtil = changeUtil;
this.projectState = projectState;
this.user = user;
this.urlFormatter = urlFormatter;
@@ -310,7 +316,7 @@
}
RevCommit commit = receiveEvent.commit;
List<CommitValidationMessage> messages = new ArrayList<>();
- List<String> idList = ChangeUtil.getChangeIdsFromFooter(commit, urlFormatter);
+ List<String> idList = changeUtil.getChangeIdsFromFooter(commit);
if (idList.isEmpty()) {
String shortMsg = commit.getShortMessage();
diff --git a/java/com/google/gerrit/server/project/ProjectsConsistencyChecker.java b/java/com/google/gerrit/server/project/ProjectsConsistencyChecker.java
index 9463b39..4946bea 100644
--- a/java/com/google/gerrit/server/project/ProjectsConsistencyChecker.java
+++ b/java/com/google/gerrit/server/project/ProjectsConsistencyChecker.java
@@ -35,7 +35,6 @@
import com.google.gerrit.extensions.api.projects.CheckProjectResultInfo.AutoCloseableChangesCheckResult;
import com.google.gerrit.extensions.client.ListChangesOption;
import com.google.gerrit.extensions.common.ChangeInfo;
-import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.extensions.restapi.BadRequestException;
import com.google.gerrit.extensions.restapi.ResourceConflictException;
import com.google.gerrit.extensions.restapi.RestApiException;
@@ -44,7 +43,6 @@
import com.google.gerrit.index.query.Predicate;
import com.google.gerrit.server.ChangeUtil;
import com.google.gerrit.server.change.ChangeJson;
-import com.google.gerrit.server.config.UrlFormatter;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.index.change.ChangeField;
import com.google.gerrit.server.query.change.ChangeData;
@@ -74,7 +72,7 @@
private final RetryHelper retryHelper;
private final ChangeJson.Factory changeJsonFactory;
private final IndexConfig indexConfig;
- private final DynamicItem<UrlFormatter> urlFormatter;
+ private final ChangeUtil changeUtil;
@Inject
ProjectsConsistencyChecker(
@@ -82,12 +80,12 @@
RetryHelper retryHelper,
ChangeJson.Factory changeJsonFactory,
IndexConfig indexConfig,
- DynamicItem<UrlFormatter> urlFormatter) {
+ ChangeUtil changeUtil) {
this.repoManager = repoManager;
this.retryHelper = retryHelper;
this.changeJsonFactory = changeJsonFactory;
this.indexConfig = indexConfig;
- this.urlFormatter = urlFormatter;
+ this.changeUtil = changeUtil;
}
public CheckProjectResultInfo check(Project.NameKey projectName, CheckProjectInput input)
@@ -174,7 +172,7 @@
mergedSha1s.add(commitId);
// Consider all Change-Id lines since this is what ReceiveCommits#autoCloseChanges does.
- List<String> changeIds = ChangeUtil.getChangeIdsFromFooter(commit, urlFormatter.get());
+ List<String> changeIds = changeUtil.getChangeIdsFromFooter(commit);
// Number of predicates that we need to add for this commit, 1 per Change-Id plus one for
// the commit.
diff --git a/java/com/google/gerrit/server/restapi/change/PutMessage.java b/java/com/google/gerrit/server/restapi/change/PutMessage.java
index 41710a6..4eca1f3 100644
--- a/java/com/google/gerrit/server/restapi/change/PutMessage.java
+++ b/java/com/google/gerrit/server/restapi/change/PutMessage.java
@@ -21,7 +21,6 @@
import com.google.gerrit.entities.PatchSet;
import com.google.gerrit.extensions.api.changes.NotifyHandling;
import com.google.gerrit.extensions.common.CommitMessageInput;
-import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.extensions.restapi.AuthException;
import com.google.gerrit.extensions.restapi.BadRequestException;
import com.google.gerrit.extensions.restapi.ResourceConflictException;
@@ -35,7 +34,6 @@
import com.google.gerrit.server.change.ChangeResource;
import com.google.gerrit.server.change.NotifyResolver;
import com.google.gerrit.server.change.PatchSetInserter;
-import com.google.gerrit.server.config.UrlFormatter;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.gerrit.server.notedb.ChangeNotes;
import com.google.gerrit.server.permissions.ChangePermission;
@@ -74,7 +72,7 @@
private final PatchSetUtil psUtil;
private final NotifyResolver notifyResolver;
private final ProjectCache projectCache;
- private final DynamicItem<UrlFormatter> urlFormatter;
+ private final ChangeUtil changeUtil;
@Inject
PutMessage(
@@ -87,7 +85,7 @@
PatchSetUtil psUtil,
NotifyResolver notifyResolver,
ProjectCache projectCache,
- DynamicItem<UrlFormatter> urlFormatter) {
+ ChangeUtil changeUtil) {
this.updateFactory = updateFactory;
this.repositoryManager = repositoryManager;
this.userProvider = userProvider;
@@ -97,7 +95,7 @@
this.psUtil = psUtil;
this.notifyResolver = notifyResolver;
this.projectCache = projectCache;
- this.urlFormatter = urlFormatter;
+ this.changeUtil = changeUtil;
}
@Override
@@ -115,14 +113,13 @@
String sanitizedCommitMessage = CommitMessageUtil.checkAndSanitizeCommitMessage(input.message);
ensureCanEditCommitMessage(resource.getNotes());
- ChangeUtil.ensureChangeIdIsCorrect(
+ changeUtil.ensureChangeIdIsCorrect(
projectCache
.get(resource.getProject())
.orElseThrow(illegalState(resource.getProject()))
.is(BooleanProjectConfig.REQUIRE_CHANGE_ID),
resource.getChange().getKey().get(),
- sanitizedCommitMessage,
- urlFormatter.get());
+ sanitizedCommitMessage);
try (Repository repository = repositoryManager.openRepository(resource.getProject());
RevWalk revWalk = new RevWalk(repository);