Use lambdas

Change-Id: Iee65931499709a59688a3fc71df3cf93f6cbd737
diff --git a/blame-cache/src/main/java/com/google/gitiles/blame/BlameCacheImpl.java b/blame-cache/src/main/java/com/google/gitiles/blame/BlameCacheImpl.java
index c088d81..f960518 100644
--- a/blame-cache/src/main/java/com/google/gitiles/blame/BlameCacheImpl.java
+++ b/blame-cache/src/main/java/com/google/gitiles/blame/BlameCacheImpl.java
@@ -19,7 +19,6 @@
 
 import com.google.common.cache.Cache;
 import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.Weigher;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Interner;
 import com.google.common.collect.Interners;
@@ -50,13 +49,7 @@
 
   public static CacheBuilder<Key, List<Region>> weigher(
       CacheBuilder<? super Key, ? super List<Region>> builder) {
-    return builder.weigher(
-        new Weigher<Key, List<Region>>() {
-          @Override
-          public int weigh(Key key, List<Region> value) {
-            return value.size();
-          }
-        });
+    return builder.weigher((k, v) -> v.size());
   }
 
   public static class Key {
@@ -106,13 +99,8 @@
     return cache;
   }
 
-  public Callable<List<Region>> newLoader(final Key key, final Repository repo) {
-    return new Callable<List<Region>>() {
-      @Override
-      public List<Region> call() throws IOException {
-        return loadBlame(key, repo);
-      }
-    };
+  public Callable<List<Region>> newLoader(Key key, Repository repo) {
+    return () -> loadBlame(key, repo);
   }
 
   public BlameCacheImpl(CacheBuilder<? super Key, ? super List<Region>> builder) {
diff --git a/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java b/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java
index 1c4410a..f8ca436 100644
--- a/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java
+++ b/gitiles-dev/src/main/java/com/google/gitiles/dev/DevServer.java
@@ -50,7 +50,6 @@
 import org.eclipse.jgit.errors.RepositoryNotFoundException;
 import org.eclipse.jgit.lib.Config;
 import org.eclipse.jgit.lib.Constants;
-import org.eclipse.jgit.lib.Repository;
 import org.eclipse.jgit.lib.RepositoryCache;
 import org.eclipse.jgit.lib.RepositoryCache.FileKey;
 import org.eclipse.jgit.storage.file.FileBasedConfig;
@@ -166,18 +165,14 @@
 
   private Servlet createRootedDocServlet(DebugRenderer renderer, String docRoot) {
     File docRepo = new File(docRoot);
-    final FileKey repoKey = FileKey.exact(docRepo, FS.DETECTED);
+    FileKey repoKey = FileKey.exact(docRepo, FS.DETECTED);
 
     RepositoryResolver<HttpServletRequest> resolver =
-        new RepositoryResolver<HttpServletRequest>() {
-          @Override
-          public Repository open(HttpServletRequest req, String name)
-              throws RepositoryNotFoundException {
-            try {
-              return RepositoryCache.open(repoKey, true);
-            } catch (IOException e) {
-              throw new RepositoryNotFoundException(repoKey.getFile(), e);
-            }
+        (req, name) -> {
+          try {
+            return RepositoryCache.open(repoKey, true);
+          } catch (IOException e) {
+            throw new RepositoryNotFoundException(repoKey.getFile(), e);
           }
         };
 
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/TimeCache.java b/gitiles-servlet/src/main/java/com/google/gitiles/TimeCache.java
index 1a931e3..4159517 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/TimeCache.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/TimeCache.java
@@ -18,7 +18,6 @@
 import com.google.common.cache.Cache;
 import com.google.common.cache.CacheBuilder;
 import java.io.IOException;
-import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import org.eclipse.jgit.lib.Constants;
 import org.eclipse.jgit.lib.ObjectId;
@@ -58,24 +57,21 @@
     try {
       return cache.get(
           id,
-          new Callable<Long>() {
-            @Override
-            public Long call() throws IOException {
-              RevObject o = walk.parseAny(id);
-              while (o instanceof RevTag) {
-                RevTag tag = (RevTag) o;
-                PersonIdent ident = tag.getTaggerIdent();
-                if (ident != null) {
-                  return ident.getWhen().getTime() / 1000;
-                }
-                o = tag.getObject();
-                walk.parseHeaders(o);
+          () -> {
+            RevObject o = walk.parseAny(id);
+            while (o instanceof RevTag) {
+              RevTag tag = (RevTag) o;
+              PersonIdent ident = tag.getTaggerIdent();
+              if (ident != null) {
+                return ident.getWhen().getTime() / 1000;
               }
-              if (o.getType() == Constants.OBJ_COMMIT) {
-                return Long.valueOf(((RevCommit) o).getCommitTime());
-              }
-              return Long.MIN_VALUE;
+              o = tag.getObject();
+              walk.parseHeaders(o);
             }
+            if (o.getType() == Constants.OBJ_COMMIT) {
+              return Long.valueOf(((RevCommit) o).getCommitTime());
+            }
+            return Long.MIN_VALUE;
           });
     } catch (ExecutionException e) {
       Throwables.propagateIfInstanceOf(e.getCause(), IOException.class);
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java b/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java
index 3bb3ac0..325b8cf 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/VisibilityCache.java
@@ -30,7 +30,6 @@
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.Objects;
-import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Stream;
@@ -113,12 +112,7 @@
     try {
       return cache.get(
           new Key(access.getUserKey(), access.getRepositoryName(), id),
-          new Callable<Boolean>() {
-            @Override
-            public Boolean call() throws IOException {
-              return isVisible(repo, walk, id, Arrays.asList(knownReachable));
-            }
-          });
+          () -> isVisible(repo, walk, id, Arrays.asList(knownReachable)));
     } catch (ExecutionException e) {
       Throwables.propagateIfInstanceOf(e.getCause(), IOException.class);
       throw new IOException(e);