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

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


The following commit(s) were added to refs/heads/OAK-11297 by this push:
     new 5ed0b085d0 OAK-11297: remove usage of Guava Joiner - oak-run
5ed0b085d0 is described below

commit 5ed0b085d0e31ff95106055ae5931ee3eb7c6d68
Author: Julian Reschke <[email protected]>
AuthorDate: Fri Dec 6 13:17:09 2024 +0100

    OAK-11297: remove usage of Guava Joiner - oak-run
---
 .../jackrabbit/oak/run/CreateGarbageCommand.java     |  3 +--
 .../jackrabbit/oak/run/DataStoreCheckCommand.java    | 10 ++++------
 .../apache/jackrabbit/oak/run/DataStoreCommand.java  | 20 +++++++-------------
 .../org/apache/jackrabbit/oak/run/HelpCommand.java   |  4 +---
 .../apache/jackrabbit/oak/run/RevisionsCommand.java  |  3 +--
 .../jackrabbit/oak/run/DataStoreCheckTest.java       |  5 ++---
 .../oak/run/DataStoreCommandMetadataTest.java        | 16 +++++++++-------
 .../jackrabbit/oak/run/DataStoreCommandTest.java     |  3 +--
 .../jackrabbit/oak/run/DataStoreCopyCommandTest.java |  3 +--
 9 files changed, 27 insertions(+), 40 deletions(-)

diff --git 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/CreateGarbageCommand.java 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/CreateGarbageCommand.java
index 49b0eb0437..6c5409efee 100644
--- 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/CreateGarbageCommand.java
+++ 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/CreateGarbageCommand.java
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.run;
 
 import joptsimple.OptionSpec;
 import org.apache.jackrabbit.JcrConstants;
-import org.apache.jackrabbit.guava.common.base.Joiner;
 import org.apache.jackrabbit.guava.common.io.Closer;
 import org.apache.jackrabbit.oak.api.CommitFailedException;
 import org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore;
@@ -54,7 +53,7 @@ public class CreateGarbageCommand implements Command {
 
     private final ScheduledExecutorService continuousRunExecutor = 
Executors.newScheduledThreadPool(1);
 
-    private static final String USAGE = Joiner.on(System.lineSeparator()).join(
+    private static final String USAGE = String.join(System.lineSeparator(),
             "create-test-garbage {<jdbc-uri> | <mongodb-uri>} <sub-command> 
[options] ",
             "where sub-command is one of: ",
             "  clean - clean up all generated garbage under the specified root 
node",
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 ca4a5069be..0ca48923d8 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
@@ -44,7 +44,6 @@ import java.util.Map;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.apache.jackrabbit.guava.common.base.Joiner;
 import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.guava.common.base.Stopwatch;
 import org.apache.jackrabbit.guava.common.io.Closeables;
@@ -331,7 +330,7 @@ public class DataStoreCheckCommand implements Command {
     private static String decodeId(String id) {
         List<String> list = 
Splitter.on(System.getProperty("file.separator")).trimResults().omitEmptyStrings().splitToList(id);
         String pathStrippedId = list.get(list.size() -1);
-        return 
Joiner.on("").join(Splitter.on(DASH).omitEmptyStrings().trimResults().splitToList(pathStrippedId));
+        return String.join("", 
Splitter.on(DASH).omitEmptyStrings().trimResults().splitToList(pathStrippedId));
     }
 
     static class FileRegister implements Closeable {
@@ -431,7 +430,6 @@ public class DataStoreCheckCommand implements Command {
         final AtomicInteger count = new AtomicInteger();
         boolean threw = true;
         try {
-            final Joiner delimJoiner = Joiner.on(DELIM).skipNulls();
             final GarbageCollectableBlobStore finalBlobStore = blobStore;
 
             System.out.println("Starting dump of blob references");
@@ -449,7 +447,8 @@ public class DataStoreCheckCommand implements Command {
                                 if (isVerbose) {
                                     id = encodeId(id, dsType);
                                 }
-                                String combinedId = delimJoiner.join(id, 
escapeLineBreak(nodeId));
+                                String combinedId = nodeId == null ?
+                                        id : String.join(DELIM, id, 
escapeLineBreak(nodeId));
                                 count.getAndIncrement();
                                 writeAsLine(writer, combinedId, false);
                             }
@@ -488,7 +487,6 @@ public class DataStoreCheckCommand implements Command {
         private final String dsType;
         private final File references;
         private final NodeStore nodeStore;
-        private final Joiner delimJoiner = Joiner.on(DELIM).skipNulls();
 
         public NodeTraverser(NodeStore nodeStore, String dsType) throws 
IOException {
             this.references = File.createTempFile("traverseref", null);
@@ -533,7 +531,7 @@ public class DataStoreCheckCommand implements Command {
         }
 
         private String getLine(String id, String path) {
-            return delimJoiner.join(encodeId(id, dsType), 
escapeLineBreak(path));
+            return path != null ? String.join(DELIM, encodeId(id, dsType), 
escapeLineBreak(path)) : id;
         }
 
         private void traverseChildren(NodeState state, String path, 
BufferedWriter writer, AtomicInteger count) {
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 f74b77fff1..f3dac53de8 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
@@ -38,7 +38,6 @@ import java.util.function.Function;
 import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
-import org.apache.jackrabbit.guava.common.base.Joiner;
 import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.guava.common.base.Stopwatch;
 import org.apache.jackrabbit.guava.common.io.Closeables;
@@ -212,12 +211,11 @@ public class DataStoreCommand implements Command {
 
                                 while (idIter.hasNext()) {
                                     String id = idIter.next();
-                                    final Joiner delimJoiner = 
Joiner.on(DELIM).skipNulls();
                                     // If --verbose is present, convert blob 
ID to a backend friendly format and
                                     // concat the path that has the ref. 
Otherwise simply add the ID to the o/p file
                                     // as it is.
                                     String line = dataStoreOpts.isVerbose() ?
-                                        
VerboseIdLogger.encodeId(delimJoiner.join(id, escapeLineBreak(nodeId)),
+                                        
VerboseIdLogger.encodeId(String.join(DELIM, id, escapeLineBreak(nodeId)),
                                             optionBean.getBlobStoreType()) :
                                         id;
                                     writeAsLine(writer, line, true);
@@ -341,7 +339,7 @@ public class DataStoreCommand implements Command {
             if (id != null && id.equals(repositoryId)) {
                 isLocal = "*";
             }
-            records.add(Joiner.on("|").join(id, markerTime, refTime, isLocal));
+            records.add(String.join("|", id, Long.toString(markerTime), 
Long.toString(refTime), isLocal));
         }
         log.info("Metadata retrieved {}", records);
         return records;
@@ -423,7 +421,7 @@ public class DataStoreCommand implements Command {
     private static void logCliArgs(String[] args) {
         String[] filteredArgs = Arrays.stream(args).filter(str -> 
!str.startsWith("az:") && !str.startsWith("mongodb:"))
             .toArray(String[]::new);
-        log.info("Command line arguments used for datastore command [{}]", 
Joiner.on(' ').join(filteredArgs));
+        log.info("Command line arguments used for datastore command [{}]", 
String.join(" ", filteredArgs));
         List<String> inputArgs = 
ManagementFactory.getRuntimeMXBean().getInputArguments();
         if (!inputArgs.isEmpty()) {
             log.info("System properties and vm options passed {}", inputArgs);
@@ -549,8 +547,6 @@ public class DataStoreCommand implements Command {
             Splitter delimSplitter = 
Splitter.on("/").trimResults().omitEmptyStrings();
             List<String> pathElementList = 
delimSplitter.splitToList(inclusionRegex);
 
-            Joiner delimJoiner = Joiner.on("/").skipNulls();
-
             // Get the first pathElement from the regexPath
             String pathElement = pathElementList.get(0);
             // If the pathElement == *, get all child nodes and scan under 
them for the rest of the regex
@@ -560,7 +556,7 @@ public class DataStoreCommand implements Command {
                     // Remove the current Path Element from the regexPath
                     // and recurse on getInclusionListFromRegex with this 
childNodeState and the regexPath
                     // under the current pathElement
-                    String sub = delimJoiner.join(pathElementList.subList(1, 
pathElementList.size()));
+                    String sub = String.join("/", pathElementList.subList(1, 
pathElementList.size()));
                     
getInclusionListFromRegex(rootState.getChildNode(nodeName), rootPathTemp, sub, 
inclusionNodeStates);
                 }
             } else {
@@ -584,7 +580,6 @@ public class DataStoreCommand implements Command {
                 return s1.split(DELIM)[0].compareTo(s2.split(DELIM)[0]);
             }
         };
-        private final static Joiner delimJoiner = Joiner.on(DELIM).skipNulls();
         private final static Splitter delimSplitter = 
Splitter.on(DELIM).trimResults().omitEmptyStrings();
 
         private final BlobStoreOptions optionBean;
@@ -639,9 +634,9 @@ public class DataStoreCommand implements Command {
          * @param line   can be either of the format b47b...#12311,/a/b/c or
          *               b47b...#12311
          * @param dsType
-         * @return In case of ref dump, concatanated encoded blob ref in a
+         * @return In case of ref dump, concatenated encoded blob ref in a
          * format understood by backing datastore impl and the path
-         * on which ref is present separated by delimJoiner
+         * on which ref is present separated by delimiters.
          * In case of id dump, just the encoded blob ids.
          */
         static String encodeId(String line, BlobStoreOptions.Type dsType) {
@@ -671,7 +666,7 @@ public class DataStoreCommand implements Command {
             // In case of blob ids dump, the list size would be 1 (Consisting 
of just the id)
             if (list.size() > 1) {
                 // Join back the encoded blob ref and the path on which the 
ref is present
-                return delimJoiner.join(blobId, 
EscapeUtils.unescapeLineBreaks(list.get(1)));
+                return String.join(DELIM, blobId, 
EscapeUtils.unescapeLineBreaks(list.get(1)));
             } else {
                 // return the encoded blob id
                 return blobId;
@@ -702,4 +697,3 @@ public class DataStoreCommand implements Command {
         System.out.println(dt);
     }
 }
-
diff --git 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/HelpCommand.java 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/HelpCommand.java
index 8f332a643f..1015b0c46c 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/HelpCommand.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/HelpCommand.java
@@ -14,10 +14,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 package org.apache.jackrabbit.oak.run;
 
-import org.apache.jackrabbit.guava.common.base.Joiner;
 import org.apache.jackrabbit.oak.run.commons.Command;
 
 import static org.apache.jackrabbit.oak.run.AvailableModes.MODES;
@@ -27,7 +25,7 @@ class HelpCommand implements Command {
     @Override
     public void execute(String... args) throws Exception {
         System.err.print("Available run modes: ");
-        System.err.println(Joiner.on(", ").join(MODES.getModes()));
+        System.err.println(String.join(", ", MODES.getModes()));
         System.exit(1);
     }
 
diff --git 
a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RevisionsCommand.java 
b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RevisionsCommand.java
index 779dc6e078..eb3d6d86b5 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RevisionsCommand.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/RevisionsCommand.java
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.run;
 
-import org.apache.jackrabbit.guava.common.base.Joiner;
 import org.apache.jackrabbit.guava.common.io.Closer;
 
 import java.io.IOException;
@@ -85,7 +84,7 @@ public class RevisionsCommand implements Command {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(RevisionsCommand.class);
 
-    private static final String USAGE = Joiner.on(System.lineSeparator()).join(
+    private static final String USAGE = String.join(System.lineSeparator(),
             "revisions {<jdbc-uri> | <mongodb-uri>} <sub-command> [options]",
             "where sub-command is one of",
             "  info           give information about the revisions state 
without performing",
diff --git 
a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java 
b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java
index 4d7b32b953..3512ff16ec 100644
--- 
a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java
+++ 
b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCheckTest.java
@@ -40,7 +40,6 @@ import java.util.Properties;
 import java.util.Random;
 import java.util.Set;
 
-import org.apache.jackrabbit.guava.common.base.Joiner;
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
 import org.apache.jackrabbit.guava.common.collect.Iterables;
 import org.apache.jackrabbit.guava.common.collect.Iterators;
@@ -438,8 +437,8 @@ public class DataStoreCheckTest {
 
     private static Set<String> encodedIdsAndPath(Set<String> ids, String 
dsOption, Map<String, String> blobsAddedWithNodes) {
         return CollectionUtils.toSet(Iterators.transform(ids.iterator(),
-                input -> Joiner.on(",").join(
-                        DataStoreCheckCommand.encodeId(input, "--"+dsOption),
+                input -> String.join(",",
+                        DataStoreCheckCommand.encodeId(input, "--" + dsOption),
                         blobsAddedWithNodes.get(input))));
     }
 }
diff --git 
a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandMetadataTest.java
 
b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandMetadataTest.java
index ecc06f8662..f13e31ff80 100644
--- 
a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandMetadataTest.java
+++ 
b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCommandMetadataTest.java
@@ -27,7 +27,6 @@ import java.util.List;
 import java.util.Set;
 import java.util.UUID;
 
-import org.apache.jackrabbit.guava.common.base.Joiner;
 import org.apache.jackrabbit.guava.common.base.Strings;
 import org.apache.jackrabbit.guava.common.collect.Lists;
 import org.apache.jackrabbit.core.data.DataRecord;
@@ -166,12 +165,15 @@ public class DataStoreCommandMetadataTest {
             REFERENCES.getNameFromIdPrefix(rep2Id, sessionId));
 
         List<String> expectations = new ArrayList<>();
-        expectations.add(Joiner.on("|").join(rep2Id, 
MILLISECONDS.toSeconds(expectAuxMarkerMetadataRecord.getLastModified()),
-            MILLISECONDS.toSeconds(expectAuxMetadataRecord.getLastModified()), 
"-"));
-        expectations.add(Joiner.on("|").join(repoId, 
MILLISECONDS.toSeconds(expectMainMarkerMetadataRecord.getLastModified()),
-            
MILLISECONDS.toSeconds(expectMainMetadataRecord.getLastModified()), "*"));
-        expectations.add(Joiner.on("|").join(rep3Id, 
MILLISECONDS.toSeconds(expectAux2MarkerMetadataRecord.getLastModified()),
-            
MILLISECONDS.toSeconds(expectAux2MetadataRecord.getLastModified()), "-"));
+        expectations.add(String.join("|", rep2Id,
+            
Long.toString(MILLISECONDS.toSeconds(expectAuxMarkerMetadataRecord.getLastModified())),
+            
Long.toString(MILLISECONDS.toSeconds(expectAuxMetadataRecord.getLastModified())),
 "-"));
+        expectations.add(String.join("|", repoId,
+            
Long.toString(MILLISECONDS.toSeconds(expectMainMarkerMetadataRecord.getLastModified())),
+            
Long.toString(MILLISECONDS.toSeconds(expectMainMetadataRecord.getLastModified())),
 "*"));
+        expectations.add(String.join("|", rep3Id,
+            
Long.toString(MILLISECONDS.toSeconds(expectAux2MarkerMetadataRecord.getLastModified())),
+            
Long.toString(MILLISECONDS.toSeconds(expectAux2MetadataRecord.getLastModified())),
 "-"));
 
         storeFixture.close();
         return expectations;
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 be7d001ecf..f0cc1d8d1f 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
@@ -40,7 +40,6 @@ import java.util.stream.Collectors;
 import java.util.stream.StreamSupport;
 
 import ch.qos.logback.classic.Level;
-import org.apache.jackrabbit.guava.common.base.Joiner;
 import org.apache.jackrabbit.guava.common.base.Splitter;
 import org.apache.jackrabbit.guava.common.base.Strings;
 import org.apache.jackrabbit.guava.common.collect.ImmutableList;
@@ -927,7 +926,7 @@ public class DataStoreCommandTest {
 
     private static Set<String> encodedIdsAndPath(Set<String> ids, Type 
dsOption, Map<String, String> idToNodes,
         boolean encodeId) {
-        return CollectionUtils.toSet(Iterators.transform(ids.iterator(), input 
-> Joiner.on(",").join(encodeId ? encodeId(input, dsOption) : input, 
idToNodes.get(input))));
+        return CollectionUtils.toSet(Iterators.transform(ids.iterator(), input 
-> String.join(",", encodeId ? encodeId(input, dsOption) : input, 
idToNodes.get(input))));
     }
 
     private static Set<String> encodeIds(Set<String> ids, Type dsOption) {
diff --git 
a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCopyCommandTest.java
 
b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCopyCommandTest.java
index 412702bebd..b96e6c4bd5 100644
--- 
a/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCopyCommandTest.java
+++ 
b/oak-run/src/test/java/org/apache/jackrabbit/oak/run/DataStoreCopyCommandTest.java
@@ -16,7 +16,6 @@
  */
 package org.apache.jackrabbit.oak.run;
 
-import org.apache.jackrabbit.guava.common.base.Joiner;
 import com.microsoft.azure.storage.blob.CloudBlobContainer;
 import com.microsoft.azure.storage.blob.SharedAccessBlobPermissions;
 import com.microsoft.azure.storage.blob.SharedAccessBlobPolicy;
@@ -224,7 +223,7 @@ public class DataStoreCopyCommandTest {
                 "--out-dir",
                 outDir.getRoot().getAbsolutePath()
         );
-        
assertEquals(Joiner.on(File.separator).join(outDir.getRoot().getAbsolutePath(), 
"29",
+        assertEquals(String.join(File.separator, 
outDir.getRoot().getAbsolutePath(), "29",
                         "0F", 
"49","290F493C44F5D63D06B374D0A5ABD292FAE38B92CAB2FAE5EFEFE1B0E9347F56"),
                 cmd.getDestinationFromId(BLOB1)
         );

Reply via email to