Renderer: Use lambda instead of named Function subclass Change-Id: I74336bdc9cdec3bc3716901fecafc9676f5e8907
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/DebugRenderer.java b/gitiles-servlet/src/main/java/com/google/gitiles/DebugRenderer.java index 5a54cea..5ec22f2 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/DebugRenderer.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/DebugRenderer.java
@@ -33,10 +33,10 @@ final String soyTemplatesRoot, String siteTitle) { super( - new FileUrlMapper(soyTemplatesRoot + File.separator), + fileUrlMapper(soyTemplatesRoot + File.separator), ImmutableMap.<String, String>of(), staticPrefix, - FluentIterable.from(customTemplatesFilenames).transform(new FileUrlMapper()), + FluentIterable.from(customTemplatesFilenames).transform(fileUrlMapper()), siteTitle); }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/GitilesFilter.java b/gitiles-servlet/src/main/java/com/google/gitiles/GitilesFilter.java index 3820521..3e8867d 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/GitilesFilter.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/GitilesFilter.java
@@ -18,6 +18,7 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Preconditions.checkState; import static com.google.gitiles.GitilesServlet.STATIC_PREFIX; +import static com.google.gitiles.Renderer.fileUrlMapper; import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.FluentIterable; @@ -25,7 +26,6 @@ import com.google.common.collect.LinkedListMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Maps; -import com.google.gitiles.Renderer.FileUrlMapper; import com.google.gitiles.blame.BlameCache; import com.google.gitiles.blame.BlameCacheImpl; import com.google.gitiles.blame.BlameServlet; @@ -319,7 +319,7 @@ filterConfig.getServletContext().getContextPath() + STATIC_PREFIX, FluentIterable.from( Arrays.asList(config.getStringList("gitiles", null, "customTemplates"))) - .transform(new FileUrlMapper()), + .transform(fileUrlMapper()), firstNonNull(config.getString("gitiles", null, "siteTitle"), "Gitiles")); } }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/Renderer.java b/gitiles-servlet/src/main/java/com/google/gitiles/Renderer.java index 7030694..73718fb 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/Renderer.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/Renderer.java
@@ -73,19 +73,13 @@ "gitiles.DOC_CSS_URL", "doc.css", "gitiles.PRETTIFY_CSS_URL", "prettify/prettify.css"); - protected static class FileUrlMapper implements Function<String, URL> { - private final String prefix; + protected static Function<String, URL> fileUrlMapper() { + return fileUrlMapper(""); + } - protected FileUrlMapper() { - this(""); - } - - protected FileUrlMapper(String prefix) { - this.prefix = checkNotNull(prefix, "prefix"); - } - - @Override - public URL apply(String filename) { + protected static Function<String, URL> fileUrlMapper(String prefix) { + checkNotNull(prefix); + return filename -> { if (filename == null) { return null; } @@ -94,7 +88,7 @@ } catch (MalformedURLException e) { throw new IllegalArgumentException(e); } - } + }; } protected ImmutableMap<String, URL> templates;