This is an automated email from the ASF dual-hosted git repository.
daim 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 c2244875b6 OAK-11914 : removed usage of Guava's HashBasedTable (#2573)
c2244875b6 is described below
commit c2244875b68284b72a0283b030049064e905c616
Author: Rishabh Kumar <[email protected]>
AuthorDate: Tue Oct 14 09:45:56 2025 +0530
OAK-11914 : removed usage of Guava's HashBasedTable (#2573)
* OAK-11914 : removed usage of Guava's HashBasedTable
* OAK-11914 : removed un-necessary usage of computeIfAbsent method
---
.../nodestore/DocumentMemoryNodeStoreFixture.java | 22 +++----
.../nodestore/DocumentMongoNodeStoreFixture.java | 21 +++---
.../nodestore/SegmentMemoryNodeStoreFixture.java | 30 ++++-----
.../oak/jcr/random/RandomizedReadTest.java | 74 ++++++++++++----------
4 files changed, 78 insertions(+), 69 deletions(-)
diff --git
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/DocumentMemoryNodeStoreFixture.java
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/DocumentMemoryNodeStoreFixture.java
index 1328d33d5f..bfbb3f87a1 100644
---
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/DocumentMemoryNodeStoreFixture.java
+++
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/DocumentMemoryNodeStoreFixture.java
@@ -20,6 +20,8 @@ package
org.apache.jackrabbit.oak.jcr.binary.fixtures.nodestore;
import java.io.File;
import java.io.IOException;
+import java.util.LinkedHashMap;
+import java.util.Map;
import javax.jcr.RepositoryException;
import org.apache.commons.io.FileUtils;
@@ -36,9 +38,6 @@ import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.jackrabbit.guava.common.collect.HashBasedTable;
-import org.apache.jackrabbit.guava.common.collect.Table;
-
/**
* Creates a repository with
* - DocumentNodeStore, storing data in-memory
@@ -50,7 +49,7 @@ public class DocumentMemoryNodeStoreFixture extends
NodeStoreFixture implements
private final DataStoreFixture dataStoreFixture;
- private final Table<NodeStore, String, Object> components =
HashBasedTable.create();
+ private final Map<NodeStore, Map<String, Object>> components = new
LinkedHashMap<>();
public DocumentMemoryNodeStoreFixture(@Nullable DataStoreFixture
dataStoreFixture) {
this.dataStoreFixture = dataStoreFixture;
@@ -84,14 +83,15 @@ public class DocumentMemoryNodeStoreFixture extends
NodeStoreFixture implements
}
NodeStore nodeStore = documentNodeStoreBuilder.build();
+ components.put(nodeStore, new LinkedHashMap<>());
// track all main components
if (dataStore != null) {
- components.put(nodeStore, DataStore.class.getName(),
dataStore);
- components.put(nodeStore, DataStore.class.getName() +
":folder", dataStoreFolder);
+ components.get(nodeStore).put(DataStore.class.getName(),
dataStore);
+ components.get(nodeStore).put(DataStore.class.getName() +
":folder", dataStoreFolder);
}
if (blobStore != null) {
- components.put(nodeStore, BlobStore.class.getName(),
blobStore);
+ components.get(nodeStore).put(BlobStore.class.getName(),
blobStore);
}
return nodeStore;
@@ -107,15 +107,15 @@ public class DocumentMemoryNodeStoreFixture extends
NodeStoreFixture implements
((DocumentNodeStore)nodeStore).dispose();
}
- DataStore dataStore = (DataStore) components.get(nodeStore,
DataStore.class.getName());
+ DataStore dataStore = (DataStore)
components.get(nodeStore).get(DataStore.class.getName());
if (dataStore != null && dataStoreFixture != null) {
dataStoreFixture.dispose(dataStore);
- File dataStoreFolder = (File) components.get(nodeStore,
DataStore.class.getName() + ":folder");
+ File dataStoreFolder = (File)
components.get(nodeStore).get(DataStore.class.getName() + ":folder");
FileUtils.deleteQuietly(dataStoreFolder);
}
} finally {
- components.row(nodeStore).clear();
+ components.get(nodeStore).clear();
}
}
@@ -127,6 +127,6 @@ public class DocumentMemoryNodeStoreFixture extends
NodeStoreFixture implements
@Override
public <T> T get(NodeStore nodeStore, String componentName) {
- return (T) components.get(nodeStore, componentName);
+ return (T) components.get(nodeStore).get(componentName);
}
}
diff --git
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/DocumentMongoNodeStoreFixture.java
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/DocumentMongoNodeStoreFixture.java
index 411a11a85f..1581c381e6 100644
---
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/DocumentMongoNodeStoreFixture.java
+++
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/DocumentMongoNodeStoreFixture.java
@@ -20,13 +20,13 @@ package
org.apache.jackrabbit.oak.jcr.binary.fixtures.nodestore;
import java.io.File;
import java.io.IOException;
+import java.util.LinkedHashMap;
+import java.util.Map;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import javax.jcr.RepositoryException;
-import org.apache.jackrabbit.guava.common.collect.HashBasedTable;
-import org.apache.jackrabbit.guava.common.collect.Table;
import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.core.data.DataStore;
import org.apache.jackrabbit.oak.fixture.NodeStoreFixture;
@@ -61,7 +61,7 @@ public class DocumentMongoNodeStoreFixture extends
NodeStoreFixture implements C
private final Logger log = LoggerFactory.getLogger(getClass());
private final DataStoreFixture dataStoreFixture;
- private final Table<NodeStore, String, Object> components =
HashBasedTable.create();
+ private final Map<NodeStore, Map<String, Object>> components = new
LinkedHashMap<>();
private MongoConnection connection;
private final Clock clock;
public MongoConnectionFactory connFactory;
@@ -120,14 +120,15 @@ public class DocumentMongoNodeStoreFixture extends
NodeStoreFixture implements C
}
NodeStore nodeStore = documentNodeStoreBuilder.build();
+ components.put(nodeStore, new LinkedHashMap<>());
// track all main components
if (dataStore != null) {
- components.put(nodeStore, DataStore.class.getName(),
dataStore);
- components.put(nodeStore, DataStore.class.getName() +
":folder", dataStoreFolder);
+ components.get(nodeStore).put(DataStore.class.getName(),
dataStore);
+ components.get(nodeStore).put(DataStore.class.getName() +
":folder", dataStoreFolder);
}
if (blobStore != null) {
- components.put(nodeStore, BlobStore.class.getName(),
blobStore);
+ components.get(nodeStore).put(BlobStore.class.getName(),
blobStore);
}
return nodeStore;
@@ -143,11 +144,11 @@ public class DocumentMongoNodeStoreFixture extends
NodeStoreFixture implements C
((DocumentNodeStore)nodeStore).dispose();
}
- DataStore dataStore = (DataStore) components.get(nodeStore,
DataStore.class.getName());
+ DataStore dataStore = (DataStore)
components.get(nodeStore).get(DataStore.class.getName());
if (dataStore != null && dataStoreFixture != null) {
dataStoreFixture.dispose(dataStore);
- File dataStoreFolder = (File) components.get(nodeStore,
DataStore.class.getName() + ":folder");
+ File dataStoreFolder = (File)
components.get(nodeStore).get(DataStore.class.getName() + ":folder");
FileUtils.deleteQuietly(dataStoreFolder);
}
MongoUtils.dropDatabase(db);
@@ -155,7 +156,7 @@ public class DocumentMongoNodeStoreFixture extends
NodeStoreFixture implements C
connection.close();
}
} finally {
- components.row(nodeStore).clear();
+ components.get(nodeStore).clear();
}
}
@@ -179,6 +180,6 @@ public class DocumentMongoNodeStoreFixture extends
NodeStoreFixture implements C
@Override
public <T> T get(NodeStore nodeStore, String componentName) {
- return (T) components.get(nodeStore, componentName);
+ return (T) components.get(nodeStore).get(componentName);
}
}
diff --git
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/SegmentMemoryNodeStoreFixture.java
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/SegmentMemoryNodeStoreFixture.java
index 366058f45e..919a036c6d 100644
---
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/SegmentMemoryNodeStoreFixture.java
+++
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/binary/fixtures/nodestore/SegmentMemoryNodeStoreFixture.java
@@ -20,6 +20,8 @@ package
org.apache.jackrabbit.oak.jcr.binary.fixtures.nodestore;
import java.io.File;
import java.io.IOException;
+import java.util.LinkedHashMap;
+import java.util.Map;
import javax.jcr.RepositoryException;
import org.apache.commons.io.FileUtils;
@@ -42,9 +44,6 @@ import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.jackrabbit.guava.common.collect.HashBasedTable;
-import org.apache.jackrabbit.guava.common.collect.Table;
-
/**
* Creates a repository with
* - SegmentNodeStore, storing data in-memory
@@ -57,7 +56,7 @@ public class SegmentMemoryNodeStoreFixture extends
NodeStoreFixture implements C
private final DataStoreFixture dataStoreFixture;
- private final Table<NodeStore, String, Object> components =
HashBasedTable.create();
+ private final Map<NodeStore, Map<String, Object>> components = new
LinkedHashMap<>();
public SegmentMemoryNodeStoreFixture(@Nullable DataStoreFixture
dataStoreFixture) {
this.dataStoreFixture = dataStoreFixture;
@@ -96,17 +95,18 @@ public class SegmentMemoryNodeStoreFixture extends
NodeStoreFixture implements C
FileStore fileStore = fileStoreBuilder.build();
NodeStore nodeStore =
SegmentNodeStoreBuilders.builder(fileStore).build();
+ components.put(nodeStore, new LinkedHashMap<>());
// track all main components
if (dataStore != null) {
- components.put(nodeStore, DataStore.class.getName(),
dataStore);
- components.put(nodeStore, DataStore.class.getName() +
":folder", dataStoreFolder);
+ components.get(nodeStore).put(DataStore.class.getName(),
dataStore);
+ components.get(nodeStore).put(DataStore.class.getName() +
":folder", dataStoreFolder);
}
if (blobStore != null) {
- components.put(nodeStore, BlobStore.class.getName(),
blobStore);
+ components.get(nodeStore).put(BlobStore.class.getName(),
blobStore);
}
- components.put(nodeStore, FileStore.class.getName(), fileStore);
- components.put(nodeStore, FileStore.class.getName() + ":root",
fileStoreRoot);
+ components.get(nodeStore).put(FileStore.class.getName(),
fileStore);
+ components.get(nodeStore).put(FileStore.class.getName() + ":root",
fileStoreRoot);
return nodeStore;
@@ -118,22 +118,22 @@ public class SegmentMemoryNodeStoreFixture extends
NodeStoreFixture implements C
@Override
public void dispose(NodeStore nodeStore) {
try {
- FileStore fileStore = (FileStore) components.get(nodeStore,
FileStore.class.getName());
+ FileStore fileStore = (FileStore)
components.get(nodeStore).get(FileStore.class.getName());
if (fileStore != null) {
fileStore.close();
}
- File fileStoreRoot = (File) components.get(nodeStore,
FileStore.class.getName() + ":root");
+ File fileStoreRoot = (File)
components.get(nodeStore).get(FileStore.class.getName() + ":root");
FileUtils.deleteQuietly(fileStoreRoot);
- DataStore dataStore = (DataStore) components.get(nodeStore,
DataStore.class.getName());
+ DataStore dataStore = (DataStore)
components.get(nodeStore).get(DataStore.class.getName());
if (dataStore != null && dataStoreFixture != null) {
dataStoreFixture.dispose(dataStore);
- File dataStoreFolder = (File) components.get(nodeStore,
DataStore.class.getName() + ":folder");
+ File dataStoreFolder = (File)
components.get(nodeStore).get(DataStore.class.getName() + ":folder");
FileUtils.deleteQuietly(dataStoreFolder);
}
} finally {
- components.row(nodeStore).clear();
+ components.get(nodeStore).clear();
}
}
@@ -158,6 +158,6 @@ public class SegmentMemoryNodeStoreFixture extends
NodeStoreFixture implements C
@Override
public <T> T get(NodeStore nodeStore, String componentName) {
- return (T) components.get(nodeStore, componentName);
+ return (T) components.get(nodeStore).get(componentName);
}
}
diff --git
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/random/RandomizedReadTest.java
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/random/RandomizedReadTest.java
index 70e4934f4d..ddbe33bdb2 100644
---
a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/random/RandomizedReadTest.java
+++
b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/random/RandomizedReadTest.java
@@ -18,6 +18,8 @@ package org.apache.jackrabbit.oak.jcr.random;
import java.security.Principal;
+import java.util.LinkedHashMap;
+import java.util.Map;
import java.util.Random;
import javax.jcr.Node;
@@ -27,8 +29,6 @@ import javax.jcr.security.AccessControlEntry;
import javax.jcr.security.AccessControlList;
import javax.jcr.security.AccessControlManager;
-import org.apache.jackrabbit.guava.common.collect.HashBasedTable;
-import org.apache.jackrabbit.guava.common.collect.Table;
import org.apache.jackrabbit.api.JackrabbitSession;
import org.apache.jackrabbit.api.security.JackrabbitAccessControlList;
import
org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils;
@@ -39,18 +39,24 @@ import org.junit.Test;
public class RandomizedReadTest extends AbstractRandomizedTest {
private static final int depth = 4;
- private static final Table<Integer, Integer, String> tree =
HashBasedTable.create();
+ private static final Map<Integer, Map<Integer, String>> tree = new
LinkedHashMap<>();
static {
- tree.put(0, 0, "/");
- tree.put(1, 0, "/n1");
- tree.put(1, 1, "/n2");
- tree.put(2, 0, "/n1/n3");
- tree.put(2, 1, "/n1/n4");
- tree.put(2, 2, "/n1/n5");
- tree.put(3, 0, "/n1/n3/n6");
- tree.put(3, 1, "/n1/n3/n7");
- tree.put(3, 2, "/n1/n3/n8");
- tree.put(3, 3, "/n1/n3/n9");
+
+ // Java
+ for (int i = 0; i < depth; i++) {
+ tree.put(i, new LinkedHashMap<>());
+ }
+
+ tree.get(0).put(0, "/");
+ tree.get(1).put(0, "/n1");
+ tree.get(1).put(1, "/n2");
+ tree.get(2).put(0, "/n1/n3");
+ tree.get(2).put(1, "/n1/n4");
+ tree.get(2).put(2, "/n1/n5");
+ tree.get(3).put(0, "/n1/n3/n6");
+ tree.get(3).put(1, "/n1/n3/n7");
+ tree.get(3).put(2, "/n1/n3/n8");
+ tree.get(3).put(3, "/n1/n3/n9");
}
@Override
@@ -134,37 +140,39 @@ public class RandomizedReadTest extends
AbstractRandomizedTest {
if (depth == 0) {
return "/";
}
- return tree.get(depth, index);
+ return tree.get(depth).get(index);
}
public void check() throws Exception {
boolean mustThrow;
try {
- for (String path : tree.values()) {
- mustThrow = false;
-
- Session s1 = readSessions.get(0);
- try {
- Node n = s1.getNode(path);
- if (!path.equals(n.getPath())) {
- Assert.fail("did not resolved the same node");
- }
- } catch (PathNotFoundException pnf) {
- mustThrow = true;
- }
+ for (Map<Integer, String> t : tree.values()) {
+ for (String path : t.values()) {
+ mustThrow = false;
- for (int i = 1; i < readSessions.size(); i++) {
+ Session s1 = readSessions.get(0);
try {
- Node n = readSessions.get(i).getNode(path);
- if (mustThrow) {
- Assert.fail("did not throw for path " + path);
- }
+ Node n = s1.getNode(path);
if (!path.equals(n.getPath())) {
Assert.fail("did not resolved the same node");
}
} catch (PathNotFoundException pnf) {
- if (!mustThrow) {
- Assert.fail("did throw for path " + path);
+ mustThrow = true;
+ }
+
+ for (int i = 1; i < readSessions.size(); i++) {
+ try {
+ Node n = readSessions.get(i).getNode(path);
+ if (mustThrow) {
+ Assert.fail("did not throw for path " + path);
+ }
+ if (!path.equals(n.getPath())) {
+ Assert.fail("did not resolved the same node");
+ }
+ } catch (PathNotFoundException pnf) {
+ if (!mustThrow) {
+ Assert.fail("did throw for path " + path);
+ }
}
}
}