DefaultErrorHandlingFilter: Simplify handling of FailureReason

Change-Id: I82a7da0a11c535cf9150caf9f021932559d98117
diff --git a/java/com/google/gitiles/DefaultErrorHandlingFilter.java b/java/com/google/gitiles/DefaultErrorHandlingFilter.java
index 459347c..89086aa 100644
--- a/java/com/google/gitiles/DefaultErrorHandlingFilter.java
+++ b/java/com/google/gitiles/DefaultErrorHandlingFilter.java
@@ -57,24 +57,14 @@
       }
     } catch (RepositoryNotFoundException e) {
       try {
-        res.setHeader(GITILES_ERROR, FailureReason.REPOSITORY_NOT_FOUND.toString());
-        renderHtml(
-            req,
-            res,
-            FailureReason.REPOSITORY_NOT_FOUND.getHttpStatusCode(),
-            FailureReason.REPOSITORY_NOT_FOUND.getMessage());
+        renderHtml(req, res, FailureReason.REPOSITORY_NOT_FOUND);
       } catch (IOException e2) {
         e.addSuppressed(e2);
         throw e;
       }
     } catch (AmbiguousObjectException e) {
       try {
-        res.setHeader(GITILES_ERROR, FailureReason.AMBIGUOUS_OBJECT.toString());
-        renderHtml(
-            req,
-            res,
-            FailureReason.AMBIGUOUS_OBJECT.getHttpStatusCode(),
-            FailureReason.AMBIGUOUS_OBJECT.getMessage());
+        renderHtml(req, res, FailureReason.AMBIGUOUS_OBJECT);
       } catch (IOException e2) {
         e.addSuppressed(e2);
         throw e;
@@ -89,12 +79,7 @@
     } catch (IOException | ServletException e) {
       try {
         log.warn("Internal server error", e);
-        res.setHeader(GITILES_ERROR, FailureReason.INTERNAL_SERVER_ERROR.toString());
-        renderHtml(
-            req,
-            res,
-            FailureReason.INTERNAL_SERVER_ERROR.getHttpStatusCode(),
-            FailureReason.INTERNAL_SERVER_ERROR.getMessage());
+        renderHtml(req, res, FailureReason.INTERNAL_SERVER_ERROR);
       } catch (IOException e2) {
         e.addSuppressed(e2);
         throw e;
@@ -102,6 +87,12 @@
     }
   }
 
+  private void renderHtml(HttpServletRequest req, HttpServletResponse res, FailureReason reason)
+      throws IOException {
+    res.setHeader(GITILES_ERROR, reason.toString());
+    renderHtml(req, res, reason.getHttpStatusCode(), reason.getMessage());
+  }
+
   private void renderHtml(
       HttpServletRequest req, HttpServletResponse res, int status, String message)
       throws IOException {
@@ -116,7 +107,7 @@
   }
 
   private Map<String, ?> startHtmlResponse(
-      HttpServletRequest req, HttpServletResponse res, Map<String, ?> soyData) throws IOException {
+      HttpServletRequest req, HttpServletResponse res, Map<String, ?> soyData) {
     res.setContentType(FormatType.HTML.getMimeType());
     res.setCharacterEncoding(UTF_8.name());
     BaseServlet.setNotCacheable(res);