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

daim pushed a commit to branch OAK-11774
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit b9a23bf1c3a654aef07041307bee9d739bacc105
Author: rishabhdaim <[email protected]>
AuthorDate: Thu Jul 10 10:42:47 2025 +0530

    OAK-11774 : removed usage of guava splitter
---
 .../suites/ScalabilityNodeRelationshipSuite.java      | 10 ++++++----
 .../oak/scalability/suites/ScalabilityNodeSuite.java  | 10 ++++++----
 .../jackrabbit/oak/scalability/ScalabilityRunner.java |  8 +++++---
 .../scalability/suites/ScalabilityAbstractSuite.java  | 10 ++++++----
 .../plugins/blob/datastore/SharedDataStoreUtils.java  |  9 ++++++---
 .../jackrabbit/oak/commons/FileIOUtilsTest.java       |  7 +++++--
 .../oak/commons/FileLineDifferenceIteratorTest.java   |  4 ++--
 .../oak/plugins/index/AsyncIndexUpdate.java           | 11 ++++++-----
 .../jackrabbit/oak/query/SimpleExcerptProvider.java   | 10 ++++++----
 .../oak/query/ast/NotFullTextSearchImpl.java          | 10 ++++++----
 .../apache/jackrabbit/oak/run/osgi/ConfigTracker.java |  8 ++++++--
 .../org/apache/jackrabbit/oak/fixture/OakFixture.java |  5 +++--
 .../jackrabbit/oak/run/DataStoreCheckCommand.java     | 17 +++++++++++++----
 .../apache/jackrabbit/oak/run/DataStoreCommand.java   | 19 ++++++++++++-------
 .../oak/run/MetricsExporterFixtureProvider.java       | 17 ++++++++++++++---
 .../jackrabbit/oak/run/DataStoreCommandTest.java      | 14 ++++++++------
 .../authorization/permission/PermissionsTest.java     |  5 ++---
 .../jackrabbit/oak/segment/file/JournalReader.java    | 11 +++++++++--
 .../jackrabbit/oak/segment/file/JournalEntryTest.java |  5 +++--
 .../plugins/document/memory/MemoryDocumentStore.java  |  8 ++++++--
 .../oak/plugins/document/ExternalChangesTest.java     |  5 ++---
 .../oak/plugins/document/MongoBlobGCTest.java         |  6 ++++--
 22 files changed, 136 insertions(+), 73 deletions(-)

diff --git 
a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java
 
b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java
index d431983013..e922b28798 100644
--- 
a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java
+++ 
b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeRelationshipSuite.java
@@ -19,12 +19,14 @@
 package org.apache.jackrabbit.oak.scalability.suites;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
 import java.util.UUID;
+import java.util.stream.Collectors;
 
 import javax.jcr.Node;
 import javax.jcr.NodeIterator;
@@ -49,8 +51,6 @@ import org.apache.jackrabbit.util.Text;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
-
 /**
  * The suite test will incrementally increase the load and execute searches.
  * Each test run thus adds nodes and executes different benchmarks. This way 
we measure time
@@ -99,8 +99,10 @@ public class ScalabilityNodeRelationshipSuite extends 
ScalabilityNodeSuite {
     public static final String OBJECT_ID = "objectId";
     public static final String TARGET = "target";
 
-    protected static final List<String> NODE_LEVELS = 
Splitter.on(",").trimResults()
-        .omitEmptyStrings().splitToList(System.getProperty("nodeLevels", 
"10,5,2,1"));
+    protected static final List<String> NODE_LEVELS = 
Arrays.stream(System.getProperty("nodeLevels", "10,5,2,1").split(","))
+            .map(String::trim)
+            .filter(s -> !s.isEmpty())
+            .collect(Collectors.toList());
 
     protected static final List<String> NODE_LEVELS_DEFAULT = 
List.of("10","5","2","1");
 
diff --git 
a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java
 
b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java
index 8ff981683c..c16808e770 100644
--- 
a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java
+++ 
b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java
@@ -19,6 +19,7 @@
 package org.apache.jackrabbit.oak.scalability.suites;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.HashMap;
 import java.util.List;
@@ -26,6 +27,7 @@ import java.util.Map;
 import java.util.Random;
 import java.util.TimeZone;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 import javax.jcr.Node;
 import javax.jcr.PropertyType;
@@ -34,8 +36,6 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.jackrabbit.guava.common.base.Splitter;
-
 import 
org.apache.commons.math3.stat.descriptive.SynchronizedDescriptiveStatistics;
 import org.apache.jackrabbit.commons.JcrUtils;
 import org.apache.jackrabbit.oak.Oak;
@@ -108,8 +108,10 @@ public class ScalabilityNodeSuite extends 
ScalabilityAbstractSuite {
     /**
      * Controls the number of nodes at each level
      */
-    protected static final List<String> NODE_LEVELS = 
Splitter.on(",").trimResults()
-            .omitEmptyStrings().splitToList(System.getProperty("nodeLevels", 
"10,5,2"));
+    protected static final List<String> NODE_LEVELS = 
Arrays.stream(System.getProperty("nodeLevels", "10,5,2").split(","))
+            .map(String::trim)
+            .filter(s -> !s.isEmpty())
+            .collect(Collectors.toList());
 
     /**
      * Controls the number of concurrent tester threads
diff --git 
a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityRunner.java
 
b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityRunner.java
index 2b69733fd6..cc31f5bbd5 100644
--- 
a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityRunner.java
+++ 
b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/ScalabilityRunner.java
@@ -29,8 +29,8 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import joptsimple.OptionParser;
 import joptsimple.OptionSet;
 import org.apache.commons.io.FileUtils;
@@ -140,9 +140,11 @@ public class ScalabilityRunner {
         Map<String, List<String>> argmap = new HashMap<>();
         // Split the args to get suites and benchmarks (i.e. 
suite:benchmark1,benchmark2)
         for(String arg : argset) {
-            List<String> tokens = Splitter.on(":").limit(2).splitToList(arg);
+            List<String> tokens = Arrays.stream(arg.split(":", 
2)).collect(Collectors.toList());
             if (tokens.size() > 1) {
-                argmap.put(tokens.get(0), 
Splitter.on(",").trimResults().splitToList(tokens.get(1)));
+                argmap.put(tokens.get(0), 
Arrays.stream(tokens.get(1).split(","))
+                        .map(String::trim)
+                        .collect(Collectors.toList()));
             } else {
                 argmap.put(tokens.get(0), null);
             }
diff --git 
a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java
 
b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java
index 4b8bcfb98c..b65d26ef36 100644
--- 
a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java
+++ 
b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityAbstractSuite.java
@@ -20,6 +20,7 @@ package org.apache.jackrabbit.oak.scalability.suites;
 
 import java.io.PrintStream;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -29,6 +30,7 @@ import java.util.Random;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
+import java.util.stream.Collectors;
 
 import javax.jcr.Credentials;
 import javax.jcr.Repository;
@@ -36,8 +38,6 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.SimpleCredentials;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
-
 import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
 import 
org.apache.commons.math3.stat.descriptive.SynchronizedDescriptiveStatistics;
 import org.apache.jackrabbit.oak.benchmark.CSVResultGenerator;
@@ -102,8 +102,10 @@ public abstract class ScalabilityAbstractSuite implements 
ScalabilitySuite, CSVR
     /**
      * Controls the incremental load for each iteration
      */
-    protected static final List<String> INCREMENTS = 
Splitter.on(",").trimResults()
-                    
.omitEmptyStrings().splitToList(System.getProperty("increments", "1,2,5"));
+    protected static final List<String> INCREMENTS = 
Arrays.stream(System.getProperty("increments", "1,2,5").split(","))
+            .map(String::trim)
+            .filter(s -> !s.isEmpty())
+            .collect(Collectors.toList());
 
     protected static final Credentials CREDENTIALS = new 
SimpleCredentials("admin", "admin"
             .toCharArray());
diff --git 
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils.java
 
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils.java
index 7a7b560c8e..184ed21696 100644
--- 
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils.java
+++ 
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils.java
@@ -16,13 +16,13 @@
  */
 package org.apache.jackrabbit.oak.plugins.blob.datastore;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Set;
 import java.util.stream.Collectors;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.guava.common.collect.FluentIterable;
 import org.apache.jackrabbit.core.data.DataRecord;
 import org.apache.jackrabbit.oak.commons.collections.SetUtils;
@@ -117,8 +117,11 @@ public class SharedDataStoreUtils {
         }
 
         public String getIdFromName(String name) {
-            return Splitter.on("_").limit(2).splitToList(
-                Splitter.on(DELIM).limit(2).splitToList(name).get(1)).get(0);
+            return Arrays.stream(name.split(DELIM, 2))
+                    .skip(1)
+                    .findFirst()
+                    .map(s -> s.split("_", 2)[0])
+                    .orElse(null);
         }
 
         public String getNameFromId(String id) {
diff --git 
a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
 
b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
index 3060ea5199..3dfda0e7a6 100644
--- 
a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
+++ 
b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileIOUtilsTest.java
@@ -59,7 +59,6 @@ import java.util.Random;
 import java.util.Set;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.oak.commons.collections.SetUtils;
 import org.apache.jackrabbit.oak.commons.sort.EscapeUtils;
 import org.jetbrains.annotations.Nullable;
@@ -96,7 +95,11 @@ public class FileIOUtilsTest {
         File f = folder.newFile();
         int count = writeStrings(added.iterator(), f, false, new 
java.util.function.Function<String, String>() {
             @Nullable @Override public String apply(@Nullable String input) {
-                return 
Splitter.on("-").trimResults().omitEmptyStrings().splitToList(input).get(0);
+                return Arrays.stream(input.split("-"))
+                        .map(String::trim)
+                        .filter(s -> !s.isEmpty())
+                        .findFirst()
+                        .orElse(null);
             }
         }, null, null);
         assertEquals(added.size(), count);
diff --git 
a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileLineDifferenceIteratorTest.java
 
b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileLineDifferenceIteratorTest.java
index c09d39a6c2..c2a7761ab9 100644
--- 
a/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileLineDifferenceIteratorTest.java
+++ 
b/oak-commons/src/test/java/org/apache/jackrabbit/oak/commons/FileLineDifferenceIteratorTest.java
@@ -33,9 +33,9 @@ import java.util.List;
 import java.util.Random;
 import java.util.TreeSet;
 import java.util.function.Function;
+import java.util.stream.Collectors;
 
 import org.apache.commons.io.LineIterator;
-import org.apache.jackrabbit.guava.common.base.Splitter;
 
 import org.apache.jackrabbit.oak.commons.collections.ListUtils;
 import org.apache.jackrabbit.oak.commons.io.FileLineDifferenceIterator;
@@ -172,7 +172,7 @@ public class FileLineDifferenceIteratorTest {
     }
 
     private static LineIterator lineItr(String seq) {
-        Iterable<String> seqItr = Splitter.on(',').trimResults().split(seq);
+        Iterable<String> seqItr = 
Arrays.stream(seq.split(",")).map(String::trim).collect(Collectors.toList());
         String lines = String.join(System.getProperty("line.separator"), 
seqItr);
         return new LineIterator(new StringReader(lines));
     }
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
index 4ef79bd8f1..f27f0c05d7 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
@@ -28,6 +28,7 @@ import static 
org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.MISSING_NO
 
 import java.io.Closeable;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Collections;
 import java.util.HashSet;
@@ -39,6 +40,7 @@ import java.util.concurrent.Semaphore;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicReference;
+import java.util.stream.Collectors;
 
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.CompositeDataSupport;
@@ -56,7 +58,6 @@ import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.Type;
 import org.apache.jackrabbit.oak.api.jmx.IndexStatsMBean;
 import org.apache.jackrabbit.oak.commons.PathUtils;
-import org.apache.jackrabbit.oak.commons.collections.SetUtils;
 import org.apache.jackrabbit.oak.commons.jmx.AnnotatedStandardMBean;
 import org.apache.jackrabbit.oak.commons.time.Stopwatch;
 import org.apache.jackrabbit.oak.plugins.commit.AnnotatingConflictHandler;
@@ -99,8 +100,6 @@ import org.jetbrains.annotations.Nullable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
-
 public class AsyncIndexUpdate implements Runnable, Closeable {
     /**
      * Name of service property which determines the name of Async task
@@ -1448,8 +1447,10 @@ public class AsyncIndexUpdate implements Runnable, 
Closeable {
 
         @Override
         public void splitIndexingTask(String paths, String newIndexTaskName) {
-            splitIndexingTask(SetUtils.toSet(Splitter.on(",").trimResults()
-                    .omitEmptyStrings().split(paths)), newIndexTaskName);
+            splitIndexingTask(Arrays.stream(paths.split(","))
+                    .map(String::trim)
+                    .filter(s -> !s.isEmpty())
+                    .collect(Collectors.toSet()), newIndexTaskName);
         }
 
         private void splitIndexingTask(Set<String> paths,
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SimpleExcerptProvider.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SimpleExcerptProvider.java
index dec486e782..68f37cdd48 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SimpleExcerptProvider.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/SimpleExcerptProvider.java
@@ -16,13 +16,13 @@
  */
 package org.apache.jackrabbit.oak.query;
 
+import java.util.Arrays;
 import java.util.BitSet;
 import java.util.HashSet;
 import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
-
-import org.apache.jackrabbit.guava.common.base.Splitter;
+import java.util.stream.Collectors;
 
 import org.apache.jackrabbit.oak.api.PropertyState;
 import org.apache.jackrabbit.oak.api.PropertyValue;
@@ -297,9 +297,11 @@ class SimpleExcerptProvider {
     }
 
     static PropertyValue getExcerpt(PropertyValue value) {
-        Splitter listSplitter = 
Splitter.on(',').trimResults().omitEmptyStrings();
         StringBuilder excerpt = new StringBuilder(EXCERPT_BEGIN);
-        for (String v : listSplitter.splitToList(value.toString())) {
+        for (String v : Arrays.stream(value.toString().split(","))
+                .map(String::trim)
+                .filter(s -> !s.isEmpty())
+                .collect(Collectors.toList())) {
             excerpt.append(v);
         }
         excerpt.append(EXCERPT_END);
diff --git 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NotFullTextSearchImpl.java
 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NotFullTextSearchImpl.java
index 6506fc5eef..79fdda47ee 100644
--- 
a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NotFullTextSearchImpl.java
+++ 
b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/ast/NotFullTextSearchImpl.java
@@ -18,17 +18,16 @@ package org.apache.jackrabbit.oak.query.ast;
 
 import static java.util.Objects.requireNonNull;
 
+import java.util.Arrays;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 import org.apache.jackrabbit.oak.api.PropertyValue;
 import org.apache.jackrabbit.oak.query.index.FilterImpl;
 import org.jetbrains.annotations.NotNull;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
-
 public class NotFullTextSearchImpl extends FullTextSearchImpl {
     private static final Set<String> KEYWORDS = Set.of("or");
-    private static final Splitter SPACE_SPLITTER = Splitter.on(' 
').omitEmptyStrings().trimResults();
 
     public NotFullTextSearchImpl(String selectorName, String propertyName,
                                  StaticOperandImpl fullTextSearchExpression) {
@@ -47,7 +46,10 @@ public class NotFullTextSearchImpl extends 
FullTextSearchImpl {
 
     @Override
     String getRawText(PropertyValue v) {
-        Iterable<String> terms = SPACE_SPLITTER.split(super.getRawText(v));
+        Iterable<String> terms = Arrays.stream(super.getRawText(v).split(" "))
+                .map(String::trim)
+                .filter(s -> !s.isEmpty())
+                .collect(Collectors.toList());
         StringBuilder raw = new StringBuilder();
         for (String term : terms) {
             if (isKeyword(term)) {
diff --git 
a/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/ConfigTracker.java
 
b/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/ConfigTracker.java
index 5999697f60..6ba8b5126a 100644
--- 
a/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/ConfigTracker.java
+++ 
b/oak-pojosr/src/main/java/org/apache/jackrabbit/oak/run/osgi/ConfigTracker.java
@@ -22,12 +22,13 @@ import java.io.File;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.oak.commons.collections.SetUtils;
 import org.json.simple.JSONObject;
 import org.json.simple.JSONValue;
@@ -104,7 +105,10 @@ class ConfigTracker extends 
ServiceTracker<ConfigurationAdmin, ConfigurationAdmi
             return configs;
         }
 
-        List<String> files = 
Splitter.on(',').trimResults().omitEmptyStrings().splitToList(jsonFilePath);
+        List<String> files = Arrays.stream(jsonFilePath.split(","))
+                .map(String::trim)
+                .filter(s -> !s.isEmpty())
+                .collect(Collectors.toList());
         for (String filePath : files) {
             File jsonFile = new File(filePath);
             if (!jsonFile.exists()) {
diff --git 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
index b733dbe874..9747655e5e 100644
--- 
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
+++ 
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/OakFixture.java
@@ -19,16 +19,17 @@ package org.apache.jackrabbit.oak.fixture;
 import java.io.File;
 import java.lang.management.ManagementFactory;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.function.Predicate;
+import java.util.stream.Collectors;
 
 import javax.sql.DataSource;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.oak.Oak;
 import org.apache.jackrabbit.oak.api.blob.BlobAccessProvider;
 import org.apache.jackrabbit.oak.commons.StringUtils;
@@ -542,7 +543,7 @@ public abstract class OakFixture {
 
             Set<String> paths = new HashSet<>();
             if (persistentCacheIncludes != null) {
-                for (String p : 
Splitter.on(',').split(persistentCacheIncludes)) {
+                for (String p : 
Arrays.stream(persistentCacheIncludes.split(",")).collect(Collectors.toList())) 
{
                     p = p != null ? StringUtils.emptyToNull(p.trim()) : null;
                     if (p != null) {
                         paths.add(p);
diff --git 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCheckCommand.java
 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCheckCommand.java
index bbc303292c..dcc6a0219e 100644
--- 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCheckCommand.java
+++ 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCheckCommand.java
@@ -42,8 +42,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import com.mongodb.MongoClient;
 import com.mongodb.MongoClientURI;
 import com.mongodb.MongoURI;
@@ -312,7 +312,10 @@ public class DataStoreCheckCommand implements Command {
     }
 
     static String encodeId(String id, String dsType) {
-        List<String> idLengthSepList = 
Splitter.on(HASH).trimResults().omitEmptyStrings().splitToList(id);
+        List<String> idLengthSepList = Arrays.stream(id.split(HASH))
+                .map(String::trim)
+                .filter(s -> !s.isEmpty())
+                .collect(Collectors.toList());
         String blobId = idLengthSepList.get(0);
 
         if (dsType.equals(FDS)) {
@@ -325,9 +328,15 @@ public class DataStoreCheckCommand implements Command {
     }
 
     private static String decodeId(String id) {
-        List<String> list = 
Splitter.on(System.getProperty("file.separator")).trimResults().omitEmptyStrings().splitToList(id);
+        List<String> list = 
Arrays.stream(id.split(System.getProperty("file.separator")))
+                .map(String::trim)
+                .filter(s -> !s.isEmpty())
+                .collect(Collectors.toList());
         String pathStrippedId = list.get(list.size() -1);
-        return String.join("", 
Splitter.on(DASH).omitEmptyStrings().trimResults().splitToList(pathStrippedId));
+        return Arrays.stream(pathStrippedId.split(DASH))
+                .map(String::trim)
+                .filter(s -> !s.isEmpty())
+                .collect(Collectors.joining(""));
     }
 
     static class FileRegister implements Closeable {
diff --git 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCommand.java 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCommand.java
index 947e7b7a4c..c9e84e29c7 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCommand.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/DataStoreCommand.java
@@ -39,7 +39,6 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import joptsimple.OptionParser;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.LineIterator;
@@ -538,8 +537,10 @@ public class DataStoreCommand implements Command {
 
         private void getInclusionListFromRegex(NodeState rootState, String 
rootPath, String inclusionRegex,
             Map<NodeState, String> inclusionNodeStates) {
-            Splitter delimSplitter = 
Splitter.on("/").trimResults().omitEmptyStrings();
-            List<String> pathElementList = 
delimSplitter.splitToList(inclusionRegex);
+            List<String> pathElementList = 
Arrays.stream(inclusionRegex.split("/"))
+                    .map(String::trim)
+                    .filter(s -> !s.isEmpty())
+                    .collect(Collectors.toList());
 
             // Get the first pathElement from the regexPath
             String pathElement = pathElementList.get(0);
@@ -574,8 +575,6 @@ public class DataStoreCommand implements Command {
                 return s1.split(DELIM)[0].compareTo(s2.split(DELIM)[0]);
             }
         };
-        private final static Splitter delimSplitter = 
Splitter.on(DELIM).trimResults().omitEmptyStrings();
-
         private final BlobStoreOptions optionBean;
         private final BlobStoreOptions.Type blobStoreType;
         private final File outDir;
@@ -638,11 +637,17 @@ public class DataStoreCommand implements Command {
             // Line would be like 
b47b58169f121822cd4a0a0a153ba5910e581ad2bc450b6af7e51e6214c2b173#123311,/a/b/c
             // In case of dumping ids, there would not be any paths associated 
and there the line would simply be
             // 
b47b58169f121822cd4a0a0a153ba5910e581ad2bc450b6af7e51e6214c2b173#123311
-            List<String> list = delimSplitter.splitToList(line);
+            List<String> list = Arrays.stream(line.split(DELIM))
+                    .map(String::trim)
+                    .filter(s -> !s.isEmpty())
+                    .collect(Collectors.toList());
 
             String id = list.get(0);
             // Split 
b47b58169f121822cd4a0a0a153ba5910e581ad2bc450b6af7e51e6214c2b173#123311 on # to 
get the id
-            List<String> idLengthSepList = 
Splitter.on(HASH).trimResults().omitEmptyStrings().splitToList(id);
+            List<String> idLengthSepList = Arrays.stream(id.split(HASH))
+                    .map(String::trim)
+                    .filter(s -> !s.isEmpty())
+                    .collect(Collectors.toList());
             String blobId = idLengthSepList.get(0);
 
             if (dsType == FAKE || dsType == FDS) {
diff --git 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/MetricsExporterFixtureProvider.java
 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/MetricsExporterFixtureProvider.java
index bad7e9f54d..cc81364206 100644
--- 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/MetricsExporterFixtureProvider.java
+++ 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/MetricsExporterFixtureProvider.java
@@ -19,11 +19,12 @@
 package org.apache.jackrabbit.oak.run;
 
 import java.io.IOException;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 import com.codahale.metrics.MetricRegistry;
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import io.prometheus.client.CollectorRegistry;
 import io.prometheus.client.dropwizard.DropwizardExports;
 import io.prometheus.client.exporter.PushGateway;
@@ -88,7 +89,10 @@ public class MetricsExporterFixtureProvider {
         private final Map<String, String> pushMap;
 
         ExportMetricsArgs(String args) {
-            List<String> split = 
Splitter.on(";").limit(3).omitEmptyStrings().trimResults().splitToList(args);
+            List<String> split = Arrays.stream(args.split(";", 3))
+                    .map(String::trim)
+                    .filter(s -> !s.isEmpty())
+                    .collect(Collectors.toList());
             this.exporterType = ExporterType.valueOf(split.get(0));
 
             if (split.size() < 2) {
@@ -98,7 +102,14 @@ public class MetricsExporterFixtureProvider {
             this.pushUri = split.get(1);
 
             if (split.size() > 2) {
-                this.pushMap = 
Splitter.on(",").omitEmptyStrings().trimResults().withKeyValueSeparator("=").split(split.get(2));
+                this.pushMap = Arrays.stream(split.get(2).split(","))
+                        .map(String::trim)
+                        .filter(s -> !s.isEmpty())
+                        .map(s -> s.split("=", 2))
+                        .filter(arr -> arr.length == 2)
+                        .collect(Collectors.toMap(
+                                arr -> arr[0],
+                                arr -> arr[1]));
             } else {
                 this.pushMap = emptyMap();
             }
diff --git 
a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandTest.java 
b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandTest.java
index af3c914993..d97d629e19 100644
--- 
a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandTest.java
+++ 
b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandTest.java
@@ -41,7 +41,6 @@ import java.util.stream.StreamSupport;
 
 import ch.qos.logback.classic.Level;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import joptsimple.OptionException;
 import org.apache.commons.io.FileUtils;
 import org.apache.felix.cm.file.ConfigurationHandler;
@@ -722,7 +721,7 @@ public class DataStoreCommandTest {
                 storeFixture.getConnectionString(), "--out-dir", 
dump.getAbsolutePath(), "--work-dir",
                 temporaryFolder.newFolder().getAbsolutePath()));
         if (!StringUtils.isEmpty(additionalParams)) {
-            argsList.addAll(Splitter.on(" ").splitToList(additionalParams));
+            argsList.addAll(Arrays.stream(additionalParams.split(" 
")).collect(Collectors.toList()));
         }
 
         if (verbose) {
@@ -763,7 +762,7 @@ public class DataStoreCommandTest {
                         storeFixture.getConnectionString(), "--out-dir", 
dump.getAbsolutePath(), "--work-dir",
                         temporaryFolder.newFolder().getAbsolutePath()));
         if (!StringUtils.isEmpty(additionalParams)) {
-            argsList.addAll(Splitter.on(" ").splitToList(additionalParams));
+            argsList.addAll(Arrays.stream(additionalParams.split(" 
")).collect(Collectors.toList()));
         }
 
         if (verbose) {
@@ -785,7 +784,7 @@ public class DataStoreCommandTest {
                         storeFixture.getConnectionString(), "--out-dir", 
dump.getAbsolutePath(), "--work-dir",
                         temporaryFolder.newFolder().getAbsolutePath()));
         if (!StringUtils.isEmpty(additionalParams)) {
-            argsList.addAll(Splitter.on(" ").splitToList(additionalParams));
+            argsList.addAll(Arrays.stream(additionalParams.split(" 
")).collect(Collectors.toList()));
         }
 
         if (verbose) {
@@ -807,7 +806,7 @@ public class DataStoreCommandTest {
                 storeFixture.getConnectionString(), "--out-dir", 
dump.getAbsolutePath(), "--work-dir",
                 temporaryFolder.newFolder().getAbsolutePath()));
         if (!StringUtils.isEmpty(additionalParams)) {
-            argsList.addAll(Splitter.on(" ").splitToList(additionalParams));
+            argsList.addAll(Arrays.stream(additionalParams.split(" 
")).collect(Collectors.toList()));
         }
 
         DataStoreCommand cmd = new DataStoreCommand();
@@ -930,7 +929,10 @@ public class DataStoreCommandTest {
 
 
     static String encodeId(String id, Type dsType) {
-        List<String> idLengthSepList = 
Splitter.on(HASH).trimResults().omitEmptyStrings().splitToList(id);
+        List<String> idLengthSepList = Arrays.stream(id.split(HASH))
+                .map(String::trim)
+                .filter(s -> !s.isEmpty())
+                .collect(Collectors.toList());
         String blobId = idLengthSepList.get(0);
 
         if (dsType == Type.FDS) {
diff --git 
a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/PermissionsTest.java
 
b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/PermissionsTest.java
index fc45c47847..07be1c57e6 100644
--- 
a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/PermissionsTest.java
+++ 
b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/permission/PermissionsTest.java
@@ -23,7 +23,6 @@ import java.util.Map;
 import java.util.Set;
 import javax.jcr.Session;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.JcrConstants;
 import org.apache.jackrabbit.api.JackrabbitSession;
 import org.apache.jackrabbit.oak.api.Tree;
@@ -179,7 +178,7 @@ public class PermissionsTest {
             for (long p : value) {
                 expected.add(Permissions.PERMISSION_NAMES.get(p));
             }
-            assertEquals(expected, 
SetUtils.toSet(Splitter.on(',').split(Permissions.getString(key))));
+            assertEquals(expected, 
SetUtils.toSet(Permissions.getString(key).split(",")));
         });
     }
 
@@ -201,7 +200,7 @@ public class PermissionsTest {
             for (long p : value) {
                 expected.add(Permissions.PERMISSION_NAMES.get(p));
             }
-            assertEquals(expected, 
SetUtils.toSet(Splitter.on(',').split(Permissions.getString(key))));
+            assertEquals(expected, 
SetUtils.toSet(Permissions.getString(key).split(",")));
         });
     }
 
diff --git 
a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/JournalReader.java
 
b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/JournalReader.java
index 75fe560f99..93403c5385 100644
--- 
a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/JournalReader.java
+++ 
b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/file/JournalReader.java
@@ -21,14 +21,15 @@ package org.apache.jackrabbit.oak.segment.file;
 
 import java.io.Closeable;
 import java.io.IOException;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import org.apache.jackrabbit.oak.segment.spi.persistence.JournalFile;
 import org.apache.jackrabbit.oak.segment.spi.persistence.JournalFileReader;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
 
 /**
@@ -54,7 +55,13 @@ public final class JournalReader extends 
AbstractIterator<JournalEntry> implemen
             String line = null;
             while ((line = reader.readLine()) != null) {
                 if (line.indexOf(' ') != -1) {
-                    List<String> splits = Splitter.on(' ').splitToList(line);
+                    List<String> splits;
+                    if (line.trim().isEmpty()) {
+                        // special case handling for empty lines where we need 
to split by space
+                        splits = 
Arrays.stream(line.split("")).map(String::trim).collect(Collectors.toList());
+                    } else {
+                        splits = Arrays.stream(line.split(" 
")).collect(Collectors.toList());
+                    }
                     String revision = splits.get(0);
                     long timestamp = -1L;
                     
diff --git 
a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/JournalEntryTest.java
 
b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/JournalEntryTest.java
index a0597eeb6c..92f02ba36c 100644
--- 
a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/JournalEntryTest.java
+++ 
b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/file/JournalEntryTest.java
@@ -25,9 +25,10 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.File;
 import java.nio.file.Files;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.oak.segment.SegmentNodeStore;
 import org.apache.jackrabbit.oak.segment.SegmentNodeStoreBuilders;
 import org.apache.jackrabbit.oak.segment.file.tar.LocalJournalFile;
@@ -86,7 +87,7 @@ public class JournalEntryTest {
     }
 
     private List<String> journalParts(String line){
-        return Splitter.on(' ').splitToList(line);
+        return Arrays.stream(line.split(" ")).collect(Collectors.toList());
     }
 
 }
diff --git 
a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/memory/MemoryDocumentStore.java
 
b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/memory/MemoryDocumentStore.java
index 6fe32fffe7..d28d169602 100644
--- 
a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/memory/MemoryDocumentStore.java
+++ 
b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/memory/MemoryDocumentStore.java
@@ -22,6 +22,7 @@ import static 
org.apache.jackrabbit.oak.plugins.document.UpdateUtils.assertUncon
 import static 
org.apache.jackrabbit.oak.plugins.document.UpdateUtils.checkConditions;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -30,8 +31,8 @@ import java.util.concurrent.ConcurrentSkipListMap;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReadWriteLock;
 import java.util.concurrent.locks.ReentrantReadWriteLock;
+import java.util.stream.Collectors;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.oak.cache.CacheStats;
 import org.apache.jackrabbit.oak.commons.properties.SystemPropertySupplier;
 import org.apache.jackrabbit.oak.plugins.document.Collection;
@@ -411,7 +412,10 @@ public class MemoryDocumentStore implements DocumentStore {
         }
         lastReadWriteMode = readWriteMode;
         try {
-            Map<String, String> map = Splitter.on(", 
").withKeyValueSeparator(":").split(readWriteMode);
+            Map<String, String> map = Arrays.stream(readWriteMode.split(", "))
+                    .map(s -> s.split(":", 2))
+                    .filter(arr -> arr.length == 2)
+                    .collect(Collectors.toMap(arr -> arr[0], arr -> arr[1]));
             String read = map.get("read");
             if (read != null) {
                 ReadPreference readPref = ReadPreference.valueOf(read);
diff --git 
a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ExternalChangesTest.java
 
b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ExternalChangesTest.java
index 1fb1f35e49..2299e711b5 100644
--- 
a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ExternalChangesTest.java
+++ 
b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/ExternalChangesTest.java
@@ -19,13 +19,12 @@
 package org.apache.jackrabbit.oak.plugins.document;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.jackrabbit.guava.common.base.Splitter;
-
 import org.apache.jackrabbit.oak.plugins.document.memory.MemoryDocumentStore;
 import org.apache.jackrabbit.oak.plugins.document.spi.JournalProperty;
 import org.apache.jackrabbit.oak.plugins.document.spi.JournalPropertyBuilder;
@@ -305,7 +304,7 @@ public class ExternalChangesTest {
         @Override
         public void addSerializedProperty(@Nullable String s) {
             if (s != null){
-                Splitter.on(',').split(s).forEach(allProps.values::add);
+                allProps.values.addAll(Arrays.asList(s.split(",")));
             }
         }
 
diff --git 
a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
 
b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
index 6f8f894374..6000a95073 100644
--- 
a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
+++ 
b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
@@ -22,6 +22,7 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -34,7 +35,6 @@ import java.util.concurrent.TimeUnit;
 
 import ch.qos.logback.classic.Level;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.jackrabbit.guava.common.base.Splitter;
 import com.mongodb.BasicDBObject;
 import com.mongodb.ReadPreference;
 import com.mongodb.client.MongoCollection;
@@ -407,7 +407,9 @@ public class MongoBlobGCTest extends 
AbstractMongoConnectionTest {
         try (InputStream is = new FileInputStream(getMarkedFile(rootFolder))) {
             Set<String> records = FileIOUtils.readStringsAsSet(is, true);
             for (String rec : records) {
-                assertEquals(expected, 
Splitter.on(",").omitEmptyStrings().splitToList(rec).size());
+                assertEquals(expected, Arrays.stream(rec.split(","))
+                        .filter(s -> !s.isEmpty())
+                        .count());
             }
         }
     }


Reply via email to