You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2025/01/10 06:32:38 UTC
(jackrabbit-oak) 01/01: OAK-11377: Remove usage of Guava ByteStreams.toByteArray()
This is an automated email from the ASF dual-hosted git repository.
reschke pushed a commit to branch OAK-11377
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit a04a20a452efe862a9e7c5cb6455ebd37c2b108f
Author: Julian Reschke <ju...@gmx.de>
AuthorDate: Fri Jan 10 07:32:24 2025 +0100
OAK-11377: Remove usage of Guava ByteStreams.toByteArray()
---
.../authentication/ldap/LdapServerClassLoader.java | 15 ++++++++-------
.../jackrabbit/oak/plugins/blob/cloud/CloudBlobStore.java | 3 +--
.../directaccess/AbstractDataRecordAccessProviderIT.java | 3 +--
.../AbstractDataRecordAccessProviderTest.java | 7 +++----
.../jackrabbit/oak/segment/CompactionAndCleanupIT.java | 9 ++++-----
.../oak/plugins/document/BlobThroughPutTest.java | 3 +--
.../jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java | 3 +--
.../jackrabbit/oak/plugins/memory/MemoryNodeStore.java | 4 +---
.../apache/jackrabbit/oak/plugins/value/Conversions.java | 12 ++----------
9 files changed, 22 insertions(+), 37 deletions(-)
diff --git a/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapServerClassLoader.java b/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapServerClassLoader.java
index c8431a101f..30104b0698 100644
--- a/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapServerClassLoader.java
+++ b/oak-auth-ldap/src/test/java/org/apache/jackrabbit/oak/security/authentication/ldap/LdapServerClassLoader.java
@@ -14,11 +14,8 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.jackrabbit.oak.security.authentication.ldap;
-import org.apache.jackrabbit.guava.common.io.ByteStreams;
-
import ch.qos.logback.classic.Logger;
import ch.qos.logback.core.Appender;
@@ -47,10 +44,14 @@ public class LdapServerClassLoader extends URLClassLoader {
private LdapServerClassLoader(URL[] urls, Class serverClass, Class serverBaseClass) throws IOException {
super(urls, ClassLoader.getSystemClassLoader().getParent());
- this.serverClassResource = ByteStreams.toByteArray(
- serverClass.getResourceAsStream("/".concat(serverClass.getCanonicalName()).replace('.', '/').concat(".class")));
- this.serverBaseClassResource = ByteStreams.toByteArray(
- serverBaseClass.getResourceAsStream("/".concat(serverBaseClass.getCanonicalName()).replace('.', '/').concat(".class")));
+ this.serverClassResource = classAsBytes(serverClass);
+ this.serverBaseClassResource = classAsBytes(serverBaseClass);
+ }
+
+ private static byte[] classAsBytes(Class base) throws IOException {
+ try (InputStream is = base.getResourceAsStream("/".concat(base.getCanonicalName()).replace('.', '/').concat(".class"))) {
+ return is.readAllBytes();
+ }
}
public static LdapServerClassLoader createServerClassLoader() throws URISyntaxException, ClassNotFoundException, IOException {
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/cloud/CloudBlobStore.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/cloud/CloudBlobStore.java
index ed1016ac32..cd56cb9226 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/cloud/CloudBlobStore.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/cloud/CloudBlobStore.java
@@ -25,7 +25,6 @@ import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Objects;
-import org.apache.jackrabbit.guava.common.io.ByteStreams;
import org.apache.jackrabbit.oak.commons.StringUtils;
import org.apache.jackrabbit.oak.plugins.blob.CachingBlobStore;
import org.jclouds.ContextBuilder;
@@ -160,7 +159,7 @@ public class CloudBlobStore extends CachingBlobStore {
Payload payload = cloudBlob.getPayload();
try {
- data = ByteStreams.toByteArray(payload.getInput());
+ data = payload.getInput().readAllBytes();
cache.put(id, data);
} finally {
payload.close();
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderIT.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderIT.java
index e9487ee3e2..bcb4af5b54 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderIT.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderIT.java
@@ -34,7 +34,6 @@ import org.apache.jackrabbit.core.data.DataStore;
import org.apache.jackrabbit.core.data.DataStoreException;
import org.junit.Test;
-import static org.apache.jackrabbit.guava.common.io.ByteStreams.toByteArray;
import static org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreUtils.randomStream;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -111,7 +110,7 @@ public abstract class AbstractDataRecordAccessProviderIT {
assertNotNull(retrievedRecord);
in.reset();
- assertTrue(Arrays.equals(toByteArray(in), toByteArray(retrievedRecord.getStream())));
+ assertTrue(Arrays.equals(in.readAllBytes(), retrievedRecord.getStream().readAllBytes()));
}
finally {
if (null != uploadedRecord) {
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java
index 684c3e0fcf..883425a032 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/AbstractDataRecordAccessProviderTest.java
@@ -48,7 +48,6 @@ import org.slf4j.LoggerFactory;
import org.apache.jackrabbit.guava.common.base.Strings;
-import static org.apache.jackrabbit.guava.common.io.ByteStreams.toByteArray;
import static org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreUtils.randomStream;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -165,7 +164,7 @@ public abstract class AbstractDataRecordAccessProviderTest {
assertEquals(200, conn.getResponseCode());
testStream.reset();
- assertTrue(Arrays.equals(toByteArray(testStream), toByteArray(conn.getInputStream())));
+ assertTrue(Arrays.equals(testStream.readAllBytes(), conn.getInputStream().readAllBytes()));
}
finally {
if (null != record) {
@@ -240,7 +239,7 @@ public abstract class AbstractDataRecordAccessProviderTest {
);
testStream.reset();
- assertTrue(Arrays.equals(toByteArray(testStream), toByteArray(conn.getInputStream())));
+ assertTrue(Arrays.equals(testStream.readAllBytes(), conn.getInputStream().readAllBytes()));
}
}
finally {
@@ -586,7 +585,7 @@ public abstract class AbstractDataRecordAccessProviderTest {
DataRecord retrievedRecord = doGetRecord((DataStore) ds, uploadedRecord.getIdentifier());
assertNotNull(retrievedRecord);
uploadStream.reset();
- assertTrue(Arrays.equals(toByteArray(uploadStream), toByteArray(retrievedRecord.getStream())));
+ assertTrue(Arrays.equals(uploadStream.readAllBytes(), retrievedRecord.getStream().readAllBytes()));
}
finally {
if (null != uploadedRecord) {
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
index dddda115ea..4b56807173 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/CompactionAndCleanupIT.java
@@ -61,7 +61,6 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Consumer;
-import org.apache.jackrabbit.guava.common.io.ByteStreams;
import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.api.PropertyState;
@@ -218,8 +217,8 @@ public class CompactionAndCleanupIT {
long size7 = fileStore.getStats().getApproximateSize();
// No data loss
- byte[] blob = ByteStreams.toByteArray(nodeStore.getRoot()
- .getProperty("blob2").getValue(Type.BINARY).getNewStream());
+ byte[] blob = nodeStore.getRoot()
+ .getProperty("blob2").getValue(Type.BINARY).getNewStream().readAllBytes();
assertEquals(blobSize, blob.length);
} finally {
fileStore.close();
@@ -308,8 +307,8 @@ public class CompactionAndCleanupIT {
assertTrue("the blob should not be collected", size7 > blobSize);
// No data loss
- byte[] blob = ByteStreams.toByteArray(nodeStore.getRoot()
- .getProperty("blob2").getValue(Type.BINARY).getNewStream());
+ byte[] blob = nodeStore.getRoot()
+ .getProperty("blob2").getValue(Type.BINARY).getNewStream().readAllBytes();
assertEquals(blobSize, blob.length);
} finally {
fileStore.close();
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobThroughPutTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobThroughPutTest.java
index cac59c145c..5b4cb38892 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobThroughPutTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/BlobThroughPutTest.java
@@ -28,7 +28,6 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.commons.collections4.bidimap.DualHashBidiMap;
-import org.apache.jackrabbit.guava.common.io.ByteStreams;
import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
@@ -201,7 +200,7 @@ public class BlobThroughPutTest {
static {
try {
- DATA = ByteStreams.toByteArray(new RandomStream(BLOB_SIZE, 100));
+ DATA = (new RandomStream(BLOB_SIZE, 100)).readAllBytes();
} catch (IOException e) {
throw new IllegalStateException(e);
}
diff --git a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
index 9a289c7477..30b0a8ecd8 100644
--- a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
+++ b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeBuilder.java
@@ -35,7 +35,6 @@ import java.io.InputStream;
import java.util.Objects;
import java.util.StringJoiner;
-import org.apache.jackrabbit.guava.common.io.ByteStreams;
import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.api.PropertyState;
import org.apache.jackrabbit.oak.api.Type;
@@ -538,7 +537,7 @@ public class MemoryNodeBuilder implements NodeBuilder {
@Override
public Blob createBlob(InputStream stream) throws IOException {
try {
- return new ArrayBasedBlob(ByteStreams.toByteArray(stream));
+ return new ArrayBasedBlob(stream.readAllBytes());
} finally {
stream.close();
}
diff --git a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java
index 736ef75224..a35915f243 100644
--- a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java
+++ b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/memory/MemoryNodeStore.java
@@ -33,8 +33,6 @@ import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
-import org.apache.jackrabbit.guava.common.io.ByteStreams;
-
import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.commons.collections.CollectionUtils;
@@ -182,7 +180,7 @@ public class MemoryNodeStore implements NodeStore, Observable {
@Override
public ArrayBasedBlob createBlob(InputStream inputStream) throws IOException {
try {
- return new ArrayBasedBlob(ByteStreams.toByteArray(inputStream));
+ return new ArrayBasedBlob(inputStream.readAllBytes());
}
finally {
inputStream.close();
diff --git a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/Conversions.java b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/Conversions.java
index 6785e3ecce..89cf942557 100644
--- a/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/Conversions.java
+++ b/oak-store-spi/src/main/java/org/apache/jackrabbit/oak/plugins/value/Conversions.java
@@ -25,8 +25,6 @@ import java.nio.charset.StandardCharsets;
import java.util.Calendar;
import java.util.TimeZone;
-import org.apache.jackrabbit.guava.common.io.ByteStreams;
-
import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.api.Type;
import org.apache.jackrabbit.oak.plugins.memory.StringBasedBlob;
@@ -156,14 +154,8 @@ public final class Conversions {
return new Converter() {
@Override
public String toString() {
- try {
- InputStream in = value.getNewStream();
- try {
- return new String(ByteStreams.toByteArray(in), StandardCharsets.UTF_8);
- }
- finally {
- in.close();
- }
+ try (InputStream in = value.getNewStream()) {
+ return new String(in.readAllBytes(), StandardCharsets.UTF_8);
}
catch (IOException e) {
throw new IllegalArgumentException(e);