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 b5c9ffb85f OAK-11267: remove new use of Guava (#2761)
b5c9ffb85f is described below
commit b5c9ffb85f7151b3792deafc32231154f1d1a813
Author: Julian Reschke <[email protected]>
AuthorDate: Tue Feb 24 11:30:06 2026 +0100
OAK-11267: remove new use of Guava (#2761)
---
.../azure/blobstorage/AzureBlobStoreBackend.java | 11 +++----
.../oak/blob/cloud/azure/blobstorage/Utils.java | 6 ++--
.../blobstorage/v8/AzureBlobStoreBackendV8.java | 36 +++++++++++-----------
.../blob/cloud/azure/blobstorage/v8/UtilsV8.java | 8 ++---
.../v8/AzureBlobContainerProviderV8Test.java | 7 +++--
5 files changed, 34 insertions(+), 34 deletions(-)
diff --git
a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
index 4ead20ae0e..0f18882dcc 100644
---
a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
+++
b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureBlobStoreBackend.java
@@ -38,11 +38,8 @@ import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.core.data.DataIdentifier;
import org.apache.jackrabbit.core.data.DataRecord;
import org.apache.jackrabbit.core.data.DataStoreException;
-import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.cache.Cache;
import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
-import org.apache.jackrabbit.guava.common.collect.Lists;
-import org.apache.jackrabbit.guava.common.collect.Maps;
import org.apache.jackrabbit.oak.commons.PropertiesUtil;
import org.apache.jackrabbit.oak.commons.conditions.Validate;
import org.apache.jackrabbit.oak.spi.blob.AbstractDataRecord;
@@ -851,7 +848,7 @@ public class AzureBlobStoreBackend extends
AbstractAzureBlobStoreBackend {
}
protected DataRecordUpload initiateHttpUpload(long maxUploadSizeInBytes,
int maxNumberOfURIs, @NotNull final DataRecordUploadOptions options) {
- List<URI> uploadPartURIs = Lists.newArrayList();
+ List<URI> uploadPartURIs = new ArrayList<>();
long minPartSize = AZURE_BLOB_MIN_MULTIPART_UPLOAD_PART_SIZE;
long maxPartSize = AZURE_BLOB_MAX_MULTIPART_UPLOAD_PART_SIZE;
@@ -910,7 +907,7 @@ public class AzureBlobStoreBackend extends
AbstractAzureBlobStoreBackend {
BlobSasPermission perms = new BlobSasPermission()
.setWritePermission(true);
- Map<String, String> presignedURIRequestParams = Maps.newHashMap();
+ Map<String, String> presignedURIRequestParams = new HashMap<>();
// see
https://docs.microsoft.com/en-us/rest/api/storageservices/put-block#uri-parameters
presignedURIRequestParams.put("comp", "block");
for (long blockId = 1; blockId <= numParts; ++blockId) {
@@ -1049,7 +1046,7 @@ public class AzureBlobStoreBackend extends
AbstractAzureBlobStoreBackend {
BlobSasPermission blobSasPermissions,
int expirySeconds,
String domain) {
- return createPresignedURI(key, blobSasPermissions, expirySeconds,
Maps.newHashMap(), domain, null);
+ return createPresignedURI(key, blobSasPermissions, expirySeconds, new
HashMap<>(), domain, null);
}
private URI createPresignedURI(String key,
@@ -1066,7 +1063,7 @@ public class AzureBlobStoreBackend extends
AbstractAzureBlobStoreBackend {
Map<String, String> additionalQueryParams,
String domain,
BlobSasHeaders optionalHeaders) {
- if (Strings.isNullOrEmpty(domain)) {
+ if (Objects.toString(domain, "").isEmpty()) {
LOG.warn("Can't generate presigned URI - no Azure domain provided
(is Azure account name configured?)");
return null;
}
diff --git
a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/Utils.java
b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/Utils.java
index 6abede68a0..6ba260defa 100644
---
a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/Utils.java
+++
b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/Utils.java
@@ -23,6 +23,7 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetSocketAddress;
+import java.util.Objects;
import java.util.Properties;
import com.azure.core.http.HttpClient;
@@ -36,7 +37,6 @@ import com.azure.storage.common.policy.RequestRetryOptions;
import com.azure.storage.common.policy.RetryPolicyType;
import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.core.data.DataStoreException;
-import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.oak.commons.PropertiesUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -77,7 +77,7 @@ public final class Utils {
String proxyHost = properties.getProperty(AzureConstants.PROXY_HOST);
String proxyPort = properties.getProperty(AzureConstants.PROXY_PORT);
- if(!(Strings.isNullOrEmpty(proxyHost) ||
Strings.isNullOrEmpty(proxyPort))) {
+ if(!(Objects.toString(proxyHost, "").isEmpty() ||
Objects.toString(proxyPort, "").isEmpty())) {
return new ProxyOptions(ProxyOptions.Type.HTTP,
new InetSocketAddress(proxyHost,
Integer.parseInt(proxyPort)));
}
@@ -133,7 +133,7 @@ public final class Utils {
StringBuilder connString = new
StringBuilder("DefaultEndpointsProtocol=https");
connString.append(";AccountName=").append(accountName);
connString.append(";AccountKey=").append(accountKey);
- if (!Strings.isNullOrEmpty(blobEndpoint)) {
+ if (!Objects.toString(blobEndpoint, "").isEmpty()) {
connString.append(";BlobEndpoint=").append(blobEndpoint);
}
return connString.toString();
diff --git
a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobStoreBackendV8.java
b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobStoreBackendV8.java
index c295f6b740..11904fb3a5 100644
---
a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobStoreBackendV8.java
+++
b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobStoreBackendV8.java
@@ -45,9 +45,12 @@ import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import java.time.Instant;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumSet;
+import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -59,12 +62,9 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
-import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.cache.Cache;
import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
-import org.apache.jackrabbit.guava.common.collect.AbstractIterator;
-import org.apache.jackrabbit.guava.common.collect.Lists;
-import org.apache.jackrabbit.guava.common.collect.Maps;
+import org.apache.jackrabbit.oak.commons.collections.AbstractIterator;
import org.apache.jackrabbit.oak.commons.time.Stopwatch;
import com.microsoft.azure.storage.AccessCondition;
@@ -176,7 +176,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
try {
UtilsV8.setProxyIfNeeded(properties);
createBlobContainer = PropertiesUtil.toBoolean(
-
Strings.emptyToNull(properties.getProperty(AzureConstants.AZURE_CREATE_CONTAINER)),
true);
+
org.apache.jackrabbit.oak.commons.StringUtils.emptyToNull(properties.getProperty(AzureConstants.AZURE_CREATE_CONTAINER)),
true);
initAzureDSConfig();
concurrentRequestCount = PropertiesUtil.toInteger(
@@ -200,7 +200,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
requestTimeout =
PropertiesUtil.toInteger(properties.getProperty(AzureConstants.AZURE_BLOB_REQUEST_TIMEOUT),
RetryPolicy.DEFAULT_CLIENT_RETRY_COUNT);
}
presignedDownloadURIVerifyExists = PropertiesUtil.toBoolean(
-
Strings.emptyToNull(properties.getProperty(AzureConstants.PRESIGNED_HTTP_DOWNLOAD_URI_VERIFY_EXISTS)),
true);
+
org.apache.jackrabbit.oak.commons.StringUtils.emptyToNull(properties.getProperty(AzureConstants.PRESIGNED_HTTP_DOWNLOAD_URI_VERIFY_EXISTS)),
true);
enableSecondaryLocation = PropertiesUtil.toBoolean(
properties.getProperty(AzureConstants.AZURE_BLOB_ENABLE_SECONDARY_LOCATION_NAME),
@@ -238,7 +238,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
// Initialize reference key secret
boolean createRefSecretOnInit = PropertiesUtil.toBoolean(
-
Strings.emptyToNull(properties.getProperty(AzureConstants.AZURE_REF_ON_INIT)),
true);
+
org.apache.jackrabbit.oak.commons.StringUtils.emptyToNull(properties.getProperty(AzureConstants.AZURE_REF_ON_INIT)),
true);
if (createRefSecretOnInit) {
getOrCreateReferenceKey();
@@ -569,7 +569,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
Objects.requireNonNull(prefix, "prefix must not be null");
Stopwatch watch = Stopwatch.createStarted();
- final List<DataRecord> records = Lists.newArrayList();
+ final List<DataRecord> records = new ArrayList<>();
ClassLoader contextClassLoader =
Thread.currentThread().getContextClassLoader();
try {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
@@ -781,13 +781,13 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
headers.setCacheControl(String.format("private, max-age=%d,
immutable", httpDownloadURIExpirySeconds));
String contentType = downloadOptions.getContentTypeHeader();
- if (!Strings.isNullOrEmpty(contentType)) {
+ if (!Objects.toString(contentType, "").isEmpty()) {
headers.setContentType(contentType);
}
String contentDisposition =
downloadOptions.getContentDispositionHeader();
- if (!Strings.isNullOrEmpty(contentDisposition)) {
+ if (!Objects.toString(contentDisposition, "").isEmpty()) {
headers.setContentDisposition(contentDisposition);
}
@@ -816,7 +816,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
}
protected DataRecordUpload initiateHttpUpload(long maxUploadSizeInBytes,
int maxNumberOfURIs, @NotNull final DataRecordUploadOptions options) {
- List<URI> uploadPartURIs = Lists.newArrayList();
+ List<URI> uploadPartURIs = new ArrayList<>();
long minPartSize = AZURE_BLOB_MIN_MULTIPART_UPLOAD_PART_SIZE;
long maxPartSize = AZURE_BLOB_MAX_MULTIPART_UPLOAD_PART_SIZE;
@@ -875,7 +875,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
Objects.requireNonNull(domain, "Could not determine domain for
direct upload");
EnumSet<SharedAccessBlobPermissions> perms =
EnumSet.of(SharedAccessBlobPermissions.WRITE);
- Map<String, String> presignedURIRequestParams = Maps.newHashMap();
+ Map<String, String> presignedURIRequestParams = new HashMap<>();
// see
https://docs.microsoft.com/en-us/rest/api/storageservices/put-block#uri-parameters
presignedURIRequestParams.put("comp", "block");
for (long blockId = 1; blockId <= numParts; ++blockId) {
@@ -985,7 +985,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
private String getDefaultBlobStorageDomain() {
String accountName =
properties.getProperty(AzureConstants.AZURE_STORAGE_ACCOUNT_NAME, "");
- if (Strings.isNullOrEmpty(accountName)) {
+ if (Objects.toString(accountName, "").isEmpty()) {
LOG.warn("Can't generate presigned URI - Azure account name not
found in properties");
return null;
}
@@ -996,7 +996,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
String domain = ignoreDomainOverride
? getDefaultBlobStorageDomain()
: downloadDomainOverride;
- if (Strings.isNullOrEmpty(domain)) {
+ if (Objects.toString(domain, "").isEmpty()) {
domain = getDefaultBlobStorageDomain();
}
return domain;
@@ -1006,7 +1006,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
String domain = ignoreDomainOverride
? getDefaultBlobStorageDomain()
: uploadDomainOverride;
- if (Strings.isNullOrEmpty(domain)) {
+ if (Objects.toString(domain, "").isEmpty()) {
domain = getDefaultBlobStorageDomain();
}
return domain;
@@ -1017,7 +1017,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
int expirySeconds,
SharedAccessBlobHeaders optionalHeaders,
String domain) {
- return createPresignedURI(key, permissions, expirySeconds,
Maps.newHashMap(), optionalHeaders, domain);
+ return createPresignedURI(key, permissions, expirySeconds, new
HashMap<>(), optionalHeaders, domain);
}
private URI createPresignedURI(String key,
@@ -1034,7 +1034,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
Map<String, String> additionalQueryParams,
SharedAccessBlobHeaders optionalHeaders,
String domain) {
- if (Strings.isNullOrEmpty(domain)) {
+ if (Objects.toString(domain, "").isEmpty()) {
LOG.warn("Can't generate presigned URI - no Azure domain provided
(is Azure account name configured?)");
return null;
}
@@ -1120,7 +1120,7 @@ public class AzureBlobStoreBackendV8 extends
AbstractAzureBlobStoreBackend {
ResultContinuation resultContinuation;
boolean firstCall = true;
final Function<AzureBlobInfo, T> transformer;
- final Queue<AzureBlobInfo> items = Lists.newLinkedList();
+ final Queue<AzureBlobInfo> items = new LinkedList<>();
public RecordsIterator (Function<AzureBlobInfo, T> transformer) {
this.transformer = transformer;
diff --git
a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/UtilsV8.java
b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/UtilsV8.java
index 5a61f4fd1d..a21c1a1a31 100644
---
a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/UtilsV8.java
+++
b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/UtilsV8.java
@@ -30,7 +30,6 @@ import com.microsoft.azure.storage.blob.CloudBlobClient;
import com.microsoft.azure.storage.blob.CloudBlobContainer;
import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.core.data.DataStoreException;
-import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.oak.blob.cloud.azure.blobstorage.AzureConstants;
import org.apache.jackrabbit.oak.commons.PropertiesUtil;
import org.jetbrains.annotations.NotNull;
@@ -41,6 +40,7 @@ import java.net.Proxy;
import java.net.SocketAddress;
import java.net.URISyntaxException;
import java.security.InvalidKeyException;
+import java.util.Objects;
import java.util.Properties;
public final class UtilsV8 {
@@ -100,8 +100,8 @@ public final class UtilsV8 {
String proxyHost = properties.getProperty(AzureConstants.PROXY_HOST);
String proxyPort = properties.getProperty(AzureConstants.PROXY_PORT);
- if (!(Strings.isNullOrEmpty(proxyHost) ||
- Strings.isNullOrEmpty(proxyPort))) {
+ if (!(Objects.toString(proxyHost, "").isEmpty() ||
+ Objects.toString(proxyPort, "").isEmpty())) {
int port = Integer.parseInt(proxyPort);
SocketAddress proxyAddr = new InetSocketAddress(proxyHost, port);
Proxy proxy = new Proxy(Proxy.Type.HTTP, proxyAddr);
@@ -148,7 +148,7 @@ public final class UtilsV8 {
connString.append(";AccountName=").append(accountName);
connString.append(";AccountKey=").append(accountKey);
- if (!Strings.isNullOrEmpty(blobEndpoint)) {
+ if (!Objects.toString(blobEndpoint, "").isEmpty()) {
connString.append(";BlobEndpoint=").append(blobEndpoint);
}
return connString.toString();
diff --git
a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8Test.java
b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8Test.java
index 287dcdaeae..bb5969d60e 100644
---
a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8Test.java
+++
b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/v8/AzureBlobContainerProviderV8Test.java
@@ -34,14 +34,15 @@ import org.junit.Before;
import org.junit.ClassRule;
import org.junit.Test;
import org.mockito.MockitoAnnotations;
-import org.testcontainers.shaded.com.google.common.collect.ImmutableSet;
import java.io.IOException;
import java.net.URISyntaxException;
import java.time.Duration;
import java.time.Instant;
+import java.util.Collections;
import java.util.Date;
import java.util.EnumSet;
+import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import java.util.stream.StreamSupport;
@@ -692,7 +693,9 @@ public class AzureBlobContainerProviderV8Test {
}
private static Set<String> concat(Set<String> set, String element) {
- return ImmutableSet.<String>builder().addAll(set).add(element).build();
+ Set<String> result = new HashSet<>(set);
+ result.add(element);
+ return Collections.unmodifiableSet(result);
}
// ========== Additional SAS Generation Tests ==========