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(""); }