This is an automated email from the ASF dual-hosted git repository. reschke pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/trunk by this push: new cc2db104fe OAK-11748: Remove usage of Guava Escapers (#2323) cc2db104fe is described below commit cc2db104fedbdea8f20eb7a1e807037a80a65de5 Author: Julian Reschke <resc...@apache.org> AuthorDate: Thu Jun 12 18:07:17 2025 +0200 OAK-11748: Remove usage of Guava Escapers (#2323) --- oak-it-osgi/pom.xml | 5 +++++ oak-it-osgi/test-bundles.xml | 1 + oak-parent/pom.xml | 5 +++++ oak-run/pom.xml | 5 +++++ .../java/org/apache/jackrabbit/oak/explorer/NodeStoreTree.java | 6 ++---- oak-segment-tar/pom.xml | 5 +++++ .../java/org/apache/jackrabbit/oak/segment/tool/DebugTars.java | 9 ++------- oak-shaded-guava/pom.xml | 2 +- oak-store-composite/pom.xml | 5 +++++ .../apache/jackrabbit/oak/composite/it/CompositeTestSupport.java | 1 + 10 files changed, 32 insertions(+), 12 deletions(-) diff --git a/oak-it-osgi/pom.xml b/oak-it-osgi/pom.xml index eb8f9d3c87..d54d739190 100644 --- a/oak-it-osgi/pom.xml +++ b/oak-it-osgi/pom.xml @@ -210,6 +210,11 @@ <artifactId>commons-lang3</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-text</artifactId> + <scope>test</scope> + </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> diff --git a/oak-it-osgi/test-bundles.xml b/oak-it-osgi/test-bundles.xml index 8d18840659..b21a048825 100644 --- a/oak-it-osgi/test-bundles.xml +++ b/oak-it-osgi/test-bundles.xml @@ -39,6 +39,7 @@ <include>commons-logging:commons-logging</include> <include>com.fasterxml.jackson.core:jackson-core</include> <include>org.apache.commons:commons-lang3</include> + <include>org.apache.commons:commons-text</include> <include>org.apache.commons:commons-collections4</include> <include>org.apache.jackrabbit:jackrabbit-jcr-commons</include> <include>org.apache.jackrabbit:jackrabbit-data</include> diff --git a/oak-parent/pom.xml b/oak-parent/pom.xml index 42d39fc5d8..23d8344ecb 100644 --- a/oak-parent/pom.xml +++ b/oak-parent/pom.xml @@ -596,6 +596,11 @@ <artifactId>commons-lang3</artifactId> <version>3.17.0</version> </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-text</artifactId> + <version>1.13.1</version> + </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> diff --git a/oak-run/pom.xml b/oak-run/pom.xml index 81bea38d32..387473add1 100644 --- a/oak-run/pom.xml +++ b/oak-run/pom.xml @@ -336,6 +336,11 @@ <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-text</artifactId> + <scope>provided</scope> + </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> diff --git a/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/NodeStoreTree.java b/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/NodeStoreTree.java index 2bf16e7ecb..e09bd86e8d 100644 --- a/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/NodeStoreTree.java +++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/explorer/NodeStoreTree.java @@ -18,7 +18,6 @@ */ package org.apache.jackrabbit.oak.explorer; -import static org.apache.jackrabbit.guava.common.escape.Escapers.builder; import static java.util.Collections.sort; import static javax.jcr.PropertyType.BINARY; import static javax.jcr.PropertyType.STRING; @@ -52,6 +51,7 @@ import javax.swing.event.TreeSelectionListener; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; +import org.apache.commons.text.StringEscapeUtils; import org.apache.jackrabbit.oak.api.Blob; import org.apache.jackrabbit.oak.api.PropertyState; import org.apache.jackrabbit.oak.api.Type; @@ -373,9 +373,7 @@ class NodeStoreTree extends JPanel implements TreeSelectionListener, Closeable { value = value.substring(0, MAX_CHAR_DISPLAY) + "... (" + value.length() + " chars)"; } - String escaped = builder().setSafeRange(' ', '~') - .addEscape('"', "\\\"").addEscape('\\', "\\\\").build() - .escape(value); + String escaped = StringEscapeUtils.escapeJava(value); return '"' + escaped + '"'; } diff --git a/oak-segment-tar/pom.xml b/oak-segment-tar/pom.xml index 6800d01cb6..59c24cdfd4 100644 --- a/oak-segment-tar/pom.xml +++ b/oak-segment-tar/pom.xml @@ -240,6 +240,11 @@ <artifactId>slf4j-api</artifactId> <scope>provided</scope> </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-text</artifactId> + <scope>provided</scope> + </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/DebugTars.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/DebugTars.java index 271cd443b9..8829e20f5f 100644 --- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/DebugTars.java +++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/tool/DebugTars.java @@ -34,7 +34,7 @@ import java.util.UUID; import javax.jcr.PropertyType; -import org.apache.jackrabbit.guava.common.escape.Escapers; +import org.apache.commons.text.StringEscapeUtils; import org.apache.jackrabbit.oak.api.Blob; import org.apache.jackrabbit.oak.api.PropertyState; import org.apache.jackrabbit.oak.api.Type; @@ -252,12 +252,7 @@ public class DebugTars { value = value.substring(0, maxCharDisplay) + "... (" + value.length() + " chars)"; } - String escaped = Escapers.builder() - .setSafeRange(' ', '~') - .addEscape('"', "\\\"") - .addEscape('\\', "\\\\") - .build() - .escape(value); + String escaped = StringEscapeUtils.escapeJava(value); return '"' + escaped + '"'; } diff --git a/oak-shaded-guava/pom.xml b/oak-shaded-guava/pom.xml index 8b821a50d2..f0b979f1f8 100644 --- a/oak-shaded-guava/pom.xml +++ b/oak-shaded-guava/pom.xml @@ -61,6 +61,7 @@ <artifact>*:*</artifact> <excludes> <exclude>com/google/common/annotations/**</exclude> + <exclude>com/google/common/escape/**</exclude> <exclude>com/google/common/eventbus/**</exclude> <exclude>com/google/common/html/**</exclude> <exclude>com/google/common/io/**</exclude> @@ -99,7 +100,6 @@ ${pref}.common.base;version="33.5.0", ${pref}.common.cache;version="33.4.1";uses:="${pref}.common.base,${pref}.common.collect,${pref}.common.util.concurrent", ${pref}.common.collect;version="34.0.0";uses:="${pref}.common.base", - ${pref}.common.escape;version="33.4.1";uses:="${pref}.common.base", ${pref}.common.graph;version="33.4.1";uses:="${pref}.common.collect", ${pref}.common.hash;version="33.5.0";uses:="${pref}.common.base", ${pref}.common.math;version="33.4.1", diff --git a/oak-store-composite/pom.xml b/oak-store-composite/pom.xml index 60ae2d7bd5..2b83b93d9d 100644 --- a/oak-store-composite/pom.xml +++ b/oak-store-composite/pom.xml @@ -274,5 +274,10 @@ <artifactId>metrics-core</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-text</artifactId> + <scope>test</scope> + </dependency> </dependencies> </project> diff --git a/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/it/CompositeTestSupport.java b/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/it/CompositeTestSupport.java index 887326c669..68e1cc3142 100644 --- a/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/it/CompositeTestSupport.java +++ b/oak-store-composite/src/test/java/org/apache/jackrabbit/oak/composite/it/CompositeTestSupport.java @@ -97,6 +97,7 @@ public abstract class CompositeTestSupport extends TestSupport { mavenBundle().groupId("commons-io").artifactId("commons-io").versionAsInProject(), mavenBundle().groupId("org.apache.commons").artifactId("commons-collections4").versionAsInProject(), mavenBundle().groupId("org.apache.commons").artifactId("commons-lang3").versionAsInProject(), + mavenBundle().groupId("org.apache.commons").artifactId("commons-text").versionAsInProject(), mavenBundle().groupId("com.fasterxml.jackson.core").artifactId("jackson-core").versionAsInProject(), mavenBundle().groupId("com.fasterxml.jackson.core").artifactId("jackson-annotations").versionAsInProject(), mavenBundle().groupId("com.fasterxml.jackson.core").artifactId("jackson-databind").versionAsInProject()