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/04/23 18:08:48 UTC
(jackrabbit-oak) branch OAK-11665 created (now eae4eea175)
This is an automated email from the ASF dual-hosted git repository.
daim pushed a change to branch OAK-11665
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
at eae4eea175 OAK-11665 : removed usage of Guava's Iterators.singletonIterator with native java
This branch includes the following new commits:
new eae4eea175 OAK-11665 : removed usage of Guava's Iterators.singletonIterator with native java
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(jackrabbit-oak) 01/01: OAK-11665 : removed usage of Guava's Iterators.singletonIterator with native java
Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
daim pushed a commit to branch OAK-11665
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit eae4eea1750d77f2127c37ebbe4b8c28199b0bcc
Author: Rishabh Kumar <di...@adobe.com>
AuthorDate: Wed Apr 23 23:38:32 2025 +0530
OAK-11665 : removed usage of Guava's Iterators.singletonIterator with native java
---
.../external/impl/AutoMembershipAwareTest.java | 4 ++--
.../authentication/external/impl/DefaultSyncHandlerTest.java | 7 ++++---
.../impl/principal/AutoMembershipPrincipalsTest.java | 6 +++---
.../external/impl/principal/DynamicGroupUtilTest.java | 3 ++-
.../authorization/principalbased/impl/EntryIteratorTest.java | 4 +++-
.../oak/plugins/blob/datastore/DataStoreBlobStore.java | 2 +-
.../jackrabbit/oak/plugins/identifier/IdentifierManager.java | 3 +--
.../oak/plugins/index/aggregate/AggregationCursor.java | 3 ++-
.../oak/plugins/index/cursor/TraversingCursor.java | 7 +++----
.../index/property/strategy/ContentMirrorStoreStrategy.java | 4 ++--
.../jackrabbit/oak/security/principal/EveryoneFilter.java | 3 ++-
.../jackrabbit/oak/security/user/MembershipProvider.java | 3 ++-
.../jackrabbit/oak/security/user/MembershipWriter.java | 5 +++--
.../composite/CompositeAccessControlManagerTest.java | 4 ++--
.../oak/security/principal/EveryoneFilterTest.java | 2 +-
.../security/principal/PrincipalProviderImplErrorTest.java | 4 +++-
.../oak/security/principal/PrincipalProviderImplTest.java | 8 ++++----
.../oak/security/user/AbstractGroupPrincipalTest.java | 3 ++-
.../oak/security/user/AuthorizableIteratorTest.java | 6 +++---
.../oak/security/user/DynamicMembershipTrackerTest.java | 4 ++--
.../oak/security/user/query/GroupPredicateTest.java | 4 +++-
.../oak/security/user/query/ResultIteratorTest.java | 10 +++++-----
.../jackrabbit/oak/jcr/security/user/UserQueryTest.java | 12 ++++++------
.../indexer/document/flatfile/FlatFileStoreIterator.java | 5 ++---
.../org/apache/jackrabbit/oak/run/DataStoreCheckTest.java | 5 +++--
.../spi/security/user/action/ClearMembershipActionTest.java | 5 +++--
.../org/apache/jackrabbit/oak/plugins/document/ValueMap.java | 2 +-
27 files changed, 70 insertions(+), 58 deletions(-)
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipAwareTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipAwareTest.java
index 2b8ddd410b..25f44d9ed7 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipAwareTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/AutoMembershipAwareTest.java
@@ -100,7 +100,7 @@ public class AutoMembershipAwareTest extends AbstractExternalAuthTest {
AutoMembershipConfig amc = mock(AutoMembershipConfig.class);
when(amc.getName()).thenReturn(sh.getName());
when(amc.getAutoMembership(any(Authorizable.class))).thenReturn(groupIds);
- when(amc.getAutoMembers(any(UserManager.class), any(Group.class))).thenReturn(Iterators.singletonIterator(authorizable));
+ when(amc.getAutoMembers(any(UserManager.class), any(Group.class))).thenReturn(Collections.singleton(authorizable).iterator());
context.registerService(AutoMembershipConfig.class, amc, Collections.singletonMap(AutoMembershipConfig.PARAM_SYNC_HANDLER_NAME, sh.getName()));
@@ -110,7 +110,7 @@ public class AutoMembershipAwareTest extends AbstractExternalAuthTest {
assertEquals(sh.getName(), config.getName());
assertEquals(groupIds, config.getAutoMembership(authorizable));
- assertTrue(Iterators.elementsEqual(Iterators.singletonIterator(authorizable), config.getAutoMembers(userManager, gr)));
+ assertTrue(Iterators.elementsEqual(Collections.singleton(authorizable).iterator(), config.getAutoMembers(userManager, gr)));
// verify that DefaultSyncHandler was notified about the service
verify(amc).getAutoMembership(authorizable);
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java
index 0674a98661..5f8f65829b 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/DefaultSyncHandlerTest.java
@@ -43,6 +43,7 @@ import javax.jcr.RepositoryException;
import javax.jcr.SimpleCredentials;
import javax.jcr.Value;
import java.util.Calendar;
+import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
@@ -277,7 +278,7 @@ public class DefaultSyncHandlerTest extends ExternalLoginTestBase {
@Test
public void testListIdentitiesIgnoresMissingExternalIdRef() throws Exception {
- Iterator<Authorizable> it = Iterators.singletonIterator(getTestUser());
+ Iterator<Authorizable> it = Collections.singleton(((Authorizable) getTestUser())).iterator();
UserManager um = mock(UserManager.class);
when(um.findAuthorizables(DefaultSyncContext.REP_EXTERNAL_ID, null)).thenReturn(it);
@@ -288,7 +289,7 @@ public class DefaultSyncHandlerTest extends ExternalLoginTestBase {
@Test
public void testListIdentitiesIgnoresNull() throws Exception {
- Iterator<Authorizable> it = Iterators.singletonIterator(null);
+ Iterator<Authorizable> it = Collections.singleton((Authorizable) null).iterator();
UserManager um = mock(UserManager.class);
when(um.findAuthorizables(DefaultSyncContext.REP_EXTERNAL_ID, null)).thenReturn(it);
@@ -300,7 +301,7 @@ public class DefaultSyncHandlerTest extends ExternalLoginTestBase {
@Test
public void testListIdentitiesWithRepositoryException() throws Exception {
Authorizable a = when(mock(Authorizable.class).getProperty(REP_EXTERNAL_ID)).thenThrow(new RepositoryException()).getMock();
- Iterator<Authorizable> it = Iterators.singletonIterator(a);
+ Iterator<Authorizable> it = Collections.singleton(a).iterator();
UserManager um = mock(UserManager.class);
when(um.findAuthorizables(REP_EXTERNAL_ID, null)).thenReturn(it);
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
index 6da36512bc..c42b6920e5 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/AutoMembershipPrincipalsTest.java
@@ -65,7 +65,7 @@ public class AutoMembershipPrincipalsTest extends AbstractAutoMembershipTest {
when(amConfig.getAutoMembership(authorizable)).thenReturn(Set.of(automembershipGroup3.getID()));
when(amConfig.getAutoMembers(any(UserManager.class), any(Group.class))).thenReturn(Collections.emptyIterator());
- when(amConfig.getAutoMembers(userManager, automembershipGroup3)).thenReturn(Iterators.singletonIterator(authorizable));
+ when(amConfig.getAutoMembers(userManager, automembershipGroup3)).thenReturn(Collections.singleton(authorizable).iterator());
}
@Override
@@ -234,7 +234,7 @@ public class AutoMembershipPrincipalsTest extends AbstractAutoMembershipTest {
Group gr = mock(Group.class);
when(gr.isGroup()).thenReturn(true);
- when(gr.memberOf()).thenReturn(Iterators.singletonIterator(inherited));
+ when(gr.memberOf()).thenReturn(Collections.singleton(inherited).iterator());
when(um.getAuthorizable(automembershipGroup1.getPrincipal())).thenReturn(gr);
// retrieve from cache
@@ -373,6 +373,6 @@ public class AutoMembershipPrincipalsTest extends AbstractAutoMembershipTest {
assertFalse(amp.getMembersFromAutoMembershipConfig(automembershipGroup1).hasNext());
assertFalse(amp.getMembersFromAutoMembershipConfig(automembershipGroup2).hasNext());
- assertTrue(Iterators.elementsEqual(Iterators.singletonIterator(authorizable), amp.getMembersFromAutoMembershipConfig(automembershipGroup3)));
+ assertTrue(Iterators.elementsEqual(Collections.singleton(authorizable).iterator(), amp.getMembersFromAutoMembershipConfig(automembershipGroup3)));
}
}
\ No newline at end of file
diff --git a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupUtilTest.java b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupUtilTest.java
index 2e38f335f0..def1d784dc 100644
--- a/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupUtilTest.java
+++ b/oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/principal/DynamicGroupUtilTest.java
@@ -35,6 +35,7 @@ import javax.jcr.RepositoryException;
import javax.jcr.Value;
import java.security.Principal;
+import java.util.Collections;
import static org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIdentityConstants.REP_EXTERNAL_ID;
import static org.junit.Assert.assertEquals;
@@ -130,7 +131,7 @@ public class DynamicGroupUtilTest extends AbstractSecurityTest {
Group group = mock(Group.class);
when(group.isGroup()).thenReturn(true);
- when(group.memberOf()).thenReturn(Iterators.singletonIterator(member));
+ when(group.memberOf()).thenReturn(Collections.singleton(member).iterator());
UserManager um = mock(UserManager.class);
when(um.getAuthorizable(any(Principal.class))).thenReturn(group);
diff --git a/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/EntryIteratorTest.java b/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/EntryIteratorTest.java
index 7747de1c2f..e2c7377a87 100644
--- a/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/EntryIteratorTest.java
+++ b/oak-authorization-principalbased/src/test/java/org/apache/jackrabbit/oak/spi/security/authorization/principalbased/impl/EntryIteratorTest.java
@@ -19,6 +19,8 @@ package org.apache.jackrabbit.oak.spi.security.authorization.principalbased.impl
import org.apache.jackrabbit.guava.common.collect.Iterators;
import org.junit.Test;
+import java.util.Collections;
+
import static org.junit.Assert.assertFalse;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
@@ -28,7 +30,7 @@ import static org.mockito.Mockito.when;
public class EntryIteratorTest {
- private final EntryCache cache = when(mock(EntryCache.class).getEntries(anyString())).thenReturn(Iterators.singletonIterator(mock(PermissionEntry.class))).getMock();
+ private final EntryCache cache = when(mock(EntryCache.class).getEntries(anyString())).thenReturn(Collections.singleton(mock(PermissionEntry.class)).iterator()).getMock();
@Test
public void testIterationStopsAtRootPath() {
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 5b981bfa17..8a7f820f29 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
@@ -558,7 +558,7 @@ public class DataStoreBlobStore
@Override
public Iterator<String> resolveChunks(String blobId) throws IOException {
if (!InMemoryDataRecord.isInstance(blobId)) {
- return Iterators.singletonIterator(blobId);
+ return Collections.singleton(blobId).iterator();
}
return Collections.emptyIterator();
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java
index 858c51c03b..4383594219 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/identifier/IdentifierManager.java
@@ -53,7 +53,6 @@ import org.slf4j.LoggerFactory;
import static org.apache.jackrabbit.oak.commons.conditions.Validate.checkArgument;
import static org.apache.jackrabbit.guava.common.collect.Iterators.filter;
-import static org.apache.jackrabbit.guava.common.collect.Iterators.singletonIterator;
import static org.apache.jackrabbit.guava.common.collect.Iterators.transform;
import static org.apache.jackrabbit.oak.api.QueryEngine.NO_MAPPINGS;
@@ -277,7 +276,7 @@ public class IdentifierManager {
} else {
// for a fixed property name, we don't need to look for it, but just assume that
// the search found the correct one
- return singletonIterator(PathUtils.concat(rowPath, propertyName));
+ return Collections.singleton(PathUtils.concat(rowPath, propertyName)).iterator();
}
}
return Collections.emptyIterator();
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java
index 2900f77851..2f50f995f2 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/aggregate/AggregationCursor.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.plugins.index.aggregate;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.NoSuchElementException;
@@ -91,7 +92,7 @@ class AggregationCursor extends AbstractCursor {
if (!currentRow.isVirtualRow()) {
String path = currentRow.getPath();
aggregates = Iterators.filter(IteratorUtils.chainedIterator(
- Iterators.singletonIterator(path),
+ Collections.singleton(path).iterator(),
aggregator.getParents(rootState, path)),
x -> !seenPaths.contains(x));
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/cursor/TraversingCursor.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/cursor/TraversingCursor.java
index 59b1c6d3e7..a0bca6b3a5 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/cursor/TraversingCursor.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/cursor/TraversingCursor.java
@@ -19,6 +19,7 @@ package org.apache.jackrabbit.oak.plugins.index.cursor;
import static org.apache.jackrabbit.oak.spi.query.QueryConstants.REP_FACET;
import java.util.ArrayDeque;
+import java.util.Collections;
import java.util.Deque;
import java.util.Iterator;
@@ -107,14 +108,12 @@ class TraversingCursor extends AbstractCursor {
case NO_RESTRICTION:
case EXACT:
case ALL_CHILDREN:
- nodeIterators.add(Iterators.singletonIterator(
- new MemoryChildNodeEntry(currentPath, node)));
+ nodeIterators.add(Collections.singleton(new MemoryChildNodeEntry(currentPath, node)).iterator());
parentPath = "";
break;
case PARENT:
if (parent != null) {
- nodeIterators.add(Iterators.singletonIterator(
- new MemoryChildNodeEntry(parentPath, parent)));
+ nodeIterators.add(Collections.singleton(new MemoryChildNodeEntry(parentPath, parent)).iterator());
parentPath = "";
}
break;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy.java
index 2ddb1202f5..b968dd1936 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/strategy/ContentMirrorStoreStrategy.java
@@ -21,6 +21,7 @@ import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_CONTE
import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.KEY_COUNT_PROPERTY_NAME;
import java.util.ArrayDeque;
+import java.util.Collections;
import java.util.Deque;
import java.util.HashSet;
import java.util.Iterator;
@@ -176,8 +177,7 @@ public class ContentMirrorStoreStrategy implements IndexStoreStrategy {
NodeState property = index.getChildNode(p);
if (property.exists()) {
// we have an entry for this value, so use it
- it.enqueue(Iterators.singletonIterator(
- new MemoryChildNodeEntry("", property)));
+ it.enqueue(Collections.singleton(new MemoryChildNodeEntry("", property)).iterator());
}
}
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilter.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilter.java
index e2e5c0bdfe..b59b5c9531 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilter.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilter.java
@@ -24,6 +24,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.security.Principal;
+import java.util.Collections;
import java.util.Iterator;
import java.util.function.Predicate;
@@ -48,7 +49,7 @@ public final class EveryoneFilter {
public static Iterator<Principal> filter(@NotNull Iterator<Principal> resultPrincipals, @Nullable String nameHint, int searchType, long offset, long limit) {
boolean noRange = offset == 0 && limit == Long.MAX_VALUE;
if (noRange && matchesEveryone(nameHint, searchType)) {
- Iterator<Principal> principals = IteratorUtils.chainedIterator(resultPrincipals, Iterators.singletonIterator(EveryonePrincipal.getInstance()));
+ Iterator<Principal> principals = IteratorUtils.chainedIterator(resultPrincipals, Collections.singleton(EveryonePrincipal.getInstance()).iterator());
return Iterators.filter(principals, new EveryonePredicate()::test);
} else {
return resultPrincipals;
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipProvider.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipProvider.java
index aa9c856162..eeaf6e97f2 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipProvider.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipProvider.java
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.security.user;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -355,7 +356,7 @@ class MembershipProvider extends AuthorizableBaseProvider {
private MemberReferenceIterator(@NotNull Tree groupTree) {
this.trees = IteratorUtils.chainedIterator(
- Iterators.singletonIterator(groupTree),
+ Collections.singleton(groupTree).iterator(),
groupTree.getChild(REP_MEMBERS_LIST).getChildren().iterator()
);
}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipWriter.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipWriter.java
index 5d33e2bc3f..232c051ced 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipWriter.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/MembershipWriter.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.security.user;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -76,7 +77,7 @@ public class MembershipWriter {
// check all possible rep:members properties for the new member and also find the one with the least values
Tree membersList = groupTree.getChild(UserConstants.REP_MEMBERS_LIST);
Iterator<Tree> trees = IteratorUtils.chainedIterator(
- Iterators.singletonIterator(groupTree),
+ Collections.singleton(groupTree).iterator(),
membersList.getChildren().iterator()
);
@@ -205,7 +206,7 @@ public class MembershipWriter {
Set<String> removeMembers(@NotNull Tree groupTree, @NotNull Map<String, String> memberIds) {
Tree membersList = groupTree.getChild(UserConstants.REP_MEMBERS_LIST);
Iterator<Tree> trees = IteratorUtils.chainedIterator(
- Iterators.singletonIterator(groupTree),
+ Collections.singleton(groupTree).iterator(),
membersList.getChildren().iterator()
);
while (trees.hasNext() && !memberIds.isEmpty()) {
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManagerTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManagerTest.java
index 127ce0cea5..92f2905393 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManagerTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/composite/CompositeAccessControlManagerTest.java
@@ -416,12 +416,12 @@ public class CompositeAccessControlManagerTest extends AbstractSecurityTest {
public void testEffectivePoliciesByPrincipalAndPaths() throws Exception {
JackrabbitAccessControlPolicy policy = mock(JackrabbitAccessControlPolicy.class);
JackrabbitAccessControlManager mgr = mock(JackrabbitAccessControlManager.class, withSettings().extraInterfaces(PolicyOwner.class));
- when(mgr.getEffectivePolicies(any(Set.class), anyString())).thenReturn(Iterators.singletonIterator(policy));
+ when(mgr.getEffectivePolicies(any(Set.class), anyString())).thenReturn(Collections.singleton(policy).iterator());
Set<Principal> principalSet = Set.of(EveryonePrincipal.getInstance());
CompositeAccessControlManager composite = createComposite(mgr);
- assertTrue(Iterators.elementsEqual(Iterators.singletonIterator(policy), composite.getEffectivePolicies(principalSet, ROOT_PATH)));
+ assertTrue(Iterators.elementsEqual(Collections.singleton(policy).iterator(), composite.getEffectivePolicies(principalSet, ROOT_PATH)));
verify(mgr, times(0)).getEffectivePolicies(principalSet);
verify(mgr, times(1)).getEffectivePolicies(principalSet, ROOT_PATH);
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilterTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilterTest.java
index 50eb018bff..a6eacc39a7 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilterTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/EveryoneFilterTest.java
@@ -68,7 +68,7 @@ public class EveryoneFilterTest {
@Test
public void testMissingEveryoneNoRange() {
- Iterator<Principal> principals = Iterators.singletonIterator(anotherPrincipal);
+ Iterator<Principal> principals = Collections.singleton(anotherPrincipal).iterator();
Iterator<Principal> result = EveryoneFilter.filter(principals, EveryonePrincipal.NAME, searchType, 0, Long.MAX_VALUE);
int expectedSize = adjustExpectedSize(searchType, 1);
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplErrorTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplErrorTest.java
index 20ae9103ac..0d818c1222 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplErrorTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplErrorTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.security.principal;
+import org.apache.jackrabbit.api.security.user.Authorizable;
import org.apache.jackrabbit.guava.common.collect.Iterators;
import org.apache.jackrabbit.api.security.principal.PrincipalManager;
import org.apache.jackrabbit.api.security.user.Query;
@@ -35,6 +36,7 @@ import org.mockito.stubbing.Answer;
import javax.jcr.RepositoryException;
import java.security.Principal;
+import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
@@ -167,7 +169,7 @@ public class PrincipalProviderImplErrorTest extends AbstractSecurityTest {
Principal p = testUser.getPrincipal();
User userMock = when(mock(User.class).getPrincipal()).thenThrow(new RepositoryException()).getMock();
- UserManager um = when(mock(UserManager.class).findAuthorizables(any(Query.class))).thenReturn(Iterators.singletonIterator(userMock)).getMock();
+ UserManager um = when(mock(UserManager.class).findAuthorizables(any(Query.class))).thenReturn(Collections.singleton(((Authorizable) userMock)).iterator()).getMock();
Iterator it = createPrincipalProvider(um).findPrincipals(PrincipalManager.SEARCH_TYPE_NOT_GROUP);
assertFalse(it.hasNext());
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
index 54cba9ac03..0ca4abda17 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/principal/PrincipalProviderImplTest.java
@@ -100,7 +100,7 @@ public class PrincipalProviderImplTest extends AbstractPrincipalProviderTest {
public void testGetGroupMembershipNonGroupPrincipal() throws Exception {
// Group.getPrincipal doesn't return a GroupPrincipal
Group gr = when(mock(Group.class).getPrincipal()).thenReturn(new PrincipalImpl("group")).getMock();
- Authorizable mockAuthorizable = when(mock(User.class).memberOf()).thenReturn(Iterators.singletonIterator(gr)).getMock();
+ Authorizable mockAuthorizable = when(mock(User.class).memberOf()).thenReturn(Collections.singleton(gr).iterator()).getMock();
UserManager umMock = when(mock(UserManager.class).getAuthorizable(any(Principal.class))).thenReturn(mockAuthorizable).getMock();
Set<Principal> membership = createPrincipalProvider(umMock).getMembershipPrincipals(new PrincipalImpl("userPrincipal"));
@@ -128,19 +128,19 @@ public class PrincipalProviderImplTest extends AbstractPrincipalProviderTest {
assertFalse(result.hasNext());
result = createPrincipalProvider(umMock).findPrincipals(PrincipalManager.SEARCH_TYPE_GROUP);
- assertTrue(Iterators.elementsEqual(Iterators.singletonIterator(EveryonePrincipal.getInstance()), result));
+ assertTrue(Iterators.elementsEqual(Collections.singleton(EveryonePrincipal.getInstance()).iterator(), result));
}
@Test
public void testFindWithUnexpectedNullPrincipal() throws Exception {
Authorizable userMock = when(mock(Authorizable.class).getPrincipal()).thenReturn(null).getMock();
UserManager umMock = mock(UserManager.class);
- when(umMock.findAuthorizables(any(Query.class))).thenReturn(Iterators.singletonIterator(userMock));
+ when(umMock.findAuthorizables(any(Query.class))).thenReturn(Collections.singleton(userMock).iterator());
Iterator<? extends Principal> result = createPrincipalProvider(umMock).findPrincipals(PrincipalManager.SEARCH_TYPE_NOT_GROUP);
assertFalse(result.hasNext());
result = createPrincipalProvider(umMock).findPrincipals(PrincipalManager.SEARCH_TYPE_GROUP);
- assertTrue(Iterators.elementsEqual(Iterators.singletonIterator(EveryonePrincipal.getInstance()), result));
+ assertTrue(Iterators.elementsEqual(Collections.singleton(EveryonePrincipal.getInstance()).iterator(), result));
}
}
\ No newline at end of file
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipalTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipalTest.java
index b07ed1eee0..f0a6c62c2c 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipalTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AbstractGroupPrincipalTest.java
@@ -30,6 +30,7 @@ import org.mockito.internal.stubbing.answers.ThrowsException;
import javax.jcr.RepositoryException;
import java.security.Principal;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
@@ -144,7 +145,7 @@ public class AbstractGroupPrincipalTest extends AbstractSecurityTest {
public void testMembersHandlesFailingPrincipalAccess() throws Exception {
Authorizable a = when(mock(Authorizable.class).getPrincipal()).thenThrow(new RepositoryException()).getMock();
AbstractGroupPrincipal agp = mock(AbstractGroupPrincipal.class);
- when(agp.getMembers()).thenReturn(Iterators.singletonIterator(a));
+ when(agp.getMembers()).thenReturn(Collections.singleton(a).iterator());
when(agp.members()).thenCallRealMethod();
Enumeration<? extends Principal> members = agp.members();
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AuthorizableIteratorTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AuthorizableIteratorTest.java
index 67e8a213c2..237bdccfc5 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AuthorizableIteratorTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/AuthorizableIteratorTest.java
@@ -50,7 +50,7 @@ public class AuthorizableIteratorTest extends AbstractSecurityTest {
public void before() throws Exception {
super.before();
- userTreeIterator = Iterators.singletonIterator(root.getTree(getNamePathMapper().getOakPath(getTestUser().getPath())));
+ userTreeIterator = Collections.singleton(root.getTree(getNamePathMapper().getOakPath(getTestUser().getPath()))).iterator();
}
@Test
@@ -94,7 +94,7 @@ public class AuthorizableIteratorTest extends AbstractSecurityTest {
@Test
public void testInvalidPath() {
- AuthorizableIterator it = AuthorizableIterator.create(Iterators.singletonIterator(root.getTree(PathUtils.ROOT_PATH)), (UserManagerImpl) getUserManager(root), AuthorizableType.AUTHORIZABLE);
+ AuthorizableIterator it = AuthorizableIterator.create(Collections.singleton(root.getTree(PathUtils.ROOT_PATH)).iterator(), (UserManagerImpl) getUserManager(root), AuthorizableType.AUTHORIZABLE);
assertFalse(it.hasNext());
}
@@ -106,7 +106,7 @@ public class AuthorizableIteratorTest extends AbstractSecurityTest {
// duplications are determined base on authorizableID
Authorizable a = when(mock(Authorizable.class).getID()).thenReturn(getTestUser().getID()).getMock();
- assertEquals(1, IteratorUtils.size(AuthorizableIterator.create(true, l.iterator(), Iterators.singletonIterator(a))));
+ assertEquals(1, IteratorUtils.size(AuthorizableIterator.create(true, l.iterator(), Collections.singleton(a).iterator())));
}
@Test
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/DynamicMembershipTrackerTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/DynamicMembershipTrackerTest.java
index 52ada11be7..f898480930 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/DynamicMembershipTrackerTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/DynamicMembershipTrackerTest.java
@@ -101,12 +101,12 @@ public class DynamicMembershipTrackerTest extends AbstractSecurityTest {
User testUser = getTestUser();
DynamicMembershipProvider dmp = mock(DynamicMembershipProvider.class);
- when(dmp.getMembership(eq(a), anyBoolean())).thenReturn(Iterators.singletonIterator(gr));
+ when(dmp.getMembership(eq(a), anyBoolean())).thenReturn(Collections.singleton(gr).iterator());
when(dmp.getMembership(eq(testUser), anyBoolean())).thenReturn(Collections.emptyIterator());
when(dmp.isMember(eq(gr), eq(a), anyBoolean())).thenReturn(true);
when(dmp.coversAllMembers(gr)).thenReturn(true);
- when(dmp.getMembers(eq(gr), anyBoolean())).thenReturn(Iterators.singletonIterator(a));
+ when(dmp.getMembers(eq(gr), anyBoolean())).thenReturn(Collections.singleton(a).iterator());
DynamicMembershipService dms = (root, userManager, namePathMapper) -> dmp;
registrations.add(context.bundleContext().registerService(DynamicMembershipService.class.getName(), dms, MapUtil.toDictionary(Collections.emptyMap())));
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/GroupPredicateTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/GroupPredicateTest.java
index 01b67f08e0..c5d04b9141 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/GroupPredicateTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/GroupPredicateTest.java
@@ -26,6 +26,8 @@ import org.apache.jackrabbit.api.security.user.UserManager;
import org.apache.jackrabbit.oak.AbstractSecurityTest;
import org.junit.Test;
+import java.util.Collections;
+
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@@ -140,7 +142,7 @@ public class GroupPredicateTest extends AbstractSecurityTest {
@Test
public void testGetMemberIdFails() throws Exception {
Authorizable member = when(mock(Authorizable.class).getID()).thenThrow(new RepositoryException()).getMock();
- Group g = when(mock(Group.class).getDeclaredMembers()).thenReturn(Iterators.singletonIterator(member)).getMock();
+ Group g = when(mock(Group.class).getDeclaredMembers()).thenReturn(Collections.singleton(member).iterator()).getMock();
when(g.isGroup()).thenReturn(true);
UserManager uMgr = when(mock(UserManager.class).getAuthorizable("g")).thenReturn(g).getMock();
Authorizable a = when(mock(Authorizable.class).getID()).thenReturn("a").getMock();
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/ResultIteratorTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/ResultIteratorTest.java
index 4fa80f0354..655448ad42 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/ResultIteratorTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/query/ResultIteratorTest.java
@@ -44,17 +44,17 @@ public class ResultIteratorTest {
@Test
public void testCreateMaxZero() {
- assertFalse(ResultIterator.create(ResultIterator.OFFSET_NONE, 0, Iterators.singletonIterator("str")).hasNext());
+ assertFalse(ResultIterator.create(ResultIterator.OFFSET_NONE, 0, Collections.singleton("str").iterator()).hasNext());
}
@Test
public void testCreateOffsetEqualsSize() {
- assertFalse(ResultIterator.create(1, ResultIterator.MAX_ALL, Iterators.singletonIterator("str")).hasNext());
+ assertFalse(ResultIterator.create(1, ResultIterator.MAX_ALL, Collections.singleton("str").iterator()).hasNext());
}
@Test
public void testCreateOffsetGtSize() {
- assertFalse(ResultIterator.create(2, ResultIterator.MAX_ALL, Iterators.singletonIterator("str")).hasNext());
+ assertFalse(ResultIterator.create(2, ResultIterator.MAX_ALL, Collections.singleton("str").iterator()).hasNext());
}
@Test
@@ -80,7 +80,7 @@ public class ResultIteratorTest {
@Test(expected = NoSuchElementException.class)
public void testNextNoElements() {
- Iterator<String> it = ResultIterator.create(1, ResultIterator.MAX_ALL, Iterators.singletonIterator("str"));
+ Iterator<String> it = ResultIterator.create(1, ResultIterator.MAX_ALL, Collections.singleton("str").iterator());
it.next();
}
@@ -92,7 +92,7 @@ public class ResultIteratorTest {
@Test(expected = UnsupportedOperationException.class)
public void testRemove() {
- Iterator<String> it = ResultIterator.create(ResultIterator.OFFSET_NONE, 1, Iterators.singletonIterator("value"));
+ Iterator<String> it = ResultIterator.create(ResultIterator.OFFSET_NONE, 1, Collections.singleton("value").iterator());
it.remove();
}
}
\ No newline at end of file
diff --git a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/UserQueryTest.java b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/UserQueryTest.java
index 7cf06c8f02..da82c39dcf 100644
--- a/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/UserQueryTest.java
+++ b/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/user/UserQueryTest.java
@@ -533,7 +533,7 @@ public class UserQueryTest extends AbstractUserTest {
}
});
- Iterator<User> expected = Iterators.singletonIterator(goldenToad);
+ Iterator<User> expected = Collections.singleton(goldenToad).iterator();
assertTrue(result.hasNext());
assertSameElements(result, expected);
}
@@ -547,7 +547,7 @@ public class UserQueryTest extends AbstractUserTest {
}
});
- Iterator<User> expected = Iterators.singletonIterator(goldenToad);
+ Iterator<User> expected = Collections.singleton(goldenToad).iterator();
assertTrue(result.hasNext());
assertSameElements(result, expected);
}
@@ -560,7 +560,7 @@ public class UserQueryTest extends AbstractUserTest {
}
});
- Iterator<User> expected = Iterators.singletonIterator(kangaroo);
+ Iterator<User> expected = Collections.singleton(kangaroo).iterator();
assertTrue(result.hasNext());
assertSameElements(result, expected);
}
@@ -574,7 +574,7 @@ public class UserQueryTest extends AbstractUserTest {
}
});
- Iterator<User> expected = Iterators.singletonIterator(kangaroo);
+ Iterator<User> expected = Collections.singleton(kangaroo).iterator();
assertTrue(result.hasNext());
assertSameElements(result, expected);
}
@@ -642,7 +642,7 @@ public class UserQueryTest extends AbstractUserTest {
}
});
- Iterator<User> expected = Iterators.singletonIterator(elephant);
+ Iterator<User> expected = Collections.singleton(elephant).iterator();
assertTrue(result.hasNext());
assertSameElements(expected, result);
}
@@ -656,7 +656,7 @@ public class UserQueryTest extends AbstractUserTest {
}
});
- Iterator<User> expected = Iterators.singletonIterator(elephant);
+ Iterator<User> expected = Collections.singleton(elephant).iterator();
assertTrue(result.hasNext());
assertSameElements(expected, result);
}
diff --git a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java
index 96eb9c4f62..40c593fbdf 100644
--- a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java
+++ b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/FlatFileStoreIterator.java
@@ -34,11 +34,10 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.Closeable;
+import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
-import static org.apache.jackrabbit.guava.common.collect.Iterators.singletonIterator;
-
class FlatFileStoreIterator extends AbstractIterator<NodeStateEntry> implements Iterator<NodeStateEntry>, Closeable {
private static final Logger LOG = LoggerFactory.getLogger(FlatFileStoreIterator.class);
@@ -149,7 +148,7 @@ class FlatFileStoreIterator extends AbstractIterator<NodeStateEntry> implements
}
private Iterable<NodeStateEntry> getEntries() {
- return () -> IteratorUtils.chainedIterator(singletonIterator(current), queueIterator());
+ return () -> IteratorUtils.chainedIterator(Collections.singleton(current).iterator(), queueIterator());
}
private Iterator<NodeStateEntry> queueIterator() {
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 6b45b3dedd..4d8d109b4a 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
@@ -30,6 +30,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.nio.charset.StandardCharsets;
+import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -256,7 +257,7 @@ public class DataStoreCheckTest {
assertEquals(2, count);
// artificially put the deleted id in the tracked .del file
- FileIOUtils.writeStrings(Iterators.singletonIterator(activeDeletedBlobId), delTracker, false);
+ FileIOUtils.writeStrings(Collections.singleton(activeDeletedBlobId).iterator(), delTracker, false);
setupDataStore.close();
@@ -287,7 +288,7 @@ public class DataStoreCheckTest {
assertEquals(2, count);
// artificially put the deleted id in the tracked .del file
- FileIOUtils.writeStrings(Iterators.singletonIterator(activeDeletedBlobId), delTracker, false);
+ FileIOUtils.writeStrings(Collections.singleton(activeDeletedBlobId).iterator(), delTracker, false);
setupDataStore.close();
diff --git a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java
index d87a4a0056..ce87ae9dfc 100644
--- a/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java
+++ b/oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/ClearMembershipActionTest.java
@@ -28,6 +28,7 @@ import org.apache.jackrabbit.api.security.user.Authorizable;
import org.apache.jackrabbit.api.security.user.Group;
import org.apache.jackrabbit.api.security.user.User;
import org.apache.jackrabbit.api.security.user.UserManager;
+import org.apache.jackrabbit.guava.common.collect.UnmodifiableIterator;
import org.apache.jackrabbit.oak.api.Root;
import org.apache.jackrabbit.oak.namepath.NamePathMapper;
import org.apache.jackrabbit.oak.spi.security.ConfigurationParameters;
@@ -75,7 +76,7 @@ public class ClearMembershipActionTest {
@Test
public void testOnRemoveUserWithMembership() throws Exception {
- when(user.declaredMemberOf()).thenReturn(Iterators.singletonIterator(gr));
+ when(user.declaredMemberOf()).thenReturn(Collections.singleton((Group) gr).iterator());
action.onRemove(user, root, NamePathMapper.DEFAULT);
assertTrue(gr.removed.contains(user));
@@ -84,7 +85,7 @@ public class ClearMembershipActionTest {
@Test
public void testOnRemoveGroupWithMembership() throws Exception {
Group memberGroup = Mockito.mock(Group.class);
- when(memberGroup.declaredMemberOf()).thenReturn(Iterators.singletonIterator(gr));
+ when(memberGroup.declaredMemberOf()).thenReturn(Collections.singleton(((Group) gr)).iterator());
action.onRemove(memberGroup, root, NamePathMapper.DEFAULT);
assertTrue(gr.removed.contains(memberGroup));
diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ValueMap.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ValueMap.java
index c979182b22..1032099b5a 100644
--- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ValueMap.java
+++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/ValueMap.java
@@ -66,7 +66,7 @@ class ValueMap {
// merge sort local map into maps of previous documents
List<Iterator<NodeDocument>> iterators =
new ArrayList<Iterator<NodeDocument>>(2);
- iterators.add(Iterators.singletonIterator(doc));
+ iterators.add(Collections.singleton(doc).iterator());
iterators.add(doc.getPreviousDocs(property, null).iterator());
docs = IteratorUtils.mergeSorted(iterators, new Comparator<NodeDocument>() {
@Override