Move archiveFormat into BaseServlet Change-Id: I9dbbfd9fcf6e6342f71324d89b959d1fc7e6429f
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/ArchiveServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/ArchiveServlet.java index b0ab8fb..defaadb 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/ArchiveServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/ArchiveServlet.java
@@ -42,7 +42,7 @@ private final Map<String, ArchiveFormat> byExt; public ArchiveServlet(Config cfg) { - super(null); + super(cfg, null); byExt = ArchiveFormat.byExtension(cfg); }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java index 986689c..2969987 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java
@@ -14,15 +14,25 @@ package com.google.gitiles; +import static com.google.common.base.Preconditions.checkNotNull; import static com.google.gitiles.FormatType.DEFAULT; import static com.google.gitiles.FormatType.HTML; import static com.google.gitiles.FormatType.JSON; import static com.google.gitiles.FormatType.TEXT; - import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST; import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND; import static javax.servlet.http.HttpServletResponse.SC_OK; +import com.google.common.base.Charsets; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Maps; +import com.google.common.net.HttpHeaders; +import com.google.gson.FieldNamingPolicy; +import com.google.gson.GsonBuilder; + +import org.eclipse.jgit.lib.Config; +import org.joda.time.Instant; + import java.io.IOException; import java.io.PrintWriter; import java.lang.reflect.Type; @@ -33,15 +43,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.joda.time.Instant; - -import com.google.common.base.Charsets; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Maps; -import com.google.common.net.HttpHeaders; -import com.google.gson.FieldNamingPolicy; -import com.google.gson.GsonBuilder; - /** Base servlet class for Gitiles servlets that serve Soy templates. */ public abstract class BaseServlet extends HttpServlet { private static final long serialVersionUID = 1L; @@ -55,7 +56,7 @@ } public static BaseServlet notFoundServlet() { - return new BaseServlet(null) { + return new BaseServlet(new Config(), null) { private static final long serialVersionUID = 1L; @Override public void service(HttpServletRequest req, HttpServletResponse res) { @@ -165,9 +166,11 @@ } protected final Renderer renderer; + protected final ArchiveFormat archiveFormat; - protected BaseServlet(Renderer renderer) { + protected BaseServlet(Config cfg, Renderer renderer) { this.renderer = renderer; + this.archiveFormat = ArchiveFormat.getDefault(checkNotNull(cfg, "cfg")); } /**
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/DescribeServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/DescribeServlet.java index 7b49f63..96e3cf9 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/DescribeServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/DescribeServlet.java
@@ -17,13 +17,9 @@ import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST; import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import com.google.common.base.Joiner; +import com.google.common.collect.ImmutableMap; +import com.google.gson.reflect.TypeToken; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.NameRevCommand; @@ -31,13 +27,18 @@ import org.eclipse.jgit.errors.AmbiguousObjectException; import org.eclipse.jgit.errors.RevisionSyntaxException; import org.eclipse.jgit.http.server.ServletUtils; +import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Repository; -import com.google.common.base.Joiner; -import com.google.common.collect.ImmutableMap; -import com.google.gson.reflect.TypeToken; +import java.io.IOException; +import java.io.PrintWriter; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** Serves an API result describing an object. */ public class DescribeServlet extends BaseServlet { @@ -53,8 +54,8 @@ && (values.get(0).equals("") || values.get(0).equals("1")); } - protected DescribeServlet() { - super(null); + protected DescribeServlet(Config cfg) { + super(cfg, null); } @Override
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/DiffServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/DiffServlet.java index 565086c..e5fad23 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/DiffServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/DiffServlet.java
@@ -48,12 +48,10 @@ private static final String PLACEHOLDER = "id=\"DIFF_OUTPUT_BLOCK\""; private final Linkifier linkifier; - private final ArchiveFormat archiveFormat; public DiffServlet(Config cfg, Renderer renderer, Linkifier linkifier) { - super(renderer); + super(cfg, renderer); this.linkifier = checkNotNull(linkifier, "linkifier"); - this.archiveFormat = ArchiveFormat.getDefault(checkNotNull(cfg, "cfg")); } @Override
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 6f4468d..55826b9 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/GitilesFilter.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/GitilesFilter.java
@@ -227,21 +227,21 @@ checkNotInitialized(); switch (view) { case HOST_INDEX: - return new HostIndexServlet(renderer, urls, accessFactory); + return new HostIndexServlet(config, renderer, urls, accessFactory); case REPOSITORY_INDEX: - return new RepositoryIndexServlet(renderer, accessFactory, timeCache); + return new RepositoryIndexServlet(config, renderer, accessFactory, timeCache); case REFS: - return new RefServlet(renderer, timeCache); + return new RefServlet(config, renderer, timeCache); case REVISION: return new RevisionServlet(config, renderer, linkifier()); case PATH: - return new PathServlet(renderer, urls); + return new PathServlet(config, renderer, urls); case DIFF: return new DiffServlet(config, renderer, linkifier()); case LOG: - return new LogServlet(renderer, linkifier()); + return new LogServlet(config, renderer, linkifier()); case DESCRIBE: - return new DescribeServlet(); + return new DescribeServlet(config); case ARCHIVE: return new ArchiveServlet(config); default:
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/HostIndexServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/HostIndexServlet.java index db563ff..e713c7b 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/HostIndexServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/HostIndexServlet.java
@@ -28,6 +28,7 @@ import com.google.template.soy.data.SoyMapData; import org.eclipse.jgit.errors.RepositoryNotFoundException; +import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.transport.ServiceMayNotContinueException; import org.eclipse.jgit.transport.resolver.ServiceNotAuthorizedException; import org.eclipse.jgit.transport.resolver.ServiceNotEnabledException; @@ -51,9 +52,9 @@ protected final GitilesUrls urls; private final GitilesAccess.Factory accessFactory; - public HostIndexServlet(Renderer renderer, GitilesUrls urls, + public HostIndexServlet(Config cfg, Renderer renderer, GitilesUrls urls, GitilesAccess.Factory accessFactory) { - super(renderer); + super(cfg, renderer); this.urls = checkNotNull(urls, "urls"); this.accessFactory = checkNotNull(accessFactory, "accessFactory"); }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java index fbb2c90..53cb426 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java
@@ -15,7 +15,6 @@ package com.google.gitiles; import static com.google.common.base.Preconditions.checkNotNull; - import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR; import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND; @@ -33,6 +32,7 @@ import org.eclipse.jgit.errors.RevWalkException; import org.eclipse.jgit.http.server.ServletUtils; import org.eclipse.jgit.lib.AbbreviatedObjectId; +import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectReader; @@ -66,8 +66,8 @@ private final Linkifier linkifier; - public LogServlet(Renderer renderer, Linkifier linkifier) { - super(renderer); + public LogServlet(Config cfg, Renderer renderer, Linkifier linkifier) { + super(cfg, renderer); this.linkifier = checkNotNull(linkifier, "linkifier"); }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java index 8f060f6..da212aa 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/PathServlet.java
@@ -16,10 +16,8 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.gitiles.TreeSoyData.resolveTargetUrl; - import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR; import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND; - import static org.eclipse.jgit.lib.Constants.OBJ_BLOB; import static org.eclipse.jgit.lib.Constants.OBJ_COMMIT; import static org.eclipse.jgit.lib.Constants.OBJ_TREE; @@ -37,6 +35,7 @@ import org.eclipse.jgit.errors.MissingObjectException; import org.eclipse.jgit.errors.StopWalkException; import org.eclipse.jgit.http.server.ServletUtils; +import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.FileMode; import org.eclipse.jgit.lib.ObjectId; @@ -108,8 +107,8 @@ private final GitilesUrls urls; - public PathServlet(Renderer renderer, GitilesUrls urls) { - super(renderer); + public PathServlet(Config cfg, Renderer renderer, GitilesUrls urls) { + super(cfg, renderer); this.urls = checkNotNull(urls, "urls"); }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/RefServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/RefServlet.java index 8d259a8..e499266 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/RefServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/RefServlet.java
@@ -26,6 +26,7 @@ import org.eclipse.jgit.http.server.ServletUtils; import org.eclipse.jgit.lib.AnyObjectId; +import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.RefComparator; @@ -49,8 +50,8 @@ private final TimeCache timeCache; - protected RefServlet(Renderer renderer, TimeCache timeCache) { - super(renderer); + protected RefServlet(Config cfg, Renderer renderer, TimeCache timeCache) { + super(cfg, renderer); this.timeCache = checkNotNull(timeCache, "timeCache"); }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java index a07a649..18614a1 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java
@@ -22,6 +22,7 @@ import com.google.common.collect.Maps; import org.eclipse.jgit.http.server.ServletUtils; +import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Repository; @@ -46,9 +47,9 @@ private final GitilesAccess.Factory accessFactory; private final TimeCache timeCache; - public RepositoryIndexServlet(Renderer renderer, GitilesAccess.Factory accessFactory, + public RepositoryIndexServlet(Config cfg, Renderer renderer, GitilesAccess.Factory accessFactory, TimeCache timeCache) { - super(renderer); + super(cfg, renderer); this.accessFactory = checkNotNull(accessFactory, "accessFactory"); this.timeCache = checkNotNull(timeCache, "timeCache"); }
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/RevisionServlet.java b/gitiles-servlet/src/main/java/com/google/gitiles/RevisionServlet.java index c22d627..f79df15 100644 --- a/gitiles-servlet/src/main/java/com/google/gitiles/RevisionServlet.java +++ b/gitiles-servlet/src/main/java/com/google/gitiles/RevisionServlet.java
@@ -15,9 +15,7 @@ package com.google.gitiles; import static com.google.common.base.Preconditions.checkNotNull; - import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND; - import static org.eclipse.jgit.lib.Constants.OBJ_BLOB; import static org.eclipse.jgit.lib.Constants.OBJ_COMMIT; import static org.eclipse.jgit.lib.Constants.OBJ_TAG; @@ -54,12 +52,10 @@ private static final Logger log = LoggerFactory.getLogger(RevisionServlet.class); private final Linkifier linkifier; - private final ArchiveFormat archiveFormat; public RevisionServlet(Config cfg, Renderer renderer, Linkifier linkifier) { - super(renderer); + super(cfg, renderer); this.linkifier = checkNotNull(linkifier, "linkifier"); - this.archiveFormat = ArchiveFormat.getDefault(checkNotNull(cfg, "cfg")); } @Override