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 da...@apache.org on 2025/01/20 05:52:03 UTC
(jackrabbit-oak) branch trunk updated: OAK-11402 : removed usage of Guava Strings.isNullOrEmpty (#1995)
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 4b9ed48ce6 OAK-11402 : removed usage of Guava Strings.isNullOrEmpty (#1995)
4b9ed48ce6 is described below
commit 4b9ed48ce68c37eaea2fd12944a6ba5d433e0925
Author: Rishabh Kumar <ri...@gmail.com>
AuthorDate: Mon Jan 20 11:21:57 2025 +0530
OAK-11402 : removed usage of Guava Strings.isNullOrEmpty (#1995)
* OAK-11402 : removed usage of Guava Strings.isNullOrEmpty
* OAK-11402 : added commons-lang3 in fix oak-store-composite ITs
---------
Co-authored-by: Rishabh Kumar <di...@adobe.com>
---
.../authorization/cug/impl/CugPolicyImpl.java | 3 ++-
.../principalbased/impl/FilterProviderImpl.java | 3 ++-
.../impl/PrincipalBasedAccessControlManager.java | 3 ++-
.../authorization/principalbased/impl/Utils.java | 3 ++-
.../oak/benchmark/util/OakLuceneIndexUtils.java | 3 ++-
.../suites/ScalabilityBlobSearchSuite.java | 7 ++++---
.../scalability/suites/ScalabilityNodeSuite.java | 3 ++-
.../GetPrivilegeCollectionIncludeNamesTest.java | 3 ++-
.../authorization/MvGlobsAndSubtreesTest.java | 3 ++-
.../azure/blobstorage/AzureBlobStoreBackend.java | 19 ++++++++++---------
.../oak/blob/cloud/azure/blobstorage/Utils.java | 6 +++---
.../AzureDataRecordAccessProviderCDNTest.java | 3 ++-
.../AzureDataRecordAccessProviderIT.java | 3 ++-
.../cloud/azure/blobstorage/AzureDataStoreTest.java | 5 +++--
.../azure/blobstorage/AzureDataStoreUtils.java | 9 +++++----
.../jackrabbit/oak/blob/cloud/s3/S3Backend.java | 21 ++++++++++-----------
.../apache/jackrabbit/oak/blob/cloud/s3/Utils.java | 8 ++++----
.../oak/blob/cloud/s3/S3DataStoreUtils.java | 7 ++++---
.../blob/cloud/s3/TestS3DSWithSSEKMSwithKey.java | 3 ++-
.../oak/blob/cloud/s3/TestS3DataStore.java | 5 +++--
oak-blob-plugins/pom.xml | 4 ++++
.../blob/ConsolidatedDataStoreCacheStats.java | 6 +++---
.../blob/datastore/AbstractDataStoreService.java | 4 ++--
.../plugins/blob/datastore/DataStoreBlobStore.java | 3 +--
.../oak/plugins/blob/datastore/FSBackend.java | 12 +++++-------
.../plugins/blob/datastore/OakFileDataStore.java | 12 ++++++------
.../directaccess/DataRecordDownloadOptions.java | 17 ++++++++---------
.../plugins/blob/datastore/SharedDataStoreTest.java | 5 +++--
.../AbstractDataRecordAccessProviderTest.java | 3 ++-
.../directaccess/DataRecordDownloadOptionsTest.java | 15 +++++++--------
.../oak/plugins/atomic/AtomicCounterEditor.java | 3 ++-
.../org/apache/jackrabbit/oak/query/QueryImpl.java | 3 ++-
.../accesscontrol/AccessControlValidator.java | 3 ++-
.../security/privilege/PrivilegeManagerImpl.java | 4 ++--
.../oak/security/user/CacheConfiguration.java | 4 ++--
.../user/CachedPrincipalMembershipReader.java | 4 +++-
.../jackrabbit/oak/security/user/GroupImpl.java | 3 ++-
.../oak/security/user/UserManagerImpl.java | 5 +++--
.../nodetype/write/NodeTypeRegistryTest.java | 3 ++-
.../oak/segment/SegmentAzureDataStoreBlobGCIT.java | 3 ++-
.../oak/segment/SegmentS3DataStoreBlobGCIT.java | 3 ++-
.../jackrabbit/oak/jcr/AtomicCounterClusterIT.java | 3 ++-
.../index/lucene/LuceneIndexProviderService.java | 3 ++-
.../jackrabbit/oak/fixture/BlobStoreFixture.java | 3 ++-
.../jackrabbit/oak/fixture/DataStoreUtils.java | 4 ++--
.../jackrabbit/oak/run/DataStoreCheckTest.java | 3 ++-
.../oak/run/DataStoreCommandMetadataTest.java | 3 ++-
.../jackrabbit/oak/run/DataStoreCommandTest.java | 21 +++++++++++----------
oak-security-spi/pom.xml | 5 +++++
.../oak/spi/security/user/util/PasswordUtil.java | 6 +++---
.../segment/ReadOnlyStoreBlobReferencesTest.java | 4 ++--
.../oak/composite/it/CompositeTestSupport.java | 3 ++-
.../oak/plugins/document/DocumentNodeStore.java | 3 ++-
.../plugins/document/DocumentNodeStoreService.java | 13 +++++++------
.../oak/plugins/document/MongoBlobGCTest.java | 3 ++-
.../oak/plugins/document/RdbConnectionUtils.java | 4 ++--
56 files changed, 181 insertions(+), 139 deletions(-)
diff --git a/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPolicyImpl.java b/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPolicyImpl.java
index 1a28de465a..ecb8baffab 100644
--- a/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPolicyImpl.java
+++ b/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugPolicyImpl.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.spi.security.authorization.cug.impl;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.api.security.principal.PrincipalManager;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
@@ -143,7 +144,7 @@ class CugPolicyImpl implements CugPolicy {
}
String name = principal.getName();
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
throw new AccessControlException("Invalid principal " + name);
}
diff --git a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java
index 93728a0af0..e8cef11561 100644
--- a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java
+++ b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/FilterProviderImpl.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.api.security.principal.ItemBasedPrincipal;
import org.apache.jackrabbit.oak.api.Root;
@@ -127,7 +128,7 @@ public class FilterProviderImpl implements FilterProvider {
}
private static boolean isValidPath(@Nullable String path) {
- return !Strings.isNullOrEmpty(path) && PathUtils.isAbsolute(path);
+ return !StringUtils.isEmpty(path) && PathUtils.isAbsolute(path);
}
//-------------------------------------------------------------< Filter >---
diff --git a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java
index 5aab441c61..3288893980 100644
--- a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java
+++ b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/PrincipalBasedAccessControlManager.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.collect.Iterables;
import org.apache.jackrabbit.api.security.JackrabbitAccessControlPolicy;
@@ -327,7 +328,7 @@ class PrincipalBasedAccessControlManager extends AbstractAccessControlManager im
*/
private boolean canHandle(@Nullable Principal principal) throws AccessControlException {
String name = (principal == null) ? null : principal.getName();
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
throw new AccessControlException("Invalid principal " + name);
}
if (importBehavior == ImportBehavior.ABORT || importBehavior == ImportBehavior.IGNORE) {
diff --git a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/Utils.java b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/Utils.java
index e35b61ca69..d16cabd7b6 100644
--- a/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/Utils.java
+++ b/oak-authorization-principalbased/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/Utils.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
import org.apache.jackrabbit.oak.api.Tree;
@@ -75,7 +76,7 @@ final class Utils implements Constants {
*/
public static boolean canHandle(@NotNull Principal principal, @NotNull Filter filter, int importBehavior) throws AccessControlException {
String name = principal.getName();
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
throw new AccessControlException("Invalid principal " + name);
}
diff --git a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/util/OakLuceneIndexUtils.java b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/util/OakLuceneIndexUtils.java
index dd34eda04c..e1e4b2116a 100644
--- a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/util/OakLuceneIndexUtils.java
+++ b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/benchmark/util/OakLuceneIndexUtils.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.benchmark.util;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.commons.JcrUtils;
import org.apache.jackrabbit.oak.plugins.index.IndexConstants;
@@ -93,7 +94,7 @@ public class OakLuceneIndexUtils {
}
// Set file persistence if specified
- if (!Strings.isNullOrEmpty(persistencePath)) {
+ if (!StringUtils.isEmpty(persistencePath)) {
indexDef.setProperty(FulltextIndexConstants.PERSISTENCE_NAME,
FulltextIndexConstants.PERSISTENCE_FILE);
indexDef.setProperty(FulltextIndexConstants.PERSISTENCE_PATH,
diff --git a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityBlobSearchSuite.java b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityBlobSearchSuite.java
index 8b018f85e0..6d49839deb 100644
--- a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityBlobSearchSuite.java
+++ b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityBlobSearchSuite.java
@@ -36,6 +36,7 @@ import javax.jcr.nodetype.ConstraintViolationException;
import javax.jcr.nodetype.NodeType;
import javax.jcr.version.VersionException;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Stopwatch;
import org.apache.jackrabbit.guava.common.base.Strings;
@@ -143,11 +144,11 @@ public class ScalabilityBlobSearchSuite extends ScalabilityNodeSuite {
if (INDEX) {
OakIndexUtils.propertyIndexDefinition(session, NodeTypeConstants.JCR_MIMETYPE,
new String[] {NodeTypeConstants.JCR_MIMETYPE}, false,
- (Strings.isNullOrEmpty(indexType) ? new String[0] : new String[] {indexType}));
+ (StringUtils.isEmpty(indexType) ? new String[0] : new String[] {indexType}));
OakIndexUtils
.orderedIndexDefinition(session, NodeTypeConstants.JCR_LASTMODIFIED, ASYNC_INDEX,
new String[] {NodeTypeConstants.JCR_LASTMODIFIED}, false,
- (Strings.isNullOrEmpty(indexType) ? new String[0] : new String[] {indexType}),
+ (StringUtils.isEmpty(indexType) ? new String[0] : new String[] {indexType}),
null);
}
}
@@ -344,7 +345,7 @@ public class ScalabilityBlobSearchSuite extends ScalabilityNodeSuite {
file.setProperty(CUSTOM_PATH_PROP, file.getPath());
String reference = getRandomReadPath();
- if (!Strings.isNullOrEmpty(reference)) {
+ if (!StringUtils.isEmpty(reference)) {
file.setProperty(CUSTOM_REF_PROP, reference);
}
} finally {
diff --git a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java
index cf0e84f11b..ff8f8a068a 100644
--- a/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java
+++ b/oak-benchmarks-lucene/src/main/java/org/apache/jackrabbit/oak/scalability/suites/ScalabilityNodeSuite.java
@@ -33,6 +33,7 @@ import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Splitter;
import org.apache.jackrabbit.guava.common.base.Stopwatch;
@@ -448,7 +449,7 @@ public class ScalabilityNodeSuite extends ScalabilityAbstractSuite {
.with((Observer) provider)
.with(new LuceneIndexEditorProvider());
- if (!Strings.isNullOrEmpty(ASYNC_INDEX) && ASYNC_INDEX
+ if (!StringUtils.isEmpty(ASYNC_INDEX) && ASYNC_INDEX
.equals(IndexConstants.ASYNC_PROPERTY_NAME)) {
oak.withAsyncIndexing();
}
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/GetPrivilegeCollectionIncludeNamesTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/GetPrivilegeCollectionIncludeNamesTest.java
index 776e9c9406..d746ee7505 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/GetPrivilegeCollectionIncludeNamesTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/GetPrivilegeCollectionIncludeNamesTest.java
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.benchmark.authorization;
import joptsimple.internal.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.api.security.JackrabbitAccessControlManager;
import org.apache.jackrabbit.api.security.authorization.PrivilegeCollection;
import org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils;
@@ -54,7 +55,7 @@ public class GetPrivilegeCollectionIncludeNamesTest extends AbstractHasItemGetIt
@NotNull
private static EvaluationType getEvalType(@Nullable String type) {
- if (Strings.isNullOrEmpty(type)) {
+ if (StringUtils.isEmpty(type)) {
return EvaluationType.ACCESSCONTORL_MANAGER_GET_PRIVILEGE_COLLECTION;
}
try {
diff --git a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/MvGlobsAndSubtreesTest.java b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/MvGlobsAndSubtreesTest.java
index 41be9a9d42..1b73b821ef 100644
--- a/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/MvGlobsAndSubtreesTest.java
+++ b/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/authorization/MvGlobsAndSubtreesTest.java
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.benchmark.authorization;
import joptsimple.internal.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.api.security.JackrabbitAccessControlList;
import org.apache.jackrabbit.api.security.JackrabbitAccessControlManager;
import org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils;
@@ -57,7 +58,7 @@ public class MvGlobsAndSubtreesTest extends HasPermissionHasItemGetItemTest {
@NotNull
private static RestrictionType getRestrictionType(@Nullable String type) {
- if (Strings.isNullOrEmpty(type)) {
+ if (StringUtils.isEmpty(type)) {
return RestrictionType.REP_SUBTREES;
}
try {
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 edbb981269..ee8264fcc4 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
@@ -49,6 +49,7 @@ import java.util.UUID;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.cache.Cache;
import org.apache.jackrabbit.guava.common.cache.CacheBuilder;
@@ -549,7 +550,7 @@ public class AzureBlobStoreBackend extends AbstractSharedBackend {
if (null == input) {
throw new NullPointerException("input");
}
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
throw new IllegalArgumentException("name");
}
long start = System.currentTimeMillis();
@@ -572,7 +573,7 @@ public class AzureBlobStoreBackend extends AbstractSharedBackend {
if (null == input) {
throw new NullPointerException("input");
}
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
throw new IllegalArgumentException("name");
}
long start = System.currentTimeMillis();
@@ -878,13 +879,13 @@ public class AzureBlobStoreBackend extends AbstractSharedBackend {
headers.setCacheControl(String.format("private, max-age=%d, immutable", httpDownloadURIExpirySeconds));
String contentType = downloadOptions.getContentTypeHeader();
- if (! Strings.isNullOrEmpty(contentType)) {
+ if (! StringUtils.isEmpty(contentType)) {
headers.setContentType(contentType);
}
String contentDisposition =
downloadOptions.getContentDispositionHeader();
- if (! Strings.isNullOrEmpty(contentDisposition)) {
+ if (! StringUtils.isEmpty(contentDisposition)) {
headers.setContentDisposition(contentDisposition);
}
@@ -1046,7 +1047,7 @@ public class AzureBlobStoreBackend extends AbstractSharedBackend {
DataRecord completeHttpUpload(@NotNull String uploadTokenStr)
throws DataRecordUploadException, DataStoreException {
- if (Strings.isNullOrEmpty(uploadTokenStr)) {
+ if (StringUtils.isEmpty(uploadTokenStr)) {
throw new IllegalArgumentException("uploadToken required");
}
@@ -1106,7 +1107,7 @@ public class AzureBlobStoreBackend extends AbstractSharedBackend {
private String getDefaultBlobStorageDomain() {
String accountName = properties.getProperty(AzureConstants.AZURE_STORAGE_ACCOUNT_NAME, "");
- if (Strings.isNullOrEmpty(accountName)) {
+ if (StringUtils.isEmpty(accountName)) {
LOG.warn("Can't generate presigned URI - Azure account name not found in properties");
return null;
}
@@ -1117,7 +1118,7 @@ public class AzureBlobStoreBackend extends AbstractSharedBackend {
String domain = ignoreDomainOverride
? getDefaultBlobStorageDomain()
: downloadDomainOverride;
- if (Strings.isNullOrEmpty(domain)) {
+ if (StringUtils.isEmpty(domain)) {
domain = getDefaultBlobStorageDomain();
}
return domain;
@@ -1127,7 +1128,7 @@ public class AzureBlobStoreBackend extends AbstractSharedBackend {
String domain = ignoreDomainOverride
? getDefaultBlobStorageDomain()
: uploadDomainOverride;
- if (Strings.isNullOrEmpty(domain)) {
+ if (StringUtils.isEmpty(domain)) {
domain = getDefaultBlobStorageDomain();
}
return domain;
@@ -1155,7 +1156,7 @@ public class AzureBlobStoreBackend extends AbstractSharedBackend {
Map<String, String> additionalQueryParams,
SharedAccessBlobHeaders optionalHeaders,
String domain) {
- if (Strings.isNullOrEmpty(domain)) {
+ if (StringUtils.isEmpty(domain)) {
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 b8fda6981d..56613075d4 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
@@ -102,8 +102,8 @@ 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 (!StringUtils.isEmpty(proxyHost) &&
+ StringUtils.isEmpty(proxyPort)) {
int port = Integer.parseInt(proxyPort);
SocketAddress proxyAddr = new InetSocketAddress(proxyHost, port);
Proxy proxy = new Proxy(Proxy.Type.HTTP, proxyAddr);
@@ -162,7 +162,7 @@ public final class Utils {
connString.append(";AccountName=").append(accountName);
connString.append(";AccountKey=").append(accountKey);
- if (!Strings.isNullOrEmpty(blobEndpoint)) {
+ if (!StringUtils.isEmpty(blobEndpoint)) {
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/AzureDataRecordAccessProviderCDNTest.java b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataRecordAccessProviderCDNTest.java
index 1d5709242d..81d6339a5e 100644
--- a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataRecordAccessProviderCDNTest.java
+++ b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataRecordAccessProviderCDNTest.java
@@ -32,6 +32,7 @@ import java.io.File;
import java.net.URI;
import java.util.Properties;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.core.data.DataIdentifier;
import org.apache.jackrabbit.oak.api.blob.BlobDownloadOptions;
@@ -79,7 +80,7 @@ public class AzureDataRecordAccessProviderCDNTest extends AzureDataRecordAccessP
}
private static boolean isCDNConfigured() {
- return ! Strings.isNullOrEmpty(DOWNLOAD_URI_DOMAIN) && ! Strings.isNullOrEmpty(UPLOAD_URI_DOMAIN);
+ return ! StringUtils.isEmpty(DOWNLOAD_URI_DOMAIN) && ! StringUtils.isEmpty(UPLOAD_URI_DOMAIN);
}
private static AzureDataStore createDataStore(@NotNull Properties properties) throws Exception {
diff --git a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataRecordAccessProviderIT.java b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataRecordAccessProviderIT.java
index d07f483ffe..4a048b42d5 100644
--- a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataRecordAccessProviderIT.java
+++ b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataRecordAccessProviderIT.java
@@ -24,6 +24,7 @@ import java.net.URI;
import javax.net.ssl.HttpsURLConnection;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.core.data.DataIdentifier;
import org.apache.jackrabbit.core.data.DataRecord;
@@ -52,7 +53,7 @@ public class AzureDataRecordAccessProviderIT extends AbstractDataRecordAccessPro
@BeforeClass
public static void setupDataStore() throws Exception {
- assumeTrue(isAzureConfigured() && !Strings.isNullOrEmpty(System.getProperty("test.opts.memory")));
+ assumeTrue(isAzureConfigured() && !StringUtils.isEmpty(System.getProperty("test.opts.memory")));
dataStore = (AzureDataStore) getAzureDataStore(getAzureConfig(), homeDir.newFolder().getAbsolutePath());
dataStore.setDirectDownloadURIExpirySeconds(expirySeconds);
diff --git a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreTest.java b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreTest.java
index 632e3c3345..d9950c79af 100644
--- a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreTest.java
+++ b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreTest.java
@@ -26,6 +26,7 @@ import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static org.junit.Assume.assumeTrue;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.collect.Iterators;
import com.microsoft.azure.storage.StorageException;
@@ -631,7 +632,7 @@ public class AzureDataStoreTest {
public void testBackendDeleteMetadataRecord() throws DataStoreException {
backend.addMetadataRecord(randomStream(0, 10), "name");
for (String name : Arrays.asList("invalid", "", null)) {
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
try {
backend.deleteMetadataRecord(name);
}
@@ -649,7 +650,7 @@ public class AzureDataStoreTest {
public void testBackendMetadataRecordExists() throws DataStoreException {
backend.addMetadataRecord(randomStream(0, 10), "name");
for (String name : Arrays.asList("invalid", "", null)) {
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
try {
backend.metadataRecordExists(name);
}
diff --git a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreUtils.java b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreUtils.java
index aa14b38b8e..3903acc361 100644
--- a/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreUtils.java
+++ b/oak-blob-cloud-azure/src/test/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AzureDataStoreUtils.java
@@ -33,6 +33,7 @@ import java.util.Properties;
import javax.net.ssl.HttpsURLConnection;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import com.microsoft.azure.storage.blob.CloudBlobContainer;
import org.apache.commons.io.IOUtils;
@@ -87,13 +88,13 @@ public class AzureDataStoreUtils extends DataStoreUtils {
*/
public static Properties getAzureConfig() {
String config = System.getProperty(SYS_PROP_NAME);
- if (Strings.isNullOrEmpty(config)) {
+ if (StringUtils.isEmpty(config)) {
File cfgFile = new File(System.getProperty("user.home"), DEFAULT_PROPERTY_FILE);
if (cfgFile.exists()) {
config = cfgFile.getAbsolutePath();
}
}
- if (Strings.isNullOrEmpty(config)) {
+ if (StringUtils.isEmpty(config)) {
config = DEFAULT_CONFIG_PATH;
}
@@ -110,7 +111,7 @@ public class AzureDataStoreUtils extends DataStoreUtils {
}
props.putAll(getConfig());
Map<String, String> filtered = MapUtils.filterEntries(MapUtils.fromProperties(props),
- input -> !Strings.isNullOrEmpty(input.getValue()));
+ input -> !StringUtils.isEmpty(input.getValue()));
props = new Properties();
props.putAll(filtered);
}
@@ -169,7 +170,7 @@ public class AzureDataStoreUtils extends DataStoreUtils {
}
public static void deleteContainer(String containerName) throws Exception {
- if (Strings.isNullOrEmpty(containerName)) {
+ if (StringUtils.isEmpty(containerName)) {
log.warn("Cannot delete container with null or empty name. containerName={}", containerName);
return;
}
diff --git a/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java b/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
index 4eadf4cfdb..d29f305363 100644
--- a/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
+++ b/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
@@ -45,6 +45,7 @@ import java.util.function.Function;
import com.amazonaws.services.s3.model.GetObjectMetadataRequest;
import com.amazonaws.services.s3.model.GetObjectRequest;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.core.data.DataIdentifier;
import org.apache.jackrabbit.core.data.DataRecord;
import org.apache.jackrabbit.core.data.DataStoreException;
@@ -93,9 +94,7 @@ import com.amazonaws.services.s3.model.S3ObjectSummary;
import com.amazonaws.services.s3.transfer.Copy;
import com.amazonaws.services.s3.transfer.TransferManager;
import com.amazonaws.services.s3.transfer.Upload;
-import com.amazonaws.util.StringUtils;
-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;
@@ -175,13 +174,13 @@ public class S3Backend extends AbstractSharedBackend {
if (bucket == null || "".equals(bucket.trim())) {
bucket = properties.getProperty(S3Constants.S3_BUCKET);
// Alternately check if the 'container' property is set
- if (Strings.isNullOrEmpty(bucket)) {
+ if (StringUtils.isEmpty(bucket)) {
bucket = properties.getProperty(S3Constants.S3_CONTAINER);
}
}
String region = properties.getProperty(S3Constants.S3_REGION);
- if (StringUtils.isNullOrEmpty(region)) {
+ if (StringUtils.isEmpty(region)) {
com.amazonaws.regions.Region ec2Region = Regions.getCurrentRegion();
if (ec2Region != null) {
region = ec2Region.getName();
@@ -513,7 +512,7 @@ public class S3Backend extends AbstractSharedBackend {
@Override
public void addMetadataRecord(final InputStream input, final String name) throws DataStoreException {
checkArgument(input != null, "input should not be null");
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
@@ -536,7 +535,7 @@ public class S3Backend extends AbstractSharedBackend {
@Override
public void addMetadataRecord(File input, String name) throws DataStoreException {
checkArgument(input != null, "input should not be null");
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
try {
@@ -557,7 +556,7 @@ public class S3Backend extends AbstractSharedBackend {
@Override
public DataRecord getMetadataRecord(String name) {
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
try {
@@ -604,7 +603,7 @@ public class S3Backend extends AbstractSharedBackend {
@Override
public boolean deleteMetadataRecord(String name) {
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
try {
@@ -818,13 +817,13 @@ public class S3Backend extends AbstractSharedBackend {
);
String contentType = downloadOptions.getContentTypeHeader();
- if (! Strings.isNullOrEmpty(contentType)) {
+ if (! StringUtils.isEmpty(contentType)) {
requestParams.put("response-content-type", contentType);
}
String contentDisposition =
downloadOptions.getContentDispositionHeader();
- if (! Strings.isNullOrEmpty(contentDisposition)) {
+ if (! StringUtils.isEmpty(contentDisposition)) {
requestParams.put("response-content-disposition",
contentDisposition);
}
@@ -957,7 +956,7 @@ public class S3Backend extends AbstractSharedBackend {
DataRecord completeHttpUpload(@NotNull String uploadTokenStr)
throws DataRecordUploadException, DataStoreException {
- if (Strings.isNullOrEmpty(uploadTokenStr)) {
+ if (StringUtils.isEmpty(uploadTokenStr)) {
throw new IllegalArgumentException("uploadToken required");
}
diff --git a/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/Utils.java b/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/Utils.java
index 5144911582..d32b5159f3 100644
--- a/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/Utils.java
+++ b/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/Utils.java
@@ -24,6 +24,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
+import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -38,7 +39,6 @@ import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.S3ObjectSummary;
-import com.amazonaws.util.StringUtils;
/**
* Amazon S3 utilities.
@@ -89,8 +89,8 @@ public final class Utils {
String accessKey = prop.getProperty(S3Constants.ACCESS_KEY);
String secretKey = prop.getProperty(S3Constants.SECRET_KEY);
AmazonS3Client s3service = null;
- if (StringUtils.isNullOrEmpty(accessKey)
- || StringUtils.isNullOrEmpty(secretKey)) {
+ if (StringUtils.isEmpty(accessKey)
+ || StringUtils.isEmpty(secretKey)) {
LOG.info("Configuring Amazon Client from environment");
s3service = new AmazonS3Client(getClientConfiguration(prop));
} else {
@@ -106,7 +106,7 @@ public final class Utils {
if ((propEndPoint != null) & !"".equals(propEndPoint)) {
endpoint = propEndPoint;
} else {
- if (StringUtils.isNullOrEmpty(region)) {
+ if (StringUtils.isEmpty(region)) {
com.amazonaws.regions.Region s3Region = Regions.getCurrentRegion();
if (s3Region != null) {
region = s3Region.getName();
diff --git a/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3DataStoreUtils.java b/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3DataStoreUtils.java
index fcc274d860..2ebc30acbc 100644
--- a/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3DataStoreUtils.java
+++ b/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3DataStoreUtils.java
@@ -40,6 +40,7 @@ import com.amazonaws.services.s3.model.ObjectListing;
import com.amazonaws.services.s3.model.S3ObjectSummary;
import com.amazonaws.services.s3.transfer.TransferManager;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.core.data.DataStore;
@@ -101,13 +102,13 @@ public class S3DataStoreUtils extends DataStoreUtils {
*/
public static Properties getS3Config() {
String config = System.getProperty(SYS_PROP_NAME);
- if (Strings.isNullOrEmpty(config)) {
+ if (StringUtils.isEmpty(config)) {
File cfgFile = new File(System.getProperty("user.home"), DEFAULT_PROPERTY_FILE);
if (cfgFile.exists()) {
config = cfgFile.getAbsolutePath();
}
}
- if (Strings.isNullOrEmpty(config)) {
+ if (StringUtils.isEmpty(config)) {
config = DEFAULT_CONFIG_PATH;
}
Properties props = new Properties();
@@ -123,7 +124,7 @@ public class S3DataStoreUtils extends DataStoreUtils {
}
props.putAll(getConfig());
Map<String, String> filtered = MapUtils.filterEntries(MapUtils.fromProperties(props),
- input ->!Strings.isNullOrEmpty(input.getValue()));
+ input ->!StringUtils.isEmpty(input.getValue()));
props = new Properties();
props.putAll(filtered);
}
diff --git a/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DSWithSSEKMSwithKey.java b/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DSWithSSEKMSwithKey.java
index edf30247d7..b2ab5358d3 100644
--- a/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DSWithSSEKMSwithKey.java
+++ b/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DSWithSSEKMSwithKey.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.blob.cloud.s3;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.junit.AssumptionViolatedException;
import org.junit.Before;
@@ -39,7 +40,7 @@ public class TestS3DSWithSSEKMSwithKey extends TestS3Ds {
public void setUp() throws Exception {
super.setUp();
String keyid = props.getProperty(S3Constants.S3_SSE_KMS_KEYID);
- if (!Strings.isNullOrEmpty(keyid)) {
+ if (!StringUtils.isEmpty(keyid)) {
props.setProperty(S3Constants.S3_ENCRYPTION, S3Constants.S3_ENCRYPTION_SSE_KMS);
props.setProperty(S3Constants.S3_SSE_KMS_KEYID, keyid);
} else {
diff --git a/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java b/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java
index 5761049b54..2a7844c334 100644
--- a/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java
+++ b/oak-blob-cloud/src/test/java/org/apache/jackrabbit/oak/blob/cloud/s3/TestS3DataStore.java
@@ -45,6 +45,7 @@ import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import javax.jcr.RepositoryException;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.time.DateUtils;
@@ -323,7 +324,7 @@ public class TestS3DataStore {
s3ds.addMetadataRecord(randomStream(0, 10), "name");
for (String name : Arrays.asList("invalid", "", null)) {
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
try {
s3ds.metadataRecordExists(name);
}
@@ -345,7 +346,7 @@ public class TestS3DataStore {
s3ds.addMetadataRecord(randomStream(0, 10), "name");
for (String name : Arrays.asList("", null)) {
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
try {
s3ds.deleteMetadataRecord(name);
}
diff --git a/oak-blob-plugins/pom.xml b/oak-blob-plugins/pom.xml
index e2a5a3505c..f1ec472f44 100644
--- a/oak-blob-plugins/pom.xml
+++ b/oak-blob-plugins/pom.xml
@@ -143,6 +143,10 @@
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
<!-- Logging -->
<dependency>
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreCacheStats.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreCacheStats.java
index b038a2986c..fe93c709b7 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreCacheStats.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/ConsolidatedDataStoreCacheStats.java
@@ -33,7 +33,7 @@ import javax.management.openmbean.TabularData;
import javax.management.openmbean.TabularDataSupport;
import javax.management.openmbean.TabularType;
-import org.apache.jackrabbit.guava.common.base.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
@@ -132,7 +132,7 @@ public class ConsolidatedDataStoreCacheStats implements ConsolidatedDataStoreCac
*/
@Override
public boolean isFileSynced(final String nodePathName) {
- if (Strings.isNullOrEmpty(nodePathName)) {
+ if (StringUtils.isEmpty(nodePathName)) {
return false;
}
@@ -197,7 +197,7 @@ public class ConsolidatedDataStoreCacheStats implements ConsolidatedDataStoreCac
private boolean haveRecordForBlob(final Blob blob) {
final String fullBlobId = blob.getContentIdentity();
- if (!Strings.isNullOrEmpty(fullBlobId)
+ if (!StringUtils.isEmpty(fullBlobId)
&& !InMemoryDataRecord.isInstance(fullBlobId)) {
String blobId = DataStoreBlobStore.BlobId.of(fullBlobId).getBlobId();
return cachingDataStore.exists(new DataIdentifier(blobId));
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
index 72cc3f816d..0fc566a6f4 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
@@ -29,7 +29,7 @@ import java.util.Objects;
import javax.jcr.RepositoryException;
-import org.apache.jackrabbit.guava.common.base.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.core.data.DataStore;
import org.apache.jackrabbit.core.data.DataStoreException;
import org.apache.jackrabbit.oak.api.blob.BlobAccessProvider;
@@ -75,7 +75,7 @@ public abstract class AbstractDataStoreService {
int cacheSizeInMB = PropertiesUtil.toInteger(config.get(PROP_CACHE_SIZE), DataStoreBlobStore.DEFAULT_CACHE_SIZE);
String homeDir = lookup(context, PROP_HOME);
- if (config.containsKey(PATH) && !Strings.isNullOrEmpty((String) config.get(PATH))) {
+ if (config.containsKey(PATH) && !StringUtils.isEmpty((String) config.get(PATH))) {
log.info("Initializing the DataStore with path [{}]", config.get(PATH));
}
else if (homeDir != null) {
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
index 21c9027257..cbac63fc5c 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DataStoreBlobStore.java
@@ -78,7 +78,6 @@ import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.collect.Iterators;
import org.apache.jackrabbit.guava.common.io.ByteStreams;
import org.apache.jackrabbit.guava.common.io.Closeables;
@@ -307,7 +306,7 @@ public class DataStoreBlobStore
public void close() throws DataStoreException {
// If marked as shared transient then delete the repository marker in close
if (SHARED_TRANSIENT) {
- if (!Strings.isNullOrEmpty(getRepositoryId())) {
+ if (!org.apache.commons.lang3.StringUtils.isEmpty(getRepositoryId())) {
deleteMetadataRecord(SharedDataStoreUtils.SharedStoreRecordType.REPOSITORY.getNameFromId(getRepositoryId()));
}
}
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackend.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackend.java
index eb6c29186b..7822b115b4 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackend.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackend.java
@@ -24,14 +24,12 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.RandomAccessFile;
-import java.nio.file.Files;
-import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
-import org.apache.jackrabbit.guava.common.base.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.io.Closeables;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
@@ -187,7 +185,7 @@ public class FSBackend extends AbstractSharedBackend {
public void addMetadataRecord(InputStream input, String name)
throws DataStoreException {
checkArgument(input != null, "input should not be null");
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
try {
File file = new File(fsPathDir, name);
@@ -208,7 +206,7 @@ public class FSBackend extends AbstractSharedBackend {
@Override
public void addMetadataRecord(File input, String name) throws DataStoreException {
checkArgument(input != null, "input should not be null");
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
try {
File file = new File(fsPathDir, name);
@@ -222,7 +220,7 @@ public class FSBackend extends AbstractSharedBackend {
@Override
public DataRecord getMetadataRecord(String name) {
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
for (File file : FileFilterUtils
.filter(FileFilterUtils.nameFileFilter(name), fsPathDir.listFiles())) {
@@ -250,7 +248,7 @@ public class FSBackend extends AbstractSharedBackend {
@Override
public boolean deleteMetadataRecord(String name) {
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
for (File file : FileFilterUtils
.filterList(FileFilterUtils.nameFileFilter(name), fsPathDir.listFiles())) {
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java
index 75754351e2..7ad09d04c1 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/OakFileDataStore.java
@@ -32,7 +32,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Set;
-import org.apache.jackrabbit.guava.common.base.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.io.Closeables;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
@@ -135,7 +135,7 @@ public class OakFileDataStore extends FileDataStore implements SharedDataStore {
public void addMetadataRecord(InputStream input, String name)
throws DataStoreException {
checkArgument(input != null, "input should not be null");
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
try {
File file = new File(getPath(), name);
@@ -156,7 +156,7 @@ public class OakFileDataStore extends FileDataStore implements SharedDataStore {
@Override
public void addMetadataRecord(File input, String name) throws DataStoreException {
checkArgument(input != null, "input should not be null");
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
try {
File file = new File(getPath(), name);
@@ -170,7 +170,7 @@ public class OakFileDataStore extends FileDataStore implements SharedDataStore {
@Override
public DataRecord getMetadataRecord(String name) {
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
File root = new File(getPath());
for (File file : FileFilterUtils.filter(FileFilterUtils.nameFileFilter(name), root.listFiles())) {
@@ -183,7 +183,7 @@ public class OakFileDataStore extends FileDataStore implements SharedDataStore {
@Override
public boolean metadataRecordExists(String name) {
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
File root = new File(getPath());
@@ -221,7 +221,7 @@ public class OakFileDataStore extends FileDataStore implements SharedDataStore {
@Override
public boolean deleteMetadataRecord(String name) {
- checkArgument(!Strings.isNullOrEmpty(name), "name should not be empty");
+ checkArgument(!StringUtils.isEmpty(name), "name should not be empty");
File root = new File(getPath());
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptions.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptions.java
index 654a2a1df2..a6fca3396a 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptions.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptions.java
@@ -22,12 +22,11 @@ import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.oak.api.blob.BlobDownloadOptions;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import org.apache.jackrabbit.guava.common.base.Strings;
-
/**
* Contains download options for downloading a data record directly from a
* storage location using the direct download feature.
@@ -94,7 +93,7 @@ public class DataRecordDownloadOptions {
this.mediaType = mediaType;
this.characterEncoding = characterEncoding;
this.fileName = fileName;
- this.dispositionType = Strings.isNullOrEmpty(dispositionType) ?
+ this.dispositionType = StringUtils.isEmpty(dispositionType) ?
DISPOSITION_TYPE_INLINE :
dispositionType;
this.domainOverrideIgnored = domainOverrideIgnored;
@@ -112,9 +111,9 @@ public class DataRecordDownloadOptions {
*/
@Nullable
public String getContentTypeHeader() {
- if (Strings.isNullOrEmpty(contentTypeHeader)) {
- if (!Strings.isNullOrEmpty(mediaType)) {
- contentTypeHeader = Strings.isNullOrEmpty(characterEncoding) ?
+ if (StringUtils.isEmpty(contentTypeHeader)) {
+ if (!StringUtils.isEmpty(mediaType)) {
+ contentTypeHeader = StringUtils.isEmpty(characterEncoding) ?
mediaType :
mediaType + "; charset=" + characterEncoding;
}
@@ -136,10 +135,10 @@ public class DataRecordDownloadOptions {
*/
@Nullable
public String getContentDispositionHeader() {
- if (Strings.isNullOrEmpty(contentDispositionHeader)) {
- if (!Strings.isNullOrEmpty(fileName)) {
+ if (StringUtils.isEmpty(contentDispositionHeader)) {
+ if (!StringUtils.isEmpty(fileName)) {
String dispositionType = this.dispositionType;
- if (Strings.isNullOrEmpty(dispositionType)) {
+ if (StringUtils.isEmpty(dispositionType)) {
dispositionType = DISPOSITION_TYPE_INLINE;
}
contentDispositionHeader = formatContentDispositionHeader(dispositionType, fileName, rfc8187Encode(fileName));
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreTest.java
index 009eb908ce..75dd430b1d 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreTest.java
@@ -33,6 +33,7 @@ import java.util.Map;
import java.util.Properties;
import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.collect.Iterators;
import org.apache.commons.io.FileUtils;
@@ -313,7 +314,7 @@ public class SharedDataStoreTest {
fds.addMetadataRecord(randomStream(0, 10), "name");
for (String name : new ArrayList<>(Arrays.asList("", null))) {
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
try {
fds.deleteMetadataRecord(name);
}
@@ -387,7 +388,7 @@ public class SharedDataStoreTest {
fds.addMetadataRecord(randomStream(0, 10), "name");
for (String name : new ArrayList<>(Arrays.asList("invalid", "", null))) {
- if (Strings.isNullOrEmpty(name)) {
+ if (StringUtils.isEmpty(name)) {
try {
fds.metadataRecordExists(name);
}
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 883425a032..013c648fb2 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
@@ -35,6 +35,7 @@ import java.util.Properties;
import javax.net.ssl.HttpsURLConnection;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.core.data.DataIdentifier;
import org.apache.jackrabbit.core.data.DataRecord;
import org.apache.jackrabbit.core.data.DataStore;
@@ -301,7 +302,7 @@ public abstract class AbstractDataRecordAccessProviderTest {
assertTrue(uploadContext.getMaxPartSize() >= uploadContext.getMinPartSize());
assertTrue(uploadContext.getMaxPartSize() <= getProviderMaxPartSize());
assertTrue((uploadContext.getMaxPartSize() * uploadContext.getUploadURIs().size()) >= ONE_MB);
- assertFalse(Strings.isNullOrEmpty(uploadContext.getUploadToken()));
+ assertFalse(StringUtils.isEmpty(uploadContext.getUploadToken()));
}
@Test
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptionsTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptionsTest.java
index a9643faf66..efce65d436 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptionsTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/directaccess/DataRecordDownloadOptionsTest.java
@@ -21,11 +21,10 @@ package org.apache.jackrabbit.oak.plugins.blob.datastore.directaccess;
import java.nio.charset.StandardCharsets;
import java.util.List;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.oak.api.blob.BlobDownloadOptions;
import org.junit.Test;
-import org.apache.jackrabbit.guava.common.base.Strings;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
@@ -77,7 +76,7 @@ public class DataRecordDownloadOptionsTest {
private void verifyContentTypeHeader(DataRecordDownloadOptions options,
String contentTypeHeader) {
- if (Strings.isNullOrEmpty(contentTypeHeader)) {
+ if (StringUtils.isEmpty(contentTypeHeader)) {
assertNull(options.getContentTypeHeader());
}
else {
@@ -87,7 +86,7 @@ public class DataRecordDownloadOptionsTest {
private void verifyContentDispositionHeader(DataRecordDownloadOptions options,
String contentDispositionHeader) {
- if (Strings.isNullOrEmpty(contentDispositionHeader)) {
+ if (StringUtils.isEmpty(contentDispositionHeader)) {
assertNull(options.getContentDispositionHeader());
}
else {
@@ -111,23 +110,23 @@ public class DataRecordDownloadOptionsTest {
}
private String getContentTypeHeader(String mediaType, String characterEncoding) {
- return Strings.isNullOrEmpty(mediaType) ?
+ return StringUtils.isEmpty(mediaType) ?
null :
- (Strings.isNullOrEmpty(characterEncoding) ?
+ (StringUtils.isEmpty(characterEncoding) ?
mediaType :
mediaType + "; charset=" + characterEncoding
);
}
private String getContentDispositionHeader(String fileName, String encodedFileName, String dispositionType) {
- if (Strings.isNullOrEmpty(fileName)) {
+ if (StringUtils.isEmpty(fileName)) {
if (dispositionType.equals(DISPOSITION_TYPE_ATTACHMENT)) {
return DISPOSITION_TYPE_ATTACHMENT;
}
return null;
}
- if (Strings.isNullOrEmpty(dispositionType)) {
+ if (StringUtils.isEmpty(dispositionType)) {
dispositionType = DISPOSITION_TYPE_INLINE;
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/atomic/AtomicCounterEditor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/atomic/AtomicCounterEditor.java
index fce5e78cf9..c6b7ef4912 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/atomic/AtomicCounterEditor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/atomic/AtomicCounterEditor.java
@@ -28,6 +28,7 @@ import java.util.concurrent.Callable;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.collect.Iterators;
import org.apache.jackrabbit.oak.api.CommitFailedException;
@@ -204,7 +205,7 @@ public class AtomicCounterEditor extends DefaultEditor {
@Nullable Whiteboard board) {
this.builder = requireNonNull(builder);
this.path = path;
- this.instanceId = Strings.isNullOrEmpty(instanceId) ? null : instanceId;
+ this.instanceId = StringUtils.isEmpty(instanceId) ? null : instanceId;
this.executor = executor;
this.store = store;
this.board = board;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
index 4c6891a579..1801a807fd 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java
@@ -30,6 +30,7 @@ import java.util.Map;
import java.util.Optional;
import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.oak.api.PropertyValue;
import org.apache.jackrabbit.oak.api.Result.SizePrecision;
import org.apache.jackrabbit.oak.api.Tree;
@@ -1416,7 +1417,7 @@ public class QueryImpl implements Query {
@Override
public String getStatement() {
- return Strings.isNullOrEmpty(statement) ? toString() : statement;
+ return StringUtils.isEmpty(statement) ? toString() : statement;
}
public QueryEngineSettings getSettings() {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
index 02b60ee255..cc490a25d7 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/accesscontrol/AccessControlValidator.java
@@ -25,6 +25,7 @@ import javax.jcr.RepositoryException;
import javax.jcr.security.AccessControlException;
import javax.jcr.security.Privilege;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.collect.Iterables;
import org.apache.jackrabbit.JcrConstants;
@@ -243,7 +244,7 @@ class AccessControlValidator extends DefaultValidator implements AccessControlCo
@NotNull
private static String checkValidPrincipal(@NotNull Tree aceNode) throws CommitFailedException {
String principalName = TreeUtil.getString(aceNode, REP_PRINCIPAL_NAME);
- if (Strings.isNullOrEmpty(principalName)) {
+ if (StringUtils.isEmpty(principalName)) {
throw accessViolation(8, "Missing principal name at " + aceNode.getPath());
}
// validity of principal is only a JCR specific contract and will not be
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java
index b6a120893a..1f97f1f2a5 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/privilege/PrivilegeManagerImpl.java
@@ -25,7 +25,7 @@ import javax.jcr.RepositoryException;
import javax.jcr.security.AccessControlException;
import javax.jcr.security.Privilege;
-import org.apache.jackrabbit.guava.common.base.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.api.security.authorization.PrivilegeManager;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
@@ -82,7 +82,7 @@ class PrivilegeManagerImpl implements PrivilegeManager {
if (root.hasPendingChanges()) {
throw new InvalidItemStateException("Attempt to register a new privilege while there are pending changes.");
}
- if (Strings.isNullOrEmpty(privilegeName)) {
+ if (StringUtils.isEmpty(privilegeName)) {
throw new RepositoryException("Invalid privilege name " + privilegeName);
}
PrivilegeDefinition definition = new ImmutablePrivilegeDefinition(PrivilegeUtil.getOakName(privilegeName, namePathMapper), isAbstract, PrivilegeUtil.getOakNames(declaredAggregateNames, namePathMapper));
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheConfiguration.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheConfiguration.java
index 5560296e93..7a648f7762 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheConfiguration.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CacheConfiguration.java
@@ -16,7 +16,7 @@
*/
package org.apache.jackrabbit.oak.security.user;
-import org.apache.jackrabbit.guava.common.base.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
import org.jetbrains.annotations.NotNull;
@@ -68,7 +68,7 @@ final class CacheConfiguration {
*/
public static CacheConfiguration fromUserConfiguration(@NotNull UserConfiguration config, @NotNull String propertyName) {
- if (Strings.isNullOrEmpty(propertyName) || propertyName.trim().isEmpty()) {
+ if (StringUtils.isEmpty(propertyName) || propertyName.trim().isEmpty()) {
throw new IllegalArgumentException("Invalid property name: " + propertyName);
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CachedPrincipalMembershipReader.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CachedPrincipalMembershipReader.java
index 11ab42b216..646d9f90ba 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CachedPrincipalMembershipReader.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/CachedPrincipalMembershipReader.java
@@ -26,6 +26,8 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import javax.jcr.AccessDeniedException;
+
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.collect.Iterables;
import org.apache.jackrabbit.oak.api.CommitFailedException;
@@ -180,7 +182,7 @@ class CachedPrincipalMembershipReader implements CachedMembershipReader {
private boolean hasCacheValues(@NotNull Tree principalCache) {
return principalCache.hasProperty(propertyName) &&
- !Strings.isNullOrEmpty(TreeUtil.getString(principalCache, propertyName));
+ !StringUtils.isEmpty(TreeUtil.getString(principalCache, propertyName));
}
/**
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/GroupImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/GroupImpl.java
index 04c5630759..79090ca282 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/GroupImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/GroupImpl.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.security.user;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Stopwatch;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.api.security.user.Authorizable;
@@ -301,7 +302,7 @@ class GroupImpl extends AuthorizableImpl implements Group {
Map<String, String> updateMap = MapUtils.newHashMap(memberIds.length);
MembershipProvider mp = getMembershipProvider();
for (String memberId : memberIds) {
- if (Strings.isNullOrEmpty(memberId)) {
+ if (StringUtils.isEmpty(memberId)) {
throw new ConstraintViolationException("MemberId must not be null or empty.");
}
if (isValidMemberId(memberId, importBehavior)) {
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserManagerImpl.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserManagerImpl.java
index 39e80ef52f..7563ad6a15 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserManagerImpl.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/UserManagerImpl.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.security.user;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.collect.Iterables;
import org.apache.jackrabbit.api.security.principal.PrincipalManager;
@@ -122,7 +123,7 @@ public class UserManagerImpl implements UserManager {
@Nullable
@Override
public Authorizable getAuthorizable(@NotNull String id) throws RepositoryException {
- Tree tree = (Strings.isNullOrEmpty(id)) ? null : userProvider.getAuthorizable(id);
+ Tree tree = (StringUtils.isEmpty(id)) ? null : userProvider.getAuthorizable(id);
return getAuthorizable(tree);
}
@@ -487,7 +488,7 @@ public class UserManagerImpl implements UserManager {
}
void checkValidPrincipal(@Nullable Principal principal, boolean isGroup) throws RepositoryException {
- if (principal == null || Strings.isNullOrEmpty(principal.getName())) {
+ if (principal == null || StringUtils.isEmpty(principal.getName())) {
throw new IllegalArgumentException("Principal may not be null and must have a valid name.");
}
if (!isGroup && EveryonePrincipal.NAME.equals(principal.getName())) {
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistryTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistryTest.java
index 2f878c65da..e43fb2c77a 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistryTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistryTest.java
@@ -52,6 +52,7 @@ import javax.jcr.nodetype.NodeTypeManager;
import javax.jcr.nodetype.NodeTypeTemplate;
import javax.security.auth.login.LoginException;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.commons.cnd.CompactNodeTypeDefReader;
@@ -91,7 +92,7 @@ public class NodeTypeRegistryTest {
private ContentSession session = null;
static void registerNodeType(@NotNull Root root, @NotNull String resourceName) throws IOException {
- checkArgument(!Strings.isNullOrEmpty(resourceName));
+ checkArgument(!StringUtils.isEmpty(resourceName));
requireNonNull(root);
InputStream stream = null;
diff --git a/oak-it/src/test/java/org/apache/jackrabbit/oak/segment/SegmentAzureDataStoreBlobGCIT.java b/oak-it/src/test/java/org/apache/jackrabbit/oak/segment/SegmentAzureDataStoreBlobGCIT.java
index 9c6c49d01c..de93f9a4ed 100644
--- a/oak-it/src/test/java/org/apache/jackrabbit/oak/segment/SegmentAzureDataStoreBlobGCIT.java
+++ b/oak-it/src/test/java/org/apache/jackrabbit/oak/segment/SegmentAzureDataStoreBlobGCIT.java
@@ -23,6 +23,7 @@ import static org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture.SEGMENT_T
import static org.apache.jackrabbit.oak.commons.FixturesHelper.getFixtures;
import static org.junit.Assume.assumeTrue;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.oak.blob.cloud.azure.blobstorage.AzureConstants;
@@ -57,7 +58,7 @@ public class SegmentAzureDataStoreBlobGCIT extends SegmentDataStoreBlobGCIT {
@After
public void close() throws Exception {
- if (!Strings.isNullOrEmpty(containerName)) {
+ if (!StringUtils.isEmpty(containerName)) {
AzureDataStoreUtils.deleteContainer(containerName);
}
}
diff --git a/oak-it/src/test/java/org/apache/jackrabbit/oak/segment/SegmentS3DataStoreBlobGCIT.java b/oak-it/src/test/java/org/apache/jackrabbit/oak/segment/SegmentS3DataStoreBlobGCIT.java
index 859b4283a3..0ac1577f0d 100644
--- a/oak-it/src/test/java/org/apache/jackrabbit/oak/segment/SegmentS3DataStoreBlobGCIT.java
+++ b/oak-it/src/test/java/org/apache/jackrabbit/oak/segment/SegmentS3DataStoreBlobGCIT.java
@@ -28,6 +28,7 @@ import java.util.Date;
import java.util.List;
import java.util.Properties;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.oak.blob.cloud.s3.S3Constants;
import org.apache.jackrabbit.oak.blob.cloud.s3.S3DataStoreUtils;
@@ -79,7 +80,7 @@ public class SegmentS3DataStoreBlobGCIT extends SegmentDataStoreBlobGCIT {
@After
public void close() throws Exception {
- if (!Strings.isNullOrEmpty(bucket)) {
+ if (!StringUtils.isEmpty(bucket)) {
S3DataStoreUtils.deleteBucket(bucket, startDate);
}
}
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterClusterIT.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterClusterIT.java
index 49fe4e77b9..6576edd906 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterClusterIT.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/AtomicCounterClusterIT.java
@@ -44,6 +44,7 @@ import javax.jcr.Node;
import javax.jcr.Repository;
import javax.jcr.Session;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.oak.commons.FixturesHelper;
import org.apache.jackrabbit.oak.commons.FixturesHelper.Fixture;
import org.apache.jackrabbit.oak.commons.PerfLogger;
@@ -117,7 +118,7 @@ public class AtomicCounterClusterIT extends DocumentClusterIT {
alignCluster(mks);
// asserting the initial state
- assertFalse("Path to the counter node should be set", Strings.isNullOrEmpty(counterPath));
+ assertFalse("Path to the counter node should be set", StringUtils.isEmpty(counterPath));
for (Repository r : repos) {
try {
diff --git a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
index 821a873073..2255854b3d 100644
--- a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
+++ b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexProviderService.java
@@ -32,6 +32,7 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.commons.io.FilenameUtils;
@@ -458,7 +459,7 @@ public class LuceneIndexProviderService {
void initializeIndexDir(BundleContext bundleContext, Configuration config) {
String indexDirPath = config.localIndexDir();
- if (Strings.isNullOrEmpty(indexDirPath)) {
+ if (StringUtils.isEmpty(indexDirPath)) {
String repoHome = bundleContext.getProperty(REPOSITORY_HOME);
if (repoHome != null){
indexDirPath = FilenameUtils.concat(repoHome, "index");
diff --git a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/BlobStoreFixture.java b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/BlobStoreFixture.java
index 3f6251c7fc..28299518ea 100644
--- a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/BlobStoreFixture.java
+++ b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/BlobStoreFixture.java
@@ -27,6 +27,7 @@ import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.commons.io.FileUtils;
import org.apache.felix.cm.file.ConfigurationHandler;
@@ -254,7 +255,7 @@ public abstract class BlobStoreFixture implements Closeable{
// try loading the props from the config file if configured
String cfgFile = System.getProperty("ds.config");
Map<String, Object> result = new HashMap<>();
- if (!Strings.isNullOrEmpty(cfgFile)) {
+ if (!StringUtils.isEmpty(cfgFile)) {
try {
result = loadAndTransformProps(cfgFile);
} catch (IOException e) {
diff --git a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/DataStoreUtils.java b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/DataStoreUtils.java
index b58463ed3c..6e136637d5 100644
--- a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/DataStoreUtils.java
+++ b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/fixture/DataStoreUtils.java
@@ -104,7 +104,7 @@ public class DataStoreUtils {
public static void cleanup(File storeDir, Map<String, ?> config, String bucket) throws Exception {
FileUtils.deleteQuietly(storeDir);
if (config.containsKey(S3Constants.S3_BUCKET)) {
- if (!Strings.isNullOrEmpty(bucket)) {
+ if (!StringUtils.isEmpty(bucket)) {
deleteBucket(bucket, config, new Date());
}
} else if (config.containsKey(AzureConstants.AZURE_BLOB_CONTAINER_NAME)
@@ -154,7 +154,7 @@ public class DataStoreUtils {
log.warn("config not provided, cannot initialize blob container");
return;
}
- if (Strings.isNullOrEmpty(containerName)) {
+ if (StringUtils.isEmpty(containerName)) {
log.warn("container name is null or blank, cannot initialize blob container");
return;
}
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 28c9186ffa..a0ae94061c 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,6 +40,7 @@ import java.util.Properties;
import java.util.Random;
import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.collect.Iterables;
import org.apache.jackrabbit.guava.common.collect.Iterators;
import joptsimple.internal.Strings;
@@ -171,7 +172,7 @@ public class DataStoreCheckTest {
@After
public void tearDown() {
System.setErr(new PrintStream(new FileOutputStream(FileDescriptor.err)));
- if (!Strings.isNullOrEmpty(container)) {
+ if (!StringUtils.isEmpty(container)) {
try {
if (dsOption.equals("s3ds")) {
S3DataStoreUtils.deleteBucket(container, new Date());
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 bcb3af0e7e..743aec275c 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,6 +27,7 @@ import java.util.List;
import java.util.Set;
import java.util.UUID;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.core.data.DataRecord;
import org.apache.jackrabbit.core.data.DataStoreException;
@@ -93,7 +94,7 @@ public class DataStoreCommandMetadataTest {
public void setup() throws Exception {
if (storeFixture instanceof StoreFixture.AzureSegmentStoreFixture) {
assumeFalse("Environment variable \"AZURE_SECRET_KEY\" must be set to run Azure Segment fixture",
- Strings.isNullOrEmpty(System.getenv("AZURE_SECRET_KEY")));
+ StringUtils.isEmpty(System.getenv("AZURE_SECRET_KEY")));
}
setupDataStore = blobFixture.init(temporaryFolder);
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 50bb7448cd..d06ac4e9b7 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,6 +40,7 @@ import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
import ch.qos.logback.classic.Level;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Splitter;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.collect.Iterators;
@@ -146,7 +147,7 @@ public class DataStoreCommandTest {
public void setup() throws Exception {
if (storeFixture instanceof StoreFixture.AzureSegmentStoreFixture) {
assumeFalse("Environment variable \"AZURE_SECRET_KEY\" must be set to run Azure Segment fixture",
- Strings.isNullOrEmpty(System.getenv("AZURE_SECRET_KEY")));
+ StringUtils.isEmpty(System.getenv("AZURE_SECRET_KEY")));
}
setupDataStore = blobFixture.init(temporaryFolder);
@@ -292,7 +293,7 @@ public class DataStoreCommandTest {
List<String> argsList = new ArrayList<>(Arrays.asList("--check-consistency", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(), "--out-dir",
dump.getAbsolutePath(), storeFixture.getConnectionString(), "--reset-log-config", "false", "--work-dir",
temporaryFolder.newFolder().getAbsolutePath()));
- if (!Strings.isNullOrEmpty(additionalParams)) {
+ if (!StringUtils.isEmpty(additionalParams)) {
argsList.add(additionalParams);
}
@@ -323,7 +324,7 @@ public class DataStoreCommandTest {
List<String> argsList = new ArrayList<>(Arrays.asList("--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(), "--out-dir",
dump.getAbsolutePath(), storeFixture.getConnectionString(), "--reset-log-config", "false", "--work-dir",
temporaryFolder.newFolder().getAbsolutePath()));
- if (!Strings.isNullOrEmpty(additionalParams)) {
+ if (!StringUtils.isEmpty(additionalParams)) {
argsList.add(additionalParams);
}
@@ -344,7 +345,7 @@ public class DataStoreCommandTest {
List<String> argsList = new ArrayList<>(Arrays.asList(storeFixture.getConnectionString(),
"--out-dir", dump.getAbsolutePath(), "--reset-log-config", "false", "--work-dir",
temporaryFolder.newFolder().getAbsolutePath(), "--check-consistency"));
- if (!Strings.isNullOrEmpty(additionalParams)) {
+ if (!StringUtils.isEmpty(additionalParams)) {
argsList.add(additionalParams);
}
@@ -679,7 +680,7 @@ public class DataStoreCommandTest {
List<String> argsList = new ArrayList<>(Arrays.asList("--collect-garbage", "--max-age", String.valueOf(0), "--" + getOption(blobFixture.getType()),
blobFixture.getConfigPath(), storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(),
"--reset-log-config", "false", "--work-dir", temporaryFolder.newFolder().getAbsolutePath()));
- if (!Strings.isNullOrEmpty(additionalParams)) {
+ if (!StringUtils.isEmpty(additionalParams)) {
argsList.add(additionalParams);
}
@@ -703,7 +704,7 @@ public class DataStoreCommandTest {
List<String> argsList = new ArrayList<>(Arrays.asList("--check-consistency", "--fake-ds-path", dsPath.getAbsolutePath(),
storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
temporaryFolder.newFolder().getAbsolutePath()));
- if (!Strings.isNullOrEmpty(additionalParams)) {
+ if (!StringUtils.isEmpty(additionalParams)) {
argsList.add(additionalParams);
}
DataStoreCommand cmd = new DataStoreCommand();
@@ -722,7 +723,7 @@ public class DataStoreCommandTest {
List<String> argsList = new ArrayList<>(Arrays.asList("--check-consistency", String.valueOf(markOnly), "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
temporaryFolder.newFolder().getAbsolutePath()));
- if (!Strings.isNullOrEmpty(additionalParams)) {
+ if (!StringUtils.isEmpty(additionalParams)) {
argsList.addAll(Splitter.on(" ").splitToList(additionalParams));
}
@@ -763,7 +764,7 @@ public class DataStoreCommandTest {
List<String> argsList = new ArrayList<>(Arrays.asList("--dump-ref", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
temporaryFolder.newFolder().getAbsolutePath()));
- if (!Strings.isNullOrEmpty(additionalParams)) {
+ if (!StringUtils.isEmpty(additionalParams)) {
argsList.addAll(Splitter.on(" ").splitToList(additionalParams));
}
@@ -785,7 +786,7 @@ public class DataStoreCommandTest {
List<String> argsList = new ArrayList<>(Arrays.asList("--dump-id", "--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
temporaryFolder.newFolder().getAbsolutePath()));
- if (!Strings.isNullOrEmpty(additionalParams)) {
+ if (!StringUtils.isEmpty(additionalParams)) {
argsList.addAll(Splitter.on(" ").splitToList(additionalParams));
}
@@ -807,7 +808,7 @@ public class DataStoreCommandTest {
"--" + getOption(blobFixture.getType()), blobFixture.getConfigPath(),
storeFixture.getConnectionString(), "--out-dir", dump.getAbsolutePath(), "--work-dir",
temporaryFolder.newFolder().getAbsolutePath()));
- if (!Strings.isNullOrEmpty(additionalParams)) {
+ if (!StringUtils.isEmpty(additionalParams)) {
argsList.addAll(Splitter.on(" ").splitToList(additionalParams));
}
diff --git a/oak-security-spi/pom.xml b/oak-security-spi/pom.xml
index d270cd7ec2..c07b183f49 100644
--- a/oak-security-spi/pom.xml
+++ b/oak-security-spi/pom.xml
@@ -152,6 +152,11 @@
<artifactId>annotations</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ </dependency>
+
<!-- Test Dependencies -->
<dependency>
<groupId>junit</groupId>
diff --git a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtil.java b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtil.java
index bf609acf45..af9fa0489d 100644
--- a/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtil.java
+++ b/oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/util/PasswordUtil.java
@@ -26,7 +26,7 @@ import java.security.spec.KeySpec;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
-import org.apache.jackrabbit.guava.common.base.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
import org.apache.jackrabbit.util.Text;
@@ -216,7 +216,7 @@ public final class PasswordUtil {
@Nullable String salt, int iterations) throws NoSuchAlgorithmException, UnsupportedEncodingException {
StringBuilder passwordHash = new StringBuilder();
passwordHash.append('{').append(algorithm).append('}');
- if (!Strings.isNullOrEmpty(salt)) {
+ if (!StringUtils.isEmpty(salt)) {
StringBuilder data = new StringBuilder();
data.append(salt).append(pwd);
@@ -325,7 +325,7 @@ public final class PasswordUtil {
*/
@Nullable
private static String extractAlgorithm(@Nullable String hashedPwd) {
- if (!Strings.isNullOrEmpty(hashedPwd)) {
+ if (!StringUtils.isEmpty(hashedPwd)) {
int end = hashedPwd.indexOf('}');
if (hashedPwd.charAt(0) == '{' && end > 0 && end < hashedPwd.length()-1) {
String algorithm = hashedPwd.substring(1, end);
diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ReadOnlyStoreBlobReferencesTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ReadOnlyStoreBlobReferencesTest.java
index 9ffeedd408..995846a3e4 100644
--- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ReadOnlyStoreBlobReferencesTest.java
+++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/ReadOnlyStoreBlobReferencesTest.java
@@ -26,7 +26,7 @@ import java.util.HashSet;
import java.util.Random;
import java.util.Set;
-import org.apache.jackrabbit.guava.common.base.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.oak.api.Blob;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore;
@@ -138,7 +138,7 @@ public class ReadOnlyStoreBlobReferencesTest {
Set<String> actualReferences = new HashSet<>();
fileStore.collectBlobReferences(actualReferences::add);
assertEquals("Read only store visible references different", count, actualReferences.size());
- if (!Strings.isNullOrEmpty(blobId)) {
+ if (!StringUtils.isEmpty(blobId)) {
assertEquals("Binary reference returned should be same", blobId,
actualReferences.toArray(new String[0])[0]);
}
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 a1177c9b3f..e838ecb1f1 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
@@ -96,7 +96,8 @@ public abstract class CompositeTestSupport extends TestSupport {
mavenBundle().groupId("javax.jcr").artifactId("jcr").versionAsInProject(),
mavenBundle().groupId("commons-codec").artifactId("commons-codec").versionAsInProject(),
mavenBundle().groupId("commons-io").artifactId("commons-io").versionAsInProject(),
- mavenBundle().groupId("org.apache.commons").artifactId("commons-collections4").versionAsInProject()
+ mavenBundle().groupId("org.apache.commons").artifactId("commons-collections4").versionAsInProject(),
+ mavenBundle().groupId("org.apache.commons").artifactId("commons-lang3").versionAsInProject()
);
}
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
index e5d3816d70..edf6ec3bc5 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStore.java
@@ -74,6 +74,7 @@ import java.util.function.Supplier;
import javax.jcr.PropertyType;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.cache.Cache;
import org.apache.jackrabbit.guava.common.util.concurrent.UncheckedExecutionException;
import org.apache.jackrabbit.oak.api.Blob;
@@ -4013,7 +4014,7 @@ public final class DocumentNodeStore
@Override
public boolean isVisible(@NotNull String visibilityToken, long maxWaitMillis) throws InterruptedException {
- if (Strings.isNullOrEmpty(visibilityToken)) {
+ if (StringUtils.isEmpty(visibilityToken)) {
// we've asked for @Nonnull..
// hence throwing an exception
throw new IllegalArgumentException("visibilityToken must not be null or empty");
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
index 5cafc8b905..dc75bf84fd 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java
@@ -50,6 +50,7 @@ import java.util.function.Supplier;
import javax.sql.DataSource;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.io.Closer;
import org.apache.jackrabbit.guava.common.util.concurrent.UncheckedExecutionException;
@@ -565,10 +566,10 @@ public class DocumentNodeStoreService {
setJournalGCMaxAge(config.journalGCMaxAge()).
setNodeCachePathPredicate(createCachePredicate());
- if (!Strings.isNullOrEmpty(persistentCache)) {
+ if (!StringUtils.isEmpty(persistentCache)) {
builder.setPersistentCache(persistentCache);
}
- if (!Strings.isNullOrEmpty(journalCache)) {
+ if (!StringUtils.isEmpty(journalCache)) {
builder.setJournalCache(journalCache);
}
@@ -621,7 +622,7 @@ public class DocumentNodeStoreService {
}
private boolean isNodeStoreProvider() {
- return !Strings.isNullOrEmpty(config.role());
+ return !StringUtils.isEmpty(config.role());
}
private boolean isContinuousRevisionGC() {
@@ -634,7 +635,7 @@ public class DocumentNodeStoreService {
private String getVersionGCExpression() {
String defaultExpr = CONTINUOUS_RGC_EXPR;
String expr = config.versionGCExpression();
- if (Strings.isNullOrEmpty(expr)) {
+ if (StringUtils.isEmpty(expr)) {
expr = defaultExpr;
}
// validate expression
@@ -966,7 +967,7 @@ public class DocumentNodeStoreService {
private String resolvePath(String value, String defaultValue) {
String path = value;
- if (Strings.isNullOrEmpty(value)) {
+ if (StringUtils.isEmpty(value)) {
path = defaultValue;
}
if ("-".equals(path)) {
@@ -979,7 +980,7 @@ public class DocumentNodeStoreService {
private String getRepositoryHome() {
String repoHome = config.repository_home();
- if (Strings.isNullOrEmpty(repoHome)) {
+ if (StringUtils.isEmpty(repoHome)) {
repoHome = DEFAULT_PROP_HOME;
}
return repoHome;
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
index a317aaba6e..341a821359 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/MongoBlobGCTest.java
@@ -33,6 +33,7 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import ch.qos.logback.classic.Level;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.guava.common.base.Splitter;
import org.apache.jackrabbit.guava.common.base.Stopwatch;
import org.apache.jackrabbit.guava.common.base.Strings;
@@ -454,7 +455,7 @@ public class MongoBlobGCTest extends AbstractMongoConnectionTest {
repoId = ClusterRepositoryInfo.getOrCreateId(store);
((SharedDataStore) store.getBlobStore()).setRepositoryId(repoId);
}
- if (Strings.isNullOrEmpty(root)) {
+ if (StringUtils.isEmpty(root)) {
root = folder.newFolder().getAbsolutePath();
}
diff --git a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RdbConnectionUtils.java b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RdbConnectionUtils.java
index c880f29836..0bb789434e 100644
--- a/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RdbConnectionUtils.java
+++ b/oak-store-document/src/test/java/org/apache/jackrabbit/oak/plugins/document/RdbConnectionUtils.java
@@ -16,7 +16,7 @@
*/
package org.apache.jackrabbit.oak.plugins.document;
-import org.apache.jackrabbit.guava.common.base.Strings;
+import org.apache.commons.lang3.StringUtils;
import org.apache.jackrabbit.oak.plugins.document.rdb.RDBDataSourceFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -137,7 +137,7 @@ public class RdbConnectionUtils {
}
private static boolean checkImageAvailability() throws TimeoutException {
- if (Strings.isNullOrEmpty(IMG)) {
+ if (StringUtils.isEmpty(IMG)) {
return false;
}
RemoteDockerImage remoteDockerImage = new RemoteDockerImage(DockerImageName.parse(IMG));