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)
);