Replace Guava's Optional with java.util.Optional

Change-Id: I645c81e7b1091f70b4d9020af68dffdc56603974
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/ArchiveFormat.java b/gitiles-servlet/src/main/java/com/google/gitiles/ArchiveFormat.java
index f29db45..20ce605 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/ArchiveFormat.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/ArchiveFormat.java
@@ -15,9 +15,9 @@
 package com.google.gitiles;
 
 import com.google.common.base.Enums;
-import com.google.common.base.Optional;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
+import java.util.Optional;
 import org.eclipse.jgit.api.ArchiveCommand;
 import org.eclipse.jgit.archive.TarFormat;
 import org.eclipse.jgit.archive.Tbz2Format;
@@ -83,10 +83,10 @@
 
   static ArchiveFormat getDefault(Config cfg) {
     for (String allowed : cfg.getStringList("archive", null, "format")) {
-      Optional<ArchiveFormat> result =
-          Enums.getIfPresent(ArchiveFormat.class, allowed.toUpperCase());
-      if (result.isPresent()) {
-        return result.get();
+      ArchiveFormat result =
+          Enums.getIfPresent(ArchiveFormat.class, allowed.toUpperCase()).orNull();
+      if (result != null) {
+        return result;
       }
     }
     return TGZ;
@@ -99,7 +99,7 @@
   static Optional<ArchiveFormat> byExtension(String ext, Config cfg) {
     ArchiveFormat format = BY_EXT.get(ext);
     if (format == null) {
-      return Optional.absent();
+      return Optional.empty();
     }
     String[] formats = cfg.getStringList("archive", null, "format");
     if (formats.length == 0) {
@@ -110,6 +110,6 @@
         return Optional.of(format);
       }
     }
-    return Optional.absent();
+    return Optional.empty();
   }
 }
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 f004c9f..402674c 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/ArchiveServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/ArchiveServlet.java
@@ -17,9 +17,9 @@
 import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
 import static javax.servlet.http.HttpServletResponse.SC_OK;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Strings;
 import java.io.IOException;
+import java.util.Optional;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
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 4190710..6160a51 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/BaseServlet.java
@@ -26,7 +26,6 @@
 import static org.eclipse.jgit.util.HttpSupport.ENCODING_GZIP;
 
 import com.google.common.base.Joiner;
-import com.google.common.base.Optional;
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Maps;
@@ -40,6 +39,7 @@
 import java.io.Writer;
 import java.lang.reflect.Type;
 import java.util.Map;
+import java.util.Optional;
 import java.util.regex.Pattern;
 import java.util.zip.GZIPOutputStream;
 import javax.servlet.ServletException;
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/ConfigUtil.java b/gitiles-servlet/src/main/java/com/google/gitiles/ConfigUtil.java
index 0c7c942..8f814f0 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/ConfigUtil.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/ConfigUtil.java
@@ -16,8 +16,8 @@
 
 import static java.util.concurrent.TimeUnit.MILLISECONDS;
 
-import com.google.common.base.Optional;
 import com.google.common.cache.CacheBuilder;
+import java.util.Optional;
 import java.util.TimeZone;
 import java.util.concurrent.TimeUnit;
 import javax.annotation.Nullable;
@@ -90,13 +90,13 @@
    * @param subsection subsection to read, e.g. "subsection".
    * @param name variable to read, e.g. "fixedTimeZone".
    * @return a time zone read from parsing the specified config string value, or {@link
-   *     Optional#absent()} if not present. As in the behavior of {@link
+   *     Optional#empty()} if not present. As in the behavior of {@link
    *     TimeZone#getTimeZone(String)}, unknown time zones are treated as GMT.
    */
   public static Optional<TimeZone> getTimeZone(
       Config config, String section, String subsection, String name) {
     String id = config.getString(section, subsection, name);
-    return id != null ? Optional.of(TimeZone.getTimeZone(id)) : Optional.<TimeZone>absent();
+    return id != null ? Optional.of(TimeZone.getTimeZone(id)) : Optional.empty();
   }
 
   private ConfigUtil() {}
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/DateFormatter.java b/gitiles-servlet/src/main/java/com/google/gitiles/DateFormatter.java
index 1f847a8..b14483f 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/DateFormatter.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/DateFormatter.java
@@ -14,10 +14,10 @@
 
 package com.google.gitiles;
 
-import com.google.common.base.Optional;
 import java.io.IOException;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
+import java.util.Optional;
 import java.util.TimeZone;
 import org.eclipse.jgit.lib.PersonIdent;
 import org.eclipse.jgit.util.SystemReader;
diff --git a/gitiles-servlet/src/main/java/com/google/gitiles/FormatType.java b/gitiles-servlet/src/main/java/com/google/gitiles/FormatType.java
index 7f8d62a..3a2579a 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/FormatType.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/FormatType.java
@@ -15,9 +15,9 @@
 package com.google.gitiles;
 
 import com.google.common.base.Enums;
-import com.google.common.base.Optional;
 import com.google.common.base.Strings;
 import com.google.common.net.HttpHeaders;
+import java.util.Optional;
 import javax.servlet.http.HttpServletRequest;
 
 /** Type of formatting to use in the response to the client. */
@@ -38,7 +38,8 @@
 
     String fmt = req.getParameter("format");
     if (!Strings.isNullOrEmpty(fmt)) {
-      return set(req, Enums.getIfPresent(FormatType.class, fmt.toUpperCase()));
+      FormatType f = Enums.getIfPresent(FormatType.class, fmt.toUpperCase()).orNull();
+      return set(req, Optional.ofNullable(f));
     }
 
     String accept = req.getHeader(HttpHeaders.ACCEPT);
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 d10060b..2585ef8 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/HostIndexServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/HostIndexServlet.java
@@ -21,7 +21,6 @@
 import static javax.servlet.http.HttpServletResponse.SC_SERVICE_UNAVAILABLE;
 import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Sets;
@@ -35,6 +34,7 @@
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import javax.annotation.Nullable;
 import javax.servlet.http.HttpServletRequest;
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 577598a..55ea975 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/LogServlet.java
@@ -18,7 +18,6 @@
 import static javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
 import static javax.servlet.http.HttpServletResponse.SC_NOT_FOUND;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Strings;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.ListMultimap;
@@ -36,6 +35,7 @@
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -216,7 +216,7 @@
     List<String> values = params.get(START_PARAM);
     switch (values.size()) {
       case 0:
-        return Optional.absent();
+        return Optional.empty();
       case 1:
         String id = values.get(0);
         if (!AbbreviatedObjectId.isId(id)) {
@@ -324,7 +324,7 @@
 
       try {
         Optional<ObjectId> start = getStart(view.getParameters(), walk.getObjectReader());
-        return new Paginator(walk, getLimit(view), start.orNull());
+        return new Paginator(walk, getLimit(view), start.orElse(null));
       } catch (InvalidStartValueException e) {
         return null;
       }
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 7ce3720..51bc42d 100644
--- a/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java
+++ b/gitiles-servlet/src/main/java/com/google/gitiles/RepositoryIndexServlet.java
@@ -17,7 +17,6 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
 
-import com.google.common.base.Optional;
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
@@ -31,6 +30,7 @@
 import java.io.Writer;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import org.eclipse.jgit.errors.IncorrectObjectTypeException;