Replace Guava's Optional with native Java 8 Optional

Change-Id: I913158eda2423de103367bf3067b8ce44f90fd9c
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/gson/SmartJson.java b/src/main/java/com/googlesource/gerrit/plugins/manager/gson/SmartJson.java
index ff0b96b..bc2ff06 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/manager/gson/SmartJson.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/manager/gson/SmartJson.java
@@ -14,10 +14,11 @@
 
 package com.googlesource.gerrit.plugins.manager.gson;
 
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
 import com.google.gson.JsonElement;
 
+import java.util.Optional;
+import java.util.function.Function;
+
 public class SmartJson {
 
   private final JsonElement jsonElem;
@@ -31,7 +32,7 @@
   }
 
   public Optional<String> getOptionalString(String fieldName) {
-    return getOptional(fieldName).transform(new Function<SmartJson, String>() {
+    return getOptional(fieldName).map(new Function<SmartJson, String>() {
       @Override
       public String apply(SmartJson elem) {
         if (!elem.jsonElem.isJsonPrimitive()) {
@@ -44,7 +45,7 @@
   }
 
   public String getString(String fieldName) {
-    return getOptionalString(fieldName).or("");
+    return getOptionalString(fieldName).orElse("");
   }
 
   public Optional<SmartJson> getOptional(String fieldName) {
@@ -52,7 +53,7 @@
       return Optional.of(SmartJson
           .of(jsonElem.getAsJsonObject().get(fieldName)));
     }
-    return Optional.absent();
+    return Optional.empty();
   }
 
   public SmartJson get(String fieldName) {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/manager/repository/JenkinsCiPluginsRepository.java b/src/main/java/com/googlesource/gerrit/plugins/manager/repository/JenkinsCiPluginsRepository.java
index 521ec39..0b609ad 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/manager/repository/JenkinsCiPluginsRepository.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/manager/repository/JenkinsCiPluginsRepository.java
@@ -14,8 +14,6 @@
 
 package com.googlesource.gerrit.plugins.manager.repository;
 
-import com.google.common.base.Function;
-import com.google.common.base.Optional;
 import com.google.gson.JsonArray;
 import com.google.gson.JsonElement;
 import com.google.inject.Inject;
@@ -39,6 +37,8 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Optional;
+import java.util.function.Function;
 
 @Singleton
 public class JenkinsCiPluginsRepository implements PluginsRepository {
@@ -46,7 +46,7 @@
   private static final Logger log = LoggerFactory
       .getLogger(JenkinsCiPluginsRepository.class);
 
-  private static final Optional<PluginInfo> noPluginInfo = Optional.absent();
+  private static final Optional<PluginInfo> noPluginInfo = Optional.empty();
 
   private final PluginManagerConfig config;
 
@@ -113,7 +113,7 @@
     Optional<SmartJson> lastSuccessfulBuild =
         jobDetails.getOptional("lastSuccessfulBuild");
 
-    return lastSuccessfulBuild.transform(
+    return lastSuccessfulBuild.map(
         new Function<SmartJson, Optional<PluginInfo>>() {
           @Override
           public Optional<PluginInfo> apply(SmartJson build) {
@@ -125,7 +125,7 @@
               return noPluginInfo;
             }
           }
-        }).or(noPluginInfo);
+        }).orElse(noPluginInfo);
   }
 
   private Optional<PluginInfo> getPluginArtifactInfo(SmartGson gson, String url)
@@ -134,12 +134,12 @@
     JsonArray artifacts =
         buildExecution.get("artifacts").get().getAsJsonArray();
     if (artifacts.size() == 0) {
-      return Optional.absent();
+      return Optional.empty();
     }
 
     Optional<SmartJson> artifactJson = findArtifact(artifacts, ".jar");
     if (!artifactJson.isPresent()) {
-      return Optional.absent();
+      return Optional.empty();
     }
 
     String pluginPath = artifactJson.get().getString("relativePath");
@@ -205,6 +205,6 @@
       }
     }
 
-    return Optional.absent();
+    return Optional.empty();
   }
 }