private Iterator<Authorizable> findAuthorizables(@Nullable final String nameHint, final int searchType) throws RepositoryException { Query userQuery = new Query() { @Override public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder.like('@' +UserConstants.REP_PRINCIPAL_NAME, buildSearchPattern(nameHint))); builder.setSelector(AuthorizableType.getType(searchType).getAuthorizableClass()); } }; return userManager.findAuthorizables(userQuery); }
@Override public Iterator<Authorizable> findAuthorizables(final String relPath, final String value) throws RepositoryException { Iterator<Authorizable> internal = delegate.findAuthorizables(relPath, value); return Iterators.transformIterator(internal, AuthorizableFacade::ensureBestWrapper); }
@Override public Iterator<Authorizable> findAuthorizables(final Query query) throws RepositoryException { Iterator<Authorizable> internal = delegate.findAuthorizables(query); return Iterators.transformIterator(internal, AuthorizableFacade::ensureBestWrapper); }
@Override public Iterator<Authorizable> findAuthorizables(final String relPath, final String value, final int searchType) throws RepositoryException { Iterator<Authorizable> internal = delegate.findAuthorizables(relPath, value, searchType); return Iterators.transformIterator(internal, AuthorizableFacade::ensureBestWrapper); }
public void testFindAllGroups() throws RepositoryException { Iterator<Authorizable> it = userMgr.findAuthorizables(pPrincipalName, null, UserManager.SEARCH_TYPE_GROUP); while (it.hasNext()) { assertTrue(it.next().isGroup()); } }
@Test public void testFindV1AtGroupNode() throws NotExecutableException, RepositoryException { // relPath : "./prop1", v = "v1" -> should not find the target group Iterator<Authorizable> result = userMgr.findAuthorizables("./" + propertyName1, "v1"); assertFalse("expected result", result.hasNext()); }
@Test public void testFindV3AtGroupNode() throws NotExecutableException, RepositoryException { // relPath : "./prop1", v = "v3" -> should not find the target group Iterator<Authorizable> result = userMgr.findAuthorizables("./" + propertyName1, "v3"); assertFalse("expected result", result.hasNext()); } }
@Test public void testAny() throws RepositoryException { Iterator<Authorizable> result = userMgr.findAuthorizables(new Query() { public <T> void build(QueryBuilder<T> builder) { /* any */ } }); assertSameElements(result, authorizables.iterator()); }
@Test public void testFindAllUsersDoesNotContainGroup() throws RepositoryException { Iterator<Authorizable> it = userMgr.findAuthorizables(UserConstants.REP_PRINCIPAL_NAME, null, UserManager.SEARCH_TYPE_USER); while (it.hasNext()) { assertFalse(it.next().isGroup()); } }
@Test public void testFindAllGroupsDoesNotContainUser() throws RepositoryException { Iterator<Authorizable> it = userMgr.findAuthorizables(UserConstants.REP_PRINCIPAL_NAME, null, UserManager.SEARCH_TYPE_GROUP); while (it.hasNext()) { assertTrue(it.next().isGroup()); } }
public void testContains1() throws RepositoryException { Iterator<Authorizable> result = userMgr.findAuthorizables(new Query() { public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder. contains(".", "gold")); } }); Iterator<User> expected = Iterators.singleton(goldenToad); assertTrue(result.hasNext()); assertSameElements(result, expected); }
public void testContains4() throws RepositoryException { Iterator<Authorizable> result = userMgr.findAuthorizables(new Query() { public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder. contains("profile/@food", "grass")); } }); Iterator<User> expected = Iterators.singleton(kangaroo); assertTrue(result.hasNext()); assertSameElements(result, expected); }
public void testImpersonation() throws RepositoryException { Iterator<Authorizable> result = userMgr.findAuthorizables(new Query() { public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder. impersonates("jackrabbit")); } }); Iterator<User> expected = Iterators.singleton(elephant); assertTrue(result.hasNext()); assertSameElements(result, expected); }
public void testContains3() throws RepositoryException { Iterator<Authorizable> result = userMgr.findAuthorizables(new Query() { public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder. contains("profile/.", "grass")); } }); Iterator<User> expected = Iterators.singleton(kangaroo); assertTrue(result.hasNext()); assertSameElements(result, expected); }
@Test public void testImpersonationWithBackslash() throws RepositoryException { Iterator<Authorizable> result = userMgr.findAuthorizables(new Query() { public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder. impersonates("foo\\bar")); } }); Iterator<User> expected = Iterators.singletonIterator(elephant); assertTrue(result.hasNext()); assertSameElements(expected, result); }
@Test public void testFindV1ByAltRelativePath() throws NotExecutableException, RepositoryException { // relPath = "another/prop1", v = "v1" -> should find the target group Iterator<Authorizable> result = userMgr.findAuthorizables(relPath2, "v1"); assertSingleResult(result, gr.getID()); }
@Test public void testContains1() throws RepositoryException { Iterator<Authorizable> result = userMgr.findAuthorizables(new Query() { public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder. contains(".", "gold")); } }); Iterator<User> expected = Iterators.singletonIterator(goldenToad); assertTrue(result.hasNext()); assertSameElements(result, expected); }
@Test public void testContains4() throws RepositoryException { Iterator<Authorizable> result = userMgr.findAuthorizables(new Query() { public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder. contains("profile/@food", "grass")); } }); Iterator<User> expected = Iterators.singletonIterator(kangaroo); assertTrue(result.hasNext()); assertSameElements(result, expected); }
@Test public void testQuery() throws Exception { Iterator<Authorizable> result = getUserManager(session).findAuthorizables(new Query() { public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder. eq("@my:property", vf.createValue("value"))); } }); assertTrue(result.hasNext()); assertEquals(user.getID(), result.next().getID()); }
@Test public void testFindAuthorizable() throws Exception { user = createUser(uid); Iterator<Authorizable> iterator = userMgr.findAuthorizables(UserConstants.REP_PRINCIPAL_NAME, user.getPrincipal().getName()); assertTrue(iterator.hasNext()); Authorizable authorizable = iterator.next(); assertNotNull(authorizable); assertFalse(authorizable.isGroup()); assertTrue(((User) authorizable).isSystemUser()); assertFalse(iterator.hasNext()); }