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 bd85fe2b08 OAK-11665 : removed usage of Guava's
Iterators.singletonIterator with native java (#2244)
bd85fe2b08 is described below
commit bd85fe2b08db4a9ff423a4193a5cdc6b6175ade1
Author: Rishabh Kumar <[email protected]>
AuthorDate: Thu Apr 24 13:40:43 2025 +0530
OAK-11665 : removed usage of Guava's Iterators.singletonIterator with
native java (#2244)
Co-authored-by: Rishabh Kumar <[email protected]>
---
.../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