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 <[email protected]> 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
