Add FileHistoryWebLink implementation to HelloWebLink

Change-Id: I5e913d7bd66a8f8425528622d6d474ad44df3d4c
diff --git a/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloWeblink.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloWeblink.java
index 248dad3..48829c5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloWeblink.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloWeblink.java
@@ -16,10 +16,12 @@
 
 import com.google.gerrit.extensions.common.WebLinkInfo;
 import com.google.gerrit.extensions.webui.BranchWebLink;
+import com.google.gerrit.extensions.webui.FileHistoryWebLink;
 import com.google.gerrit.extensions.webui.PatchSetWebLink;
 import com.google.gerrit.extensions.webui.ProjectWebLink;
 
-public class HelloWeblink implements PatchSetWebLink, ProjectWebLink, BranchWebLink {
+public class HelloWeblink implements PatchSetWebLink, ProjectWebLink,
+    BranchWebLink, FileHistoryWebLink {
   private String name = "HelloLink";
   private String placeHolderUrlProject =
       "http://my.hellolink.com/project=%s";
@@ -27,6 +29,8 @@
       "http://my.hellolink.com/project=%s-branch=%s";
   private String placeHolderUrlProjectCommit =
       placeHolderUrlProject + "/commit=%s";
+  private String placeHolderUrlProjectRevisionFileName =
+      placeHolderUrlProject + "-revision=%s-file=%s";
   private String myImageUrl = "http://placehold.it/16x16.gif";
 
   @Override
@@ -52,4 +56,14 @@
         String.format(placeHolderUrlProjectCommit, projectName, commit),
         Target.BLANK);
   }
+
+  @Override
+  public WebLinkInfo getFileHistoryWebLink(String projectName, String revision,
+      String fileName) {
+    return new WebLinkInfo(name,
+        myImageUrl,
+        String.format(placeHolderUrlProjectRevisionFileName, projectName,
+            revision, fileName),
+        Target.BLANK);
+  }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/cookbook/Module.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/Module.java
index e2689b9..7edaa03 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/cookbook/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/Module.java
@@ -25,6 +25,7 @@
 import com.google.gerrit.extensions.registration.DynamicSet;
 import com.google.gerrit.extensions.restapi.RestApiModule;
 import com.google.gerrit.extensions.webui.BranchWebLink;
+import com.google.gerrit.extensions.webui.FileHistoryWebLink;
 import com.google.gerrit.extensions.webui.PatchSetWebLink;
 import com.google.gerrit.extensions.webui.ProjectWebLink;
 import com.google.gerrit.extensions.webui.TopMenu;
@@ -47,6 +48,7 @@
     DynamicSet.bind(binder(), PatchSetWebLink.class).to(HelloWeblink.class);
     DynamicSet.bind(binder(), ProjectWebLink.class).to(HelloWeblink.class);
     DynamicSet.bind(binder(), BranchWebLink.class).to(HelloWeblink.class);
+    DynamicSet.bind(binder(), FileHistoryWebLink.class).to(HelloWeblink.class);
     DynamicSet.bind(binder(), ServerPluginProvider.class).to(
         HelloSshPluginProvider.class);
     DynamicSet.bind(binder(), UsageDataPublishedListener.class).to(UsageDataLogger.class);