You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by as...@apache.org on 2019/05/20 13:33:49 UTC

[oozie] branch master updated: OOZIE-3488 Migrate from guava classes to the base Java implementations (zsombor via asalamon74)

This is an automated email from the ASF dual-hosted git repository.

asalamon74 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/oozie.git


The following commit(s) were added to refs/heads/master by this push:
     new b9adc73  OOZIE-3488 Migrate from guava classes to the base Java implementations (zsombor via asalamon74)
b9adc73 is described below

commit b9adc736f8fd30a8f984b222dfdadfa83462b5ba
Author: Andras Salamon <as...@apache.org>
AuthorDate: Mon May 20 15:33:06 2019 +0200

    OOZIE-3488 Migrate from guava classes to the base Java implementations (zsombor via asalamon74)
---
 .../java/org/apache/oozie/client/OozieClient.java  |  4 +-
 .../action/hadoop/MapReduceActionExecutor.java     | 18 ++-----
 .../oozie/action/hadoop/SharelibResolver.java      |  5 +-
 .../org/apache/oozie/coord/CoordELFunctions.java   |  8 +--
 .../oozie/service/JvmPauseMonitorService.java      |  6 +--
 .../org/apache/oozie/servlet/V1JobsServlet.java    |  3 +-
 .../org/apache/oozie/util/db/CompositeIndex.java   | 11 ++--
 .../oozie/util/db/DatabaseRetryPredicate.java      |  5 +-
 .../oozie/util/db/FailingConnectionWrapper.java    |  6 +--
 .../oozie/util/db/FailingDBHelperForTest.java      |  5 +-
 .../oozie/util/db/FailingHSQLDBDriverWrapper.java  |  1 -
 .../oozie/util/db/OperationRetryHandler.java       |  4 +-
 ...tenceExceptionSubclassFilterRetryPredicate.java |  2 +-
 .../oozie/workflow/lite/LiteWorkflowValidator.java |  8 +--
 .../action/hadoop/TestYarnApplicationIdFinder.java | 13 ++---
 .../oozie/service/TestCallableQueueService.java    |  6 ---
 .../apache/oozie/service/TestShareLibService.java  |  5 +-
 .../apache/oozie/sla/TestSLACalculatorMemory.java  |  8 +--
 .../util/db/TestOozieDmlStatementPredicate.java    | 14 +++---
 .../oozie/util/db/TestOperationRetryHandler.java   |  4 +-
 ...tenceExceptionSubclassFilterRetryPredicate.java | 58 +++++++++++-----------
 .../fluentjob/api/mapping/SourceDataFactory.java   |  5 +-
 .../api/workflow/TestCredentialsBuilder.java       |  7 +--
 .../api/workflow/TestWorkflowBuilder.java          |  4 +-
 release-log.txt                                    |  1 +
 .../org/apache/oozie/action/hadoop/LauncherAM.java |  4 +-
 .../oozie/action/hadoop/TestLauncherAMUtils.java   | 25 +++-------
 .../action/hadoop/TestSparkArgsExtractor.java      | 25 +++++-----
 .../org/apache/oozie/tools/OozieDBImportCLI.java   |  6 +--
 29 files changed, 118 insertions(+), 153 deletions(-)

diff --git a/client/src/main/java/org/apache/oozie/client/OozieClient.java b/client/src/main/java/org/apache/oozie/client/OozieClient.java
index 54e45c0..1073cb9 100644
--- a/client/src/main/java/org/apache/oozie/client/OozieClient.java
+++ b/client/src/main/java/org/apache/oozie/client/OozieClient.java
@@ -21,7 +21,6 @@ package org.apache.oozie.client;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
 import org.apache.oozie.BuildInfo;
 import org.apache.oozie.cli.ValidationUtil;
 import org.apache.oozie.client.rest.JsonTags;
@@ -53,6 +52,7 @@ import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -2558,7 +2558,7 @@ public class OozieClient {
 
             Reader reader = new InputStreamReader(conn.getInputStream(), StandardCharsets.UTF_8);
             JSONObject json = (JSONObject) JSONValue.parse(reader);
-            List<String> queueDumpMessages = Lists.newArrayList();
+            List<String> queueDumpMessages = new ArrayList<>();
 
             addSeparator(queueDumpMessages);
 
diff --git a/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java b/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java
index 7ebc909..a509e4d 100644
--- a/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java
+++ b/core/src/main/java/org/apache/oozie/action/hadoop/MapReduceActionExecutor.java
@@ -30,11 +30,8 @@ import java.util.Map;
 import java.util.function.Predicate;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Strings;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Ordering;
 import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
@@ -606,16 +603,11 @@ public class MapReduceActionExecutor extends JavaActionExecutor {
             Preconditions.checkNotNull(yarnApplications, "YARN application list should be filled");
             Preconditions.checkArgument(!yarnApplications.isEmpty(), "no YARN applications in the list");
 
-            final Iterable<String> unorderedApplicationIds =
-                    Iterables.transform(yarnApplications, new Function<ApplicationReport, String>() {
-                        @Override
-                        public String apply(final ApplicationReport input) {
-                            Preconditions.checkNotNull(input, "YARN application should be filled");
-                            return input.getApplicationId().toString();
-                        }
-                    });
-
-            return Ordering.from(new YarnApplicationIdComparator()).max(unorderedApplicationIds);
+            return yarnApplications.stream().map(applicationReport -> {
+                    Preconditions.checkNotNull(applicationReport, "YARN application should be filled");
+                    return applicationReport.getApplicationId().toString();
+                }).max(new YarnApplicationIdComparator())
+                .get(); // this is not empty, as yarnApplications was not empty.
         }
 
         private boolean isHadoopJobId(final String jobIdCandidate) {
diff --git a/core/src/main/java/org/apache/oozie/action/hadoop/SharelibResolver.java b/core/src/main/java/org/apache/oozie/action/hadoop/SharelibResolver.java
index 18c50cb..fd21ea5 100644
--- a/core/src/main/java/org/apache/oozie/action/hadoop/SharelibResolver.java
+++ b/core/src/main/java/org/apache/oozie/action/hadoop/SharelibResolver.java
@@ -17,11 +17,10 @@
  */
 package org.apache.oozie.action.hadoop;
 
-import com.google.common.collect.Lists;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.oozie.util.XConfiguration;
 
-import java.io.IOException;
+import java.util.Arrays;
 import java.util.List;
 
 class SharelibResolver {
@@ -64,7 +63,7 @@ class SharelibResolver {
         } else {
             this.defaultValue = new String[] { defaultValue };
         }
-        configProviders = Lists.newArrayList(
+        configProviders = Arrays.asList(
                 () -> actionConf.getStrings(LauncherAM.OOZIE_LAUNCHER_SHARELIB_PROPERTY),
                 () -> actionConf.getStrings(sharelibPropertyName),
                 () -> workflowConf.getStrings(LauncherAM.OOZIE_LAUNCHER_SHARELIB_PROPERTY),
diff --git a/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java b/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java
index e38f3d6..2761e44 100644
--- a/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java
+++ b/core/src/main/java/org/apache/oozie/coord/CoordELFunctions.java
@@ -19,8 +19,6 @@
 package org.apache.oozie.coord;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
 
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.conf.Configuration;
@@ -44,9 +42,11 @@ import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.Date;
 import java.util.GregorianCalendar;
 import java.util.List;
+import java.util.Objects;
 import java.util.TimeZone;
 import java.util.concurrent.atomic.AtomicInteger;
 
@@ -984,7 +984,7 @@ public class CoordELFunctions {
                 }
                 nominalInstanceCal.add(dsTimeUnit.getCalendarUnit(), datasetFrequency);
             }
-            instances = Lists.reverse(instances);
+            Collections.reverse(instances);
             return StringUtils.join(instances, CoordELFunctions.INSTANCE_SEPARATOR);
         }
     }
@@ -1847,7 +1847,7 @@ public class CoordELFunctions {
          * @return -1 if no correct {@code source} was given, else the estimated occurrence count of a dataset
          */
         long convertMillis(final long millis, final TimeUnit source) {
-            Preconditions.checkNotNull(source, "source has to be filled");
+            Objects.requireNonNull(source, "source has to be filled");
 
             switch (source) {
                 case YEAR:
diff --git a/core/src/main/java/org/apache/oozie/service/JvmPauseMonitorService.java b/core/src/main/java/org/apache/oozie/service/JvmPauseMonitorService.java
index 13b2809..09a3b88 100644
--- a/core/src/main/java/org/apache/oozie/service/JvmPauseMonitorService.java
+++ b/core/src/main/java/org/apache/oozie/service/JvmPauseMonitorService.java
@@ -20,17 +20,15 @@ package org.apache.oozie.service;
 
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import java.lang.management.GarbageCollectorMXBean;
 import java.lang.management.ManagementFactory;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.util.Daemon;
-import org.apache.oozie.util.ConfigUtils;
 import org.apache.oozie.util.Instrumentation;
 import org.apache.oozie.util.XLog;
 
@@ -100,7 +98,7 @@ public class JvmPauseMonitorService implements Service {
     private String formatMessage(long extraSleepTime, Map<String, GcTimes> gcTimesAfterSleep,
             Map<String, GcTimes> gcTimesBeforeSleep) {
         Set<String> gcBeanNames = Sets.intersection(gcTimesAfterSleep.keySet(), gcTimesBeforeSleep.keySet());
-        List<String> gcDiffs = Lists.newArrayList();
+        List<String> gcDiffs = new ArrayList<>();
         for (String name : gcBeanNames) {
             GcTimes diff = gcTimesAfterSleep.get(name).subtract(gcTimesBeforeSleep.get(name));
             if (diff.gcCount != 0) {
diff --git a/core/src/main/java/org/apache/oozie/servlet/V1JobsServlet.java b/core/src/main/java/org/apache/oozie/servlet/V1JobsServlet.java
index 61db5de..497b346 100644
--- a/core/src/main/java/org/apache/oozie/servlet/V1JobsServlet.java
+++ b/core/src/main/java/org/apache/oozie/servlet/V1JobsServlet.java
@@ -34,7 +34,6 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSDataOutputStream;
@@ -185,7 +184,7 @@ public class V1JobsServlet extends BaseJobsServlet {
     }
 
     private List<String> findAppPathsWithFileNames(final String appPaths, final String defaultFileName) {
-        final List<String> appPathsWithFileNames = Lists.newArrayList();
+        final List<String> appPathsWithFileNames = new ArrayList<>();
 
         if (Strings.isNullOrEmpty(appPaths)) {
             return appPathsWithFileNames;
diff --git a/core/src/main/java/org/apache/oozie/util/db/CompositeIndex.java b/core/src/main/java/org/apache/oozie/util/db/CompositeIndex.java
index 88b9ca3..687f4dc 100644
--- a/core/src/main/java/org/apache/oozie/util/db/CompositeIndex.java
+++ b/core/src/main/java/org/apache/oozie/util/db/CompositeIndex.java
@@ -18,12 +18,11 @@
 
 package org.apache.oozie.util.db;
 
-import com.google.common.base.Function;
 import com.google.common.base.Joiner;
-import com.google.common.collect.Lists;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 public enum CompositeIndex {
     I_WF_JOBS_STATUS_CREATED_TIME ("WF_JOBS", "status", "created_time"),
@@ -46,12 +45,8 @@ public enum CompositeIndex {
     }
 
     public static List<String> getIndexStatements() {
-        Function<CompositeIndex, String> compositeIndexToString = new Function<CompositeIndex, String>() {
-            public String apply(CompositeIndex i) { return i != null ? i.createStatement : null; }
-        };
-
-        List<CompositeIndex> indexList = Arrays.asList(values());
-        return Lists.transform(indexList, compositeIndexToString);
+        return Arrays.asList(values()).stream()
+                .map(i -> i != null ? i.createStatement : null).collect(Collectors.toList());
     }
 
     public static boolean find(String indexName) {
diff --git a/core/src/main/java/org/apache/oozie/util/db/DatabaseRetryPredicate.java b/core/src/main/java/org/apache/oozie/util/db/DatabaseRetryPredicate.java
index c89aabe..8200d16 100644
--- a/core/src/main/java/org/apache/oozie/util/db/DatabaseRetryPredicate.java
+++ b/core/src/main/java/org/apache/oozie/util/db/DatabaseRetryPredicate.java
@@ -20,13 +20,12 @@ package org.apache.oozie.util.db;
 
 import java.util.HashSet;
 import java.util.Set;
-
-import com.google.common.base.Predicate;
+import java.util.function.Predicate;
 
 public abstract class DatabaseRetryPredicate implements Predicate<Throwable> {
 
     @Override
-    public abstract boolean apply(Throwable input);
+    public abstract boolean test(Throwable input);
 
     /*
      * Helper method for subclasses to retrieve all exceptions in a set. "All exceptions" means the exception
diff --git a/core/src/main/java/org/apache/oozie/util/db/FailingConnectionWrapper.java b/core/src/main/java/org/apache/oozie/util/db/FailingConnectionWrapper.java
index 9e603ed..0b681f7 100644
--- a/core/src/main/java/org/apache/oozie/util/db/FailingConnectionWrapper.java
+++ b/core/src/main/java/org/apache/oozie/util/db/FailingConnectionWrapper.java
@@ -19,7 +19,6 @@
 package org.apache.oozie.util.db;
 
 import com.google.common.base.Preconditions;
-import com.google.common.base.Predicate;
 import com.google.common.base.Strings;
 import com.google.common.collect.Sets;
 import org.apache.oozie.util.XLog;
@@ -45,6 +44,7 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 import java.util.concurrent.Executor;
+import java.util.function.Predicate;
 
 public class FailingConnectionWrapper implements Connection {
     private static final XLog LOG = XLog.getLog(FailingConnectionWrapper.class);
@@ -167,7 +167,7 @@ public class FailingConnectionWrapper implements Connection {
     @Override
     public PreparedStatement prepareStatement(final String sql, final int resultSetType, final int resultSetConcurrency)
             throws SQLException {
-        if (predicate.apply(sql)) {
+        if (predicate.test(sql)) {
             LOG.trace("Injecting random failure. Preparing this statement might fail.");
             injector.inject(String.format("Deliberately failing to prepare statement. [sql=%s]", sql));
         }
@@ -353,7 +353,7 @@ public class FailingConnectionWrapper implements Connection {
                 "WF_ACTIONS", "WF_JOBS");
 
         @Override
-        public boolean apply(@Nullable String input) {
+        public boolean test(@Nullable String input) {
             Preconditions.checkArgument(!Strings.isNullOrEmpty(input));
 
             boolean isDmlStatement = false;
diff --git a/core/src/main/java/org/apache/oozie/util/db/FailingDBHelperForTest.java b/core/src/main/java/org/apache/oozie/util/db/FailingDBHelperForTest.java
index 7131e92..474946d 100644
--- a/core/src/main/java/org/apache/oozie/util/db/FailingDBHelperForTest.java
+++ b/core/src/main/java/org/apache/oozie/util/db/FailingDBHelperForTest.java
@@ -18,8 +18,9 @@
 
 package org.apache.oozie.util.db;
 
+import java.util.function.Predicate;
+
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Predicate;
 
 /**
  * Helper class for simulating DB failures.
@@ -36,7 +37,7 @@ public class FailingDBHelperForTest {
      * @param predicate predicate
      */
     @VisibleForTesting
-    public static void setDbPredicate (final Predicate predicate) {
+    public static void setDbPredicate (final Predicate<String> predicate) {
         FailingDBHelperForTest.dbPredicate = predicate;
     }
 
diff --git a/core/src/main/java/org/apache/oozie/util/db/FailingHSQLDBDriverWrapper.java b/core/src/main/java/org/apache/oozie/util/db/FailingHSQLDBDriverWrapper.java
index 5f5d56f..60f35b4 100644
--- a/core/src/main/java/org/apache/oozie/util/db/FailingHSQLDBDriverWrapper.java
+++ b/core/src/main/java/org/apache/oozie/util/db/FailingHSQLDBDriverWrapper.java
@@ -21,7 +21,6 @@ package org.apache.oozie.util.db;
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.util.Properties;
-import com.google.common.base.Predicate;
 
 public class FailingHSQLDBDriverWrapper extends org.hsqldb.jdbcDriver {
 
diff --git a/core/src/main/java/org/apache/oozie/util/db/OperationRetryHandler.java b/core/src/main/java/org/apache/oozie/util/db/OperationRetryHandler.java
index 16a0a82..53f2c3a 100644
--- a/core/src/main/java/org/apache/oozie/util/db/OperationRetryHandler.java
+++ b/core/src/main/java/org/apache/oozie/util/db/OperationRetryHandler.java
@@ -19,12 +19,12 @@
 package org.apache.oozie.util.db;
 
 import java.util.concurrent.Callable;
+import java.util.function.Predicate;
 
 import com.google.common.annotations.VisibleForTesting;
 import org.apache.oozie.util.XLog;
 
 import com.google.common.base.Preconditions;
-import com.google.common.base.Predicate;
 
 public class OperationRetryHandler {
     private static XLog LOG = XLog.getLog(OperationRetryHandler.class);
@@ -98,7 +98,7 @@ public class OperationRetryHandler {
                         throw e;
                     }
 
-                    if (retryPredicate.apply(e)) {
+                    if (retryPredicate.test(e)) {
                         LOG.trace("Exception is not on blacklist, handling retry. [retries={0};e.class={1}]",
                                 retries, e.getClass().getName());
                         waitTime = handleRetry(waitTime, retries);
diff --git a/core/src/main/java/org/apache/oozie/util/db/PersistenceExceptionSubclassFilterRetryPredicate.java b/core/src/main/java/org/apache/oozie/util/db/PersistenceExceptionSubclassFilterRetryPredicate.java
index 1e4413b..28c4ddb 100644
--- a/core/src/main/java/org/apache/oozie/util/db/PersistenceExceptionSubclassFilterRetryPredicate.java
+++ b/core/src/main/java/org/apache/oozie/util/db/PersistenceExceptionSubclassFilterRetryPredicate.java
@@ -74,7 +74,7 @@ public class PersistenceExceptionSubclassFilterRetryPredicate extends DatabaseRe
     );
 
     @Override
-    public boolean apply(final Throwable throwable) {
+    public boolean test(final Throwable throwable) {
         LOG.trace("Retry predicate investigation started. [throwable.class={0}]", throwable.getClass().getName());
 
         boolean applies = true;
diff --git a/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowValidator.java b/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowValidator.java
index c7f2f49..992e1e4 100644
--- a/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowValidator.java
+++ b/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowValidator.java
@@ -25,6 +25,8 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Objects;
+import java.util.Optional;
 import java.util.Set;
 
 import org.apache.commons.collections.CollectionUtils;
@@ -38,8 +40,6 @@ import org.jdom.Element;
 import org.jdom.JDOMException;
 
 import com.google.common.base.Joiner;
-import com.google.common.base.Objects;
-import com.google.common.base.Optional;
 
 public class LiteWorkflowValidator {
 
@@ -178,11 +178,11 @@ public class LiteWorkflowValidator {
             // using Optional here so we can distinguish between "non-visited" and "visited - no parent" state.
             Optional<String> decisionParentOpt = nodeAndDecisionParents.get(nodeName);
             if (decisionParentOpt == null) {
-                nodeAndDecisionParents.put(node.getName(), Optional.fromNullable(topDecisionParent));
+                nodeAndDecisionParents.put(node.getName(), Optional.ofNullable(topDecisionParent));
             } else {
                 String decisionParent = decisionParentOpt.isPresent() ? decisionParentOpt.get() : null;
 
-                if ((decisionParent == null && topDecisionParent == null) || !Objects.equal(decisionParent, topDecisionParent)) {
+                if ((decisionParent == null && topDecisionParent == null) || !Objects.equals(decisionParent, topDecisionParent)) {
                     throw new WorkflowException(ErrorCode.E0743, nodeName);
                 }
             }
diff --git a/core/src/test/java/org/apache/oozie/action/hadoop/TestYarnApplicationIdFinder.java b/core/src/test/java/org/apache/oozie/action/hadoop/TestYarnApplicationIdFinder.java
index 3fd7149..54570d7 100644
--- a/core/src/test/java/org/apache/oozie/action/hadoop/TestYarnApplicationIdFinder.java
+++ b/core/src/test/java/org/apache/oozie/action/hadoop/TestYarnApplicationIdFinder.java
@@ -18,7 +18,6 @@
 
 package org.apache.oozie.action.hadoop;
 
-import com.google.common.collect.Lists;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationReport;
 import org.apache.hadoop.yarn.api.records.YarnApplicationState;
@@ -35,6 +34,8 @@ import org.mockito.runners.MockitoJUnitRunner;
 
 import java.io.IOException;
 import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 
 import static org.junit.Assert.assertEquals;
@@ -83,7 +84,7 @@ public class TestYarnApplicationIdFinder {
         when(applicationReport.getApplicationType()).thenReturn("Oozie Launcher");
         when(applicationReport.getApplicationId()).thenReturn(applicationId);
         when(applicationId.toString()).thenReturn("application_1534164756526_0001");
-        when(reader.read()).thenReturn(Lists.newArrayList(applicationReport));
+        when(reader.read()).thenReturn(new ArrayList<>(Arrays.asList(applicationReport)));
 
         assertEquals(
                 "no Hadoop Job ID nor YARN applications of MAPREDUCE type: WorkflowActionBean.externalId should be found",
@@ -115,7 +116,7 @@ public class TestYarnApplicationIdFinder {
         when(applicationReport.getYarnApplicationState()).thenReturn(YarnApplicationState.RUNNING);
         when(applicationId.toString()).thenReturn("application_1534164756526_0000");
         when(applicationReport.getApplicationId()).thenReturn(applicationId);
-        when(reader.read()).thenReturn(Lists.newArrayList(applicationReport));
+        when(reader.read()).thenReturn(Arrays.asList(applicationReport));
 
         assertEquals("no Hadoop Job ID, but an appropriate YARN application: applicationId should be found",
                 "application_1534164756526_0000",
@@ -140,7 +141,7 @@ public class TestYarnApplicationIdFinder {
         when(applicationReport.getYarnApplicationState()).thenReturn(YarnApplicationState.RUNNING);
         when(applicationId.toString()).thenReturn(yarnApplicationId);
         when(applicationReport.getApplicationId()).thenReturn(applicationId);
-        when(reader.read()).thenReturn(Lists.newArrayList(applicationReport));
+        when(reader.read()).thenReturn(Arrays.asList(applicationReport));
     }
 
     @Test
@@ -187,7 +188,7 @@ public class TestYarnApplicationIdFinder {
         final ApplicationId newMRJobId = mock(ApplicationId.class);
         when(newMRJobId.toString()).thenReturn("application_1534164756526_0004");
         when(newMRJob.getApplicationId()).thenReturn(newMRJobId);
-        when(reader.read()).thenReturn(Lists.newArrayList(oldLauncher, oldMRJob, newLauncher, newMRJob));
+        when(reader.read()).thenReturn(new ArrayList<>(Arrays.asList(oldLauncher, oldMRJob, newLauncher, newMRJob)));
 
         when(workflowActionBean.getExternalId()).thenReturn("application_1534164756526_0003");
         assertEquals("newLauncher should be found", "application_1534164756526_0004", yarnApplicationIdFinder.find());
@@ -236,7 +237,7 @@ public class TestYarnApplicationIdFinder {
         when(newMRJobId.toString()).thenReturn("application_1534164756526_0004");
         when(newMRJob.getApplicationId()).thenReturn(newMRJobId);
 
-        final String lastYarnId = yarnApplicationIdFinder.getLastYarnId(Lists.newArrayList(newMRJob, newLauncher));
+        final String lastYarnId = yarnApplicationIdFinder.getLastYarnId(Arrays.asList(newMRJob, newLauncher));
         assertEquals("last YARN id should be the maximal element in the list", "application_1534164756526_0004", lastYarnId);
     }
 }
\ No newline at end of file
diff --git a/core/src/test/java/org/apache/oozie/service/TestCallableQueueService.java b/core/src/test/java/org/apache/oozie/service/TestCallableQueueService.java
index aec1765..1b08148 100644
--- a/core/src/test/java/org/apache/oozie/service/TestCallableQueueService.java
+++ b/core/src/test/java/org/apache/oozie/service/TestCallableQueueService.java
@@ -27,17 +27,11 @@ import org.apache.oozie.test.XTestCase;
 import org.apache.oozie.util.XCallable;
 import org.apache.oozie.util.XLog;
 
-import com.google.common.collect.ArrayListMultimap;
 import com.google.common.collect.Multimap;
-import com.google.common.collect.Multimaps;
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
diff --git a/core/src/test/java/org/apache/oozie/service/TestShareLibService.java b/core/src/test/java/org/apache/oozie/service/TestShareLibService.java
index 8bf2040..24766ce 100644
--- a/core/src/test/java/org/apache/oozie/service/TestShareLibService.java
+++ b/core/src/test/java/org/apache/oozie/service/TestShareLibService.java
@@ -42,7 +42,6 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
-import com.google.common.collect.Lists;
 import com.google.common.io.Files;
 
 import org.apache.hadoop.conf.Configuration;
@@ -126,7 +125,7 @@ public class TestShareLibService extends XFsTestCase {
 
         @Override
         public List<Class<?>> getLauncherClasses() {
-            return Lists.<Class<?>>newArrayList(MyPig.class);
+            return Arrays.asList(MyPig.class);
         }
     }
 
@@ -136,7 +135,7 @@ public class TestShareLibService extends XFsTestCase {
 
         @Override
         public List<Class<?>> getLauncherClasses() {
-            return Lists.<Class<?>>newArrayList(TestHive.class);
+            return Arrays.asList(TestHive.class);
         }
     }
 
diff --git a/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java b/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java
index e196033..3285153 100644
--- a/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java
+++ b/core/src/test/java/org/apache/oozie/sla/TestSLACalculatorMemory.java
@@ -1289,8 +1289,8 @@ public class TestSLACalculatorMemory extends XDataTestCase {
         }
 
         @Override
-        public boolean apply(@Nullable String input) {
-            if (super.apply(input)) {
+        public boolean test(@Nullable String input) {
+            if (super.test(input)) {
                 if (remainingSuccessfulAttempts <= 0) {
                     return true;
                 }
@@ -1305,7 +1305,7 @@ public class TestSLACalculatorMemory extends XDataTestCase {
         }
     }
 
-    static class DmlPredicate implements com.google.common.base.Predicate<String> {
+    static class DmlPredicate implements java.util.function.Predicate<String> {
         private final String tableName;
         private final Set<String> operationPrefixes;
 
@@ -1315,7 +1315,7 @@ public class TestSLACalculatorMemory extends XDataTestCase {
         }
 
         @Override
-        public boolean apply(@Nullable String input) {
+        public boolean test(@Nullable String input) {
             Preconditions.checkArgument(!Strings.isNullOrEmpty(input));
             boolean operationMatch = false;
             for (String s: operationPrefixes) {
diff --git a/core/src/test/java/org/apache/oozie/util/db/TestOozieDmlStatementPredicate.java b/core/src/test/java/org/apache/oozie/util/db/TestOozieDmlStatementPredicate.java
index c2d4b15..4d089c7 100644
--- a/core/src/test/java/org/apache/oozie/util/db/TestOozieDmlStatementPredicate.java
+++ b/core/src/test/java/org/apache/oozie/util/db/TestOozieDmlStatementPredicate.java
@@ -31,33 +31,33 @@ public class TestOozieDmlStatementPredicate {
     @Test
     public void testDmlNotOozieTableDoesNotApply() {
         assertFalse("DML statement but not of an Oozie table",
-                statementPredicate.apply("SELECT * FROM wellhello"));
+                statementPredicate.test("SELECT * FROM wellhello"));
     }
 
     @Test
     public void testNotDmlOozieTableDoesNotApply() {
         assertFalse("not a DML statement but of an Oozie table",
-                statementPredicate.apply("CREATE TABLE WF_JOBS"));
+                statementPredicate.test("CREATE TABLE WF_JOBS"));
     }
 
     @Test
     public void testNotDmlNotOozieTableDoesNotApply() {
         assertFalse("not a DML statement and not of an Oozie table",
-                statementPredicate.apply("CREATE TABLE wellhello"));
+                statementPredicate.test("CREATE TABLE wellhello"));
     }
 
     @Test
     public void testDmlAndOozieTableAppliesIgnoreCase() {
         assertTrue("a DML statement and of an Oozie table",
-                statementPredicate.apply("SELECT * FROM wf_jobs"));
+                statementPredicate.test("SELECT * FROM wf_jobs"));
 
         assertTrue("a DML statement and of an Oozie table",
-                statementPredicate.apply("insert into WF_JOBS"));
+                statementPredicate.test("insert into WF_JOBS"));
 
         assertTrue("a DML statement and of an Oozie table",
-                statementPredicate.apply("update wf_jobs"));
+                statementPredicate.test("update wf_jobs"));
 
         assertTrue("a DML statement and of an Oozie table",
-                statementPredicate.apply("DELETE FROM WF_JOBS"));
+                statementPredicate.test("DELETE FROM WF_JOBS"));
     }
 }
\ No newline at end of file
diff --git a/core/src/test/java/org/apache/oozie/util/db/TestOperationRetryHandler.java b/core/src/test/java/org/apache/oozie/util/db/TestOperationRetryHandler.java
index c61b1e5..790c17b 100644
--- a/core/src/test/java/org/apache/oozie/util/db/TestOperationRetryHandler.java
+++ b/core/src/test/java/org/apache/oozie/util/db/TestOperationRetryHandler.java
@@ -25,13 +25,13 @@ import static org.mockito.BDDMockito.willAnswer;
 import static org.mockito.Mockito.mock;
 
 import java.util.concurrent.Callable;
+import java.util.function.Predicate;
 
 import org.apache.commons.lang3.mutable.MutableInt;
 import org.junit.Test;
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 
-import com.google.common.base.Predicate;
 
 /**
  * Conventions used in the tests:
@@ -44,7 +44,7 @@ public class TestOperationRetryHandler {
 
     private final Predicate<Throwable> testRetryPredicate = new Predicate<Throwable>() {
         @Override
-        public boolean apply(Throwable input) {
+        public boolean test(Throwable input) {
             return input.getClass() == RuntimeException.class;
         }
     };
diff --git a/core/src/test/java/org/apache/oozie/util/db/TestPersistenceExceptionSubclassFilterRetryPredicate.java b/core/src/test/java/org/apache/oozie/util/db/TestPersistenceExceptionSubclassFilterRetryPredicate.java
index 26dc13b..89d79e3 100644
--- a/core/src/test/java/org/apache/oozie/util/db/TestPersistenceExceptionSubclassFilterRetryPredicate.java
+++ b/core/src/test/java/org/apache/oozie/util/db/TestPersistenceExceptionSubclassFilterRetryPredicate.java
@@ -44,60 +44,60 @@ public class TestPersistenceExceptionSubclassFilterRetryPredicate {
 
     @Test
     public void testFilteredJPAExceptions() {
-        assertFalse(predicate.apply(new EntityExistsException()));
-        assertFalse(predicate.apply(new EntityNotFoundException()));
-        assertFalse(predicate.apply(new LockTimeoutException()));
-        assertFalse(predicate.apply(new NoResultException()));
-        assertFalse(predicate.apply(new NonUniqueResultException()));
-        assertFalse(predicate.apply(new OptimisticLockException()));
-        assertFalse(predicate.apply(new PessimisticLockException()));
-        assertFalse(predicate.apply(new QueryTimeoutException()));
-        assertFalse(predicate.apply(new TransactionRequiredException()));
+        assertFalse(predicate.test(new EntityExistsException()));
+        assertFalse(predicate.test(new EntityNotFoundException()));
+        assertFalse(predicate.test(new LockTimeoutException()));
+        assertFalse(predicate.test(new NoResultException()));
+        assertFalse(predicate.test(new NonUniqueResultException()));
+        assertFalse(predicate.test(new OptimisticLockException()));
+        assertFalse(predicate.test(new PessimisticLockException()));
+        assertFalse(predicate.test(new QueryTimeoutException()));
+        assertFalse(predicate.test(new TransactionRequiredException()));
     }
 
     @Test
     public void testNotFilteredJPAExceptions() {
-        assertTrue(predicate.apply(new RollbackException()));
-        assertTrue(predicate.apply(new PersistenceException()));
+        assertTrue(predicate.test(new RollbackException()));
+        assertTrue(predicate.test(new PersistenceException()));
     }
 
     @Test
     public void testNonJPAExceptions() {
-        assertTrue(predicate.apply(new IllegalStateException()));
-        assertTrue(predicate.apply(new Exception()));
+        assertTrue(predicate.test(new IllegalStateException()));
+        assertTrue(predicate.test(new Exception()));
     }
 
     @Test
     public void testNestedFilteredJPAExceptions() {
-        assertFalse(predicate.apply(wrapCause(new EntityExistsException())));
-        assertFalse(predicate.apply(wrapCause(new EntityNotFoundException())));
-        assertFalse(predicate.apply(wrapCause(new LockTimeoutException())));
-        assertFalse(predicate.apply(wrapCause(new NoResultException())));
-        assertFalse(predicate.apply(wrapCause(new NonUniqueResultException())));
-        assertFalse(predicate.apply(wrapCause(new OptimisticLockException())));
-        assertFalse(predicate.apply(wrapCause(new PessimisticLockException())));
-        assertFalse(predicate.apply(wrapCause(new QueryTimeoutException())));
-        assertFalse(predicate.apply(wrapCause(new TransactionRequiredException())));
+        assertFalse(predicate.test(wrapCause(new EntityExistsException())));
+        assertFalse(predicate.test(wrapCause(new EntityNotFoundException())));
+        assertFalse(predicate.test(wrapCause(new LockTimeoutException())));
+        assertFalse(predicate.test(wrapCause(new NoResultException())));
+        assertFalse(predicate.test(wrapCause(new NonUniqueResultException())));
+        assertFalse(predicate.test(wrapCause(new OptimisticLockException())));
+        assertFalse(predicate.test(wrapCause(new PessimisticLockException())));
+        assertFalse(predicate.test(wrapCause(new QueryTimeoutException())));
+        assertFalse(predicate.test(wrapCause(new TransactionRequiredException())));
     }
 
     @Test
     public void testNestedNotFilteredJPAExceptions() {
-        assertTrue(predicate.apply(wrapCause(new RollbackException())));
-        assertTrue(predicate.apply(wrapCause(new PersistenceException())));
+        assertTrue(predicate.test(wrapCause(new RollbackException())));
+        assertTrue(predicate.test(wrapCause(new PersistenceException())));
     }
 
     @Test
     public void testNestedNonJPAExceptions() {
-        assertTrue(predicate.apply(wrapCause(new RuntimeException())));
-        assertTrue(predicate.apply(wrapCause(new Exception())));
+        assertTrue(predicate.test(wrapCause(new RuntimeException())));
+        assertTrue(predicate.test(wrapCause(new Exception())));
     }
 
     @Test
     public void testPlainJPAExecutorExceptionWithMessage() {
-        assertFalse(predicate.apply(wrapMessage("No WorkflowJobBean found in database")));
-        assertFalse(predicate.apply(wrapMessage("Some other message")));
+        assertFalse(predicate.test(wrapMessage("No WorkflowJobBean found in database")));
+        assertFalse(predicate.test(wrapMessage("Some other message")));
 
-        assertFalse(predicate.apply(wrapMessageRuntime("Some runtime problem")));
+        assertFalse(predicate.test(wrapMessageRuntime("Some runtime problem")));
     }
 
     private JPAExecutorException wrapCause(final Throwable cause) {
diff --git a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/SourceDataFactory.java b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/SourceDataFactory.java
index 4def062..bd04736 100644
--- a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/SourceDataFactory.java
+++ b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/mapping/SourceDataFactory.java
@@ -18,7 +18,6 @@
 
 package org.apache.oozie.fluentjob.api.mapping;
 
-import com.google.common.collect.Lists;
 import org.apache.oozie.fluentjob.api.generated.workflow.CREDENTIALS;
 import org.apache.oozie.fluentjob.api.workflow.ConfigurationEntry;
 import org.apache.oozie.fluentjob.api.workflow.Credentials;
@@ -26,13 +25,15 @@ import org.apache.oozie.fluentjob.api.workflow.CredentialsBuilder;
 
 import static org.junit.Assert.assertEquals;
 
+import java.util.Collections;
+
 class SourceDataFactory {
 
     Credentials createCredentials() {
         return CredentialsBuilder.create()
                 .withCredential("hbase", "hbase")
                 .withCredential("hive2", "hive2",
-                        Lists.newArrayList(new ConfigurationEntry("jdbcUrl", "jdbc://localhost/hive2")))
+                        Collections.singletonList(new ConfigurationEntry("jdbcUrl", "jdbc://localhost/hive2")))
                 .build();
     }
 
diff --git a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestCredentialsBuilder.java b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestCredentialsBuilder.java
index 4d3dce3..3b1e7b7 100644
--- a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestCredentialsBuilder.java
+++ b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestCredentialsBuilder.java
@@ -18,11 +18,12 @@
 
 package org.apache.oozie.fluentjob.api.workflow;
 
-import com.google.common.collect.Lists;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
+import java.util.Collections;
+
 public class TestCredentialsBuilder {
 
     @Test
@@ -30,7 +31,7 @@ public class TestCredentialsBuilder {
         final Credentials credentials = CredentialsBuilder.create()
                 .withCredential("hive2",
                         "hive",
-                        Lists.newArrayList(
+                        Collections.singletonList(
                                 new ConfigurationEntry("jdbcUrl", "jdbc://localhost/hive")))
                 .build();
 
@@ -45,7 +46,7 @@ public class TestCredentialsBuilder {
         final Credentials credentials = CredentialsBuilder.create()
                 .withCredential("hive2",
                         "hive",
-                        Lists.newArrayList(
+                        Collections.singletonList(
                                 new ConfigurationEntry("jdbcUrl", "jdbc://localhost/hive")))
                 .build();
 
diff --git a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestWorkflowBuilder.java b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestWorkflowBuilder.java
index 29caf27..28ce884 100644
--- a/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestWorkflowBuilder.java
+++ b/fluent-job/fluent-job-api/src/test/java/org/apache/oozie/fluentjob/api/workflow/TestWorkflowBuilder.java
@@ -18,7 +18,6 @@
 
 package org.apache.oozie.fluentjob.api.workflow;
 
-import com.google.common.collect.Lists;
 import org.apache.oozie.fluentjob.api.action.MapReduceActionBuilder;
 import org.apache.oozie.fluentjob.api.action.Node;
 import org.apache.oozie.fluentjob.api.action.ShellAction;
@@ -28,6 +27,7 @@ import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.Set;
 
@@ -241,7 +241,7 @@ public class TestWorkflowBuilder {
         final Workflow workflow = new WorkflowBuilder()
                 .withDagContainingNode(hbaseAction)
                 .withCredentials(CredentialsBuilder.create()
-                        .withCredential("hive2", "hive2", Lists.newArrayList(
+                        .withCredential("hive2", "hive2", Collections.singletonList(
                                 new ConfigurationEntry("jdbcUrl", "jdbc://localhost/hive")))
                         .build())
                 .build();
diff --git a/release-log.txt b/release-log.txt
index a5df3d6..177a1b8 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 5.2.0 release (trunk - unreleased)
 
+OOZIE-3488 Migrate from guava classes to the base Java implementations (zsombor via asalamon74)
 OOZIE-3481 Upgrade Jetty to 9.3.27 (asalamon74 via kmarton)
 OOZIE-3464 Use UTF8 charset instead of default one (nobigo via asalamon74)
 OOZIE-3478 Oozie needs execute permission on the submitting users home directory (asalamon74 via gezapeti, pbacsko, kmarton)
diff --git a/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAM.java b/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAM.java
index 6df151c..801a0ae 100644
--- a/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAM.java
+++ b/sharelib/oozie/src/main/java/org/apache/oozie/action/hadoop/LauncherAM.java
@@ -29,6 +29,7 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Properties;
 import java.util.StringTokenizer;
 
@@ -47,7 +48,6 @@ import org.apache.hadoop.yarn.client.api.async.AMRMClientAsync;
 import org.apache.hadoop.yarn.exceptions.YarnException;
 
 import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
 import org.apache.hadoop.yarn.security.AMRMTokenIdentifier;
 import org.apache.oozie.action.hadoop.security.LauncherSecurityManager;
@@ -529,7 +529,7 @@ public class LauncherAM {
 
     private void updateActionDataWithFailure(ErrorHolder eHolder, Map<String, String> actionData) {
         if (eHolder.getErrorCause() != null && eHolder.getErrorCause().getMessage() != null) {
-            if (Objects.equal(eHolder.getErrorMessage(), eHolder.getErrorCause().getMessage())) {
+            if (Objects.equals(eHolder.getErrorMessage(), eHolder.getErrorCause().getMessage())) {
                 eHolder.setErrorMessage(eHolder.getErrorMessage());
             } else {
                 eHolder.setErrorMessage(eHolder.getErrorMessage() + ", " + eHolder.getErrorCause().getMessage());
diff --git a/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestLauncherAMUtils.java b/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestLauncherAMUtils.java
index 43c4914..4d2f426 100644
--- a/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestLauncherAMUtils.java
+++ b/sharelib/oozie/src/test/java/org/apache/oozie/action/hadoop/TestLauncherAMUtils.java
@@ -25,29 +25,16 @@ import static org.mockito.BDDMockito.given;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Matchers.anyBoolean;
 
-import java.io.File;
-import java.io.FileWriter;
-import java.io.Writer;
-import java.net.URI;
 import java.util.Arrays;
 import java.util.List;
-import java.util.Map;
 
-import org.apache.commons.io.FileUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.filecache.DistributedCache;
-import org.apache.hadoop.fs.FileSystem;
-import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.mapred.JobClient;
-import org.apache.hadoop.mapred.JobConf;
-import org.apache.hadoop.mapred.RunningJob;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.runners.MockitoJUnitRunner;
 
-import com.google.common.collect.Lists;
-
 @RunWith(MockitoJUnitRunner.class)
 public class TestLauncherAMUtils {
     @Mock
@@ -55,7 +42,7 @@ public class TestLauncherAMUtils {
 
     @Test
     public void testArgsHandlingWithoutNullsAndNullsNotAllowed() {
-       setupConf(Lists.newArrayList("a", "b", "c"));
+       setupConf(Arrays.asList("a", "b", "c"));
        setEnableNullArgsAllowed(false);
 
        String args[] = LauncherAMUtils.getMainArguments(conf);
@@ -65,7 +52,7 @@ public class TestLauncherAMUtils {
 
     @Test
     public void testHandlingWhenArgsContainNullsAndNullsNotAllowed() {
-        setupConf(Lists.newArrayList("a", null, "b", null, "c"));
+        setupConf(Arrays.asList("a", null, "b", null, "c"));
         setEnableNullArgsAllowed(false);
 
         String args[] = LauncherAMUtils.getMainArguments(conf);
@@ -75,7 +62,7 @@ public class TestLauncherAMUtils {
 
     @Test
     public void testArgsHandlingWhenArgsContainsNullsOnlyAndNullsNotAllowed() {
-        setupConf(Lists.<String>newArrayList(null, null, null));
+        setupConf(Arrays.asList(null, null, null));
         setEnableNullArgsAllowed(false);
 
         String args[] = LauncherAMUtils.getMainArguments(conf);
@@ -85,7 +72,7 @@ public class TestLauncherAMUtils {
 
     @Test
     public void testArgsHandlingWhenArgsContainsOneNullAndNullsNotAllowed() {
-        setupConf(Lists.<String>newArrayList((String) null));
+        setupConf(Arrays.asList((String) null));
         setEnableNullArgsAllowed(false);
 
         String args[] = LauncherAMUtils.getMainArguments(conf);
@@ -95,7 +82,7 @@ public class TestLauncherAMUtils {
 
     @Test
     public void testHandlingWhenArgsContainNullsAndNullAllowed() {
-        setupConf(Lists.newArrayList("a", null, "b", null, "c"));
+        setupConf(Arrays.asList("a", null, "b", null, "c"));
         setEnableNullArgsAllowed(true);
 
         String args[] = LauncherAMUtils.getMainArguments(conf);
@@ -105,7 +92,7 @@ public class TestLauncherAMUtils {
 
     @Test
     public void testArgsHandlingWhenArgsContainsOneNullAndNullsAllowed() {
-        setupConf(Lists.<String>newArrayList((String) null));
+        setupConf(Arrays.asList((String) null));
         setEnableNullArgsAllowed(true);
 
         String args[] = LauncherAMUtils.getMainArguments(conf);
diff --git a/sharelib/spark/src/test/java/org/apache/oozie/action/hadoop/TestSparkArgsExtractor.java b/sharelib/spark/src/test/java/org/apache/oozie/action/hadoop/TestSparkArgsExtractor.java
index e86a299..496805b 100644
--- a/sharelib/spark/src/test/java/org/apache/oozie/action/hadoop/TestSparkArgsExtractor.java
+++ b/sharelib/spark/src/test/java/org/apache/oozie/action/hadoop/TestSparkArgsExtractor.java
@@ -18,7 +18,6 @@
 
 package org.apache.oozie.action.hadoop;
 
-import com.google.common.collect.Lists;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.junit.After;
@@ -62,7 +61,7 @@ public class TestSparkArgsExtractor {
 
         new SparkArgsExtractor(actionConf).appendOoziePropertiesToSparkConf(sparkArgs);
 
-        assertEquals(Lists.newArrayList("--conf", "spark.oozie.bar=bar"), sparkArgs);
+        assertEquals(Arrays.asList("--conf", "spark.oozie.bar=bar"), sparkArgs);
     }
 
     @Test
@@ -84,7 +83,7 @@ public class TestSparkArgsExtractor {
         final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs);
 
         assertEquals("Spark args mismatch",
-                Lists.newArrayList("--master", "local[*]",
+                Arrays.asList("--master", "local[*]",
                         "--deploy-mode", "client",
                         "--name", "Spark Copy File",
                         "--class", "org.apache.oozie.example.SparkFileCopy",
@@ -128,7 +127,7 @@ public class TestSparkArgsExtractor {
         final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs);
 
         assertEquals("Spark args mismatch",
-                Lists.newArrayList("--master", "yarn",
+                Arrays.asList("--master", "yarn",
                         "--deploy-mode", "client",
                         "--name", "Spark Copy File",
                         "--class", "org.apache.oozie.example.SparkFileCopy",
@@ -172,7 +171,7 @@ public class TestSparkArgsExtractor {
         final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs);
 
         assertEquals("Spark args mismatch",
-                Lists.newArrayList("--master", "yarn",
+                Arrays.asList("--master", "yarn",
                         "--deploy-mode", "client",
                         "--name", "Spark Copy File",
                         "--class", "org.apache.oozie.example.SparkFileCopy",
@@ -210,7 +209,7 @@ public class TestSparkArgsExtractor {
         final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs);
 
         assertEquals("Spark args mismatch",
-                Lists.newArrayList("--master", "yarn",
+                Arrays.asList("--master", "yarn",
                         "--deploy-mode", "client",
                         "--name", "Spark Copy File",
                         "--class", "org.apache.oozie.example.SparkFileCopy",
@@ -249,7 +248,7 @@ public class TestSparkArgsExtractor {
         final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs);
 
         assertEquals("Spark args mismatch",
-                Lists.newArrayList("--master", "yarn",
+                Arrays.asList("--master", "yarn",
                         "--deploy-mode", "client",
                         "--name", "Spark Copy File",
                         "--class", "org.apache.oozie.example.SparkFileCopy",
@@ -293,7 +292,7 @@ public class TestSparkArgsExtractor {
         final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(mainArgs);
 
         assertEquals("Spark args mismatch",
-                Lists.newArrayList("--master", "yarn",
+                Arrays.asList("--master", "yarn",
                         "--deploy-mode", "client",
                         "--name", "Spark Copy File",
                         "--class", "org.apache.oozie.example.SparkFileCopy",
@@ -353,7 +352,7 @@ public class TestSparkArgsExtractor {
         assertEquals("property foo3 should've been overwritten by user-defined foo.properties",
                 "barbar", p.get("foo3"));
         assertEquals("Spark args mismatch",
-                Lists.newArrayList("--master", "yarn", "--deploy-mode", "client", "--name", "Spark Copy File",
+                Arrays.asList("--master", "yarn", "--deploy-mode", "client", "--name", "Spark Copy File",
                         "--class", "org.apache.oozie.example.SparkFileCopy", "--conf",
                         "spark.driver.extraJavaOptions=-Xmx234m -Dlog4j.configuration=spark-log4j.properties", "--conf",
                         "spark.executor.extraClassPath=$PWD/*", "--conf", "spark.driver.extraClassPath=$PWD/*", "--conf",
@@ -387,17 +386,17 @@ public class TestSparkArgsExtractor {
         final List<String> sparkArgs = new SparkArgsExtractor(actionConf).extract(new String[0]);
 
         assertContainsSublist(
-                Lists.newArrayList("--conf", "spark.executor.extraClassPath=/etc/hbase/conf:/etc/hive/conf:$PWD/*"),
+                Arrays.asList("--conf", "spark.executor.extraClassPath=/etc/hbase/conf:/etc/hive/conf:$PWD/*"),
                 sparkArgs);
         assertContainsSublist(
-                Lists.newArrayList("--conf", "spark.driver.extraClassPath=/etc/hbase/conf:/etc/hive/conf:$PWD/*"),
+                Arrays.asList("--conf", "spark.driver.extraClassPath=/etc/hbase/conf:/etc/hive/conf:$PWD/*"),
                 sparkArgs);
         assertContainsSublist(
-                Lists.newArrayList("--conf", "spark.executor.extraJavaOptions=-XX:+UseG1GC -XX:+PrintGC " +
+                Arrays.asList("--conf", "spark.executor.extraJavaOptions=-XX:+UseG1GC -XX:+PrintGC " +
                         "-XX:+UnlockExperimentalVMOptions -Dlog4j.configuration=spark-log4j.properties"),
                 sparkArgs);
         assertContainsSublist(
-                Lists.newArrayList("--conf", "spark.driver.extraJavaOptions=-XX:+UseG1GC -XX:+PrintGC " +
+                Arrays.asList("--conf", "spark.driver.extraJavaOptions=-XX:+UseG1GC -XX:+PrintGC " +
                         "-XX:+UnlockExperimentalVMOptions -Dlog4j.configuration=spark-log4j.properties"),
                 sparkArgs);
     }
diff --git a/tools/src/main/java/org/apache/oozie/tools/OozieDBImportCLI.java b/tools/src/main/java/org/apache/oozie/tools/OozieDBImportCLI.java
index 3db590d..f91a453 100644
--- a/tools/src/main/java/org/apache/oozie/tools/OozieDBImportCLI.java
+++ b/tools/src/main/java/org/apache/oozie/tools/OozieDBImportCLI.java
@@ -19,7 +19,6 @@
 package org.apache.oozie.tools;
 
 import com.google.common.base.Strings;
-import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 import com.google.gson.Gson;
 
@@ -58,6 +57,7 @@ import java.sql.Connection;
 import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.ListIterator;
@@ -308,7 +308,7 @@ public class OozieDBImportCLI {
         final BatchEntityPersister<E> batchEntityPersister = new BatchEntityPersister<>(entityClass,
                 importFileName, batchTransactionHandler);
 
-        final List<E> batch = Lists.newArrayList();
+        final List<E> batch = new ArrayList<>();
         final Gson gson = new Gson();
         final ZipEntry importEntry = mainZipFile.getEntry(importFileName);
 
@@ -428,7 +428,7 @@ public class OozieDBImportCLI {
         private EntityTransaction currentTransaction;
         private int totalPersistedCount = 0;
         private int totalSkippedCount = 0;
-        private List<E> pendingEntities = Lists.newArrayList();
+        private List<E> pendingEntities = new ArrayList<>();
 
         /**
          * Begin recording the {@link EntityTransaction}