Use UrlFormatter to create review URL.
Change-Id: I29b17aa0578562080ca9e12f5e6ed8a6c3012bfc
diff --git a/src/main/java/com/googlesource/gerrit/plugins/hooks/HookArgs.java b/src/main/java/com/googlesource/gerrit/plugins/hooks/HookArgs.java
index 91d3696..aefd723 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/hooks/HookArgs.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/hooks/HookArgs.java
@@ -18,17 +18,17 @@
import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
-import com.google.gerrit.common.Nullable;
import com.google.gerrit.extensions.common.AccountInfo;
import com.google.gerrit.extensions.common.ApprovalInfo;
import com.google.gerrit.extensions.common.ChangeInfo;
import com.google.gerrit.reviewdb.client.Account;
+import com.google.gerrit.reviewdb.client.Change;
+import com.google.gerrit.reviewdb.client.Project;
import com.google.gerrit.server.IdentifiedUser;
-import com.google.gerrit.server.config.CanonicalWebUrl;
import com.google.gerrit.server.config.SitePaths;
+import com.google.gerrit.server.config.UrlFormatter;
import com.google.gerrit.server.git.GitRepositoryManager;
import com.google.inject.Inject;
-import com.google.inject.Provider;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -39,22 +39,22 @@
}
final IdentifiedUser.GenericFactory identifiedUserFactory;
- final Provider<String> urlProvider;
final HookMetrics metrics;
final GitRepositoryManager gitManager;
final SitePaths sitePaths;
+ final UrlFormatter urlFormatter;
private final List<String> args;
@Inject
HookArgs(
IdentifiedUser.GenericFactory identifiedUserFactory,
- @CanonicalWebUrl @Nullable Provider<String> urlProvider,
+ UrlFormatter urlFormatter,
HookMetrics metrics,
GitRepositoryManager gitManager,
SitePaths sitePaths) {
this.identifiedUserFactory = identifiedUserFactory;
- this.urlProvider = urlProvider;
+ this.urlFormatter = urlFormatter;
this.metrics = metrics;
this.gitManager = gitManager;
this.sitePaths = sitePaths;
@@ -97,9 +97,11 @@
public void addUrl(ChangeInfo change) {
args.add("--change-url");
- String url = urlProvider.get();
- if (change != null && url != null) {
- args.add(url + change._number);
+ if (change != null) {
+ args.add(
+ urlFormatter
+ .getChangeViewUrl(new Project.NameKey(change.project), new Change.Id(change._number))
+ .orElse(""));
} else {
args.add("");
}