This is an automated email from the ASF dual-hosted git repository. reschke pushed a commit to branch OAK-11774-fix in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 3dbfda44bbc7fe22bff14fba1c396f14dce139eb Author: Julian Reschke <[email protected]> AuthorDate: Fri Aug 1 19:18:04 2025 +0100 OAK-11774: Remove usage of Guava's Splitter - undo changes in oak-run --- .../jackrabbit/oak/run/DataStoreCheckCommand.java | 17 ++++------------- .../apache/jackrabbit/oak/run/DataStoreCommand.java | 19 +++++++------------ 2 files changed, 11 insertions(+), 25 deletions(-) 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 58139ff5a0..01bb0b1862 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,7 +42,6 @@ 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 com.mongodb.ConnectionString; import com.mongodb.client.MongoClient; @@ -56,6 +55,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.LineIterator; import org.apache.commons.io.filefilter.FileFilterUtils; +import org.apache.jackrabbit.guava.common.base.Splitter; import org.apache.jackrabbit.oak.api.Blob; import org.apache.jackrabbit.oak.api.PropertyState; import org.apache.jackrabbit.oak.api.Type; @@ -313,10 +313,7 @@ public class DataStoreCheckCommand implements Command { } static String encodeId(String id, String dsType) { - List<String> idLengthSepList = Arrays.stream(id.split(HASH)) - .map(String::trim) - .filter(s -> !s.isEmpty()) - .collect(Collectors.toList()); + List<String> idLengthSepList = Splitter.on(HASH).trimResults().omitEmptyStrings().splitToList(id); String blobId = idLengthSepList.get(0); if (dsType.equals(FDS)) { @@ -329,15 +326,9 @@ public class DataStoreCheckCommand implements Command { } private static String decodeId(String id) { - List<String> list = Arrays.stream(id.split(System.getProperty("file.separator"))) - .map(String::trim) - .filter(s -> !s.isEmpty()) - .collect(Collectors.toList()); + List<String> list = Splitter.on(System.getProperty("file.separator")).trimResults().omitEmptyStrings().splitToList(id); String pathStrippedId = list.get(list.size() -1); - return Arrays.stream(pathStrippedId.split(DASH)) - .map(String::trim) - .filter(s -> !s.isEmpty()) - .collect(Collectors.joining("")); + return String.join("", Splitter.on(DASH).omitEmptyStrings().trimResults().splitToList(pathStrippedId)); } 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 c9e84e29c7..947e7b7a4c 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,6 +39,7 @@ 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; @@ -537,10 +538,8 @@ public class DataStoreCommand implements Command { private void getInclusionListFromRegex(NodeState rootState, String rootPath, String inclusionRegex, Map<NodeState, String> inclusionNodeStates) { - List<String> pathElementList = Arrays.stream(inclusionRegex.split("/")) - .map(String::trim) - .filter(s -> !s.isEmpty()) - .collect(Collectors.toList()); + Splitter delimSplitter = Splitter.on("/").trimResults().omitEmptyStrings(); + List<String> pathElementList = delimSplitter.splitToList(inclusionRegex); // Get the first pathElement from the regexPath String pathElement = pathElementList.get(0); @@ -575,6 +574,8 @@ 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; @@ -637,17 +638,11 @@ 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 = Arrays.stream(line.split(DELIM)) - .map(String::trim) - .filter(s -> !s.isEmpty()) - .collect(Collectors.toList()); + List<String> list = delimSplitter.splitToList(line); String id = list.get(0); // Split b47b58169f121822cd4a0a0a153ba5910e581ad2bc450b6af7e51e6214c2b173#123311 on # to get the id - List<String> idLengthSepList = Arrays.stream(id.split(HASH)) - .map(String::trim) - .filter(s -> !s.isEmpty()) - .collect(Collectors.toList()); + List<String> idLengthSepList = Splitter.on(HASH).trimResults().omitEmptyStrings().splitToList(id); String blobId = idLengthSepList.get(0); if (dsType == FAKE || dsType == FDS) {
