@Override public Iterator<Authorizable> findAuthorizables(String relPath, String value, int searchType) throws RepositoryException { return getQueryManager().findAuthorizables(relPath, value, AuthorizableType.getType(searchType)); }
@Override public Iterator<Authorizable> findAuthorizables(String relPath, String value, int searchType) throws RepositoryException { return getQueryManager().findAuthorizables(relPath, value, AuthorizableType.getType(searchType)); }
@Override public Iterator<Authorizable> findAuthorizables(String relPath, String value, int searchType) throws RepositoryException { return getQueryManager().findAuthorizables(relPath, value, AuthorizableType.getType(searchType)); }
@Test(expected = IllegalArgumentException.class) public void testGetTypeIllegalSearchType() { AuthorizableType.getType(0); }
@NotNull @Override public Iterator<? extends Principal> findPrincipals(final String nameHint, final int searchType) { try { AuthorizableType type = AuthorizableType.getType(searchType); StringBuilder statement = new StringBuilder() .append(QueryUtil.getSearchRoot(type, config.getParameters())) .append("//element(*,").append(QueryUtil.getNodeTypeName(type)).append(')') .append("[jcr:like(@rep:principalName,'") .append(buildSearchPattern(nameHint)) .append("')]"); Result result = root.getQueryEngine().executeQuery( statement.toString(), javax.jcr.query.Query.XPATH, NO_BINDINGS, namePathMapper.getSessionLocalMappings()); Iterator<Principal> principals = Iterators.filter( Iterators.transform(result.getRows().iterator(), new ResultRowToPrincipal()), Predicates.notNull()); if (matchesEveryone(nameHint, searchType)) { principals = Iterators.concat(principals, Iterators.singletonIterator(EveryonePrincipal.getInstance())); return Iterators.filter(principals, new EveryonePredicate()); } else { return principals; } } catch (ParseException e) { log.debug(e.getMessage()); return Collections.emptyIterator(); } }
@NotNull @Override public Iterator<? extends Principal> findPrincipals(final String nameHint, final int searchType) { try { AuthorizableType type = AuthorizableType.getType(searchType); StringBuilder statement = new StringBuilder() .append(QueryUtil.getSearchRoot(type, config.getParameters())) .append("//element(*,").append(QueryUtil.getNodeTypeName(type)).append(')') .append("[jcr:like(@rep:principalName,'") .append(buildSearchPattern(nameHint)) .append("')]"); Result result = root.getQueryEngine().executeQuery( statement.toString(), javax.jcr.query.Query.XPATH, NO_BINDINGS, namePathMapper.getSessionLocalMappings()); Iterator<Principal> principals = Iterators.filter( Iterators.transform(result.getRows().iterator(), new ResultRowToPrincipal()), Predicates.notNull()); if (matchesEveryone(nameHint, searchType)) { principals = Iterators.concat(principals, Iterators.singletonIterator(EveryonePrincipal.getInstance())); return Iterators.filter(principals, new EveryonePredicate()); } else { return principals; } } catch (ParseException e) { log.debug(e.getMessage()); return Collections.emptyIterator(); } }
@Nonnull @Override public Iterator<? extends Principal> findPrincipals(final String nameHint, final int searchType) { try { AuthorizableType type = AuthorizableType.getType(searchType); StringBuilder statement = new StringBuilder() .append(QueryUtil.getSearchRoot(type, config.getParameters())) .append("//element(*,").append(QueryUtil.getNodeTypeName(type)).append(')') .append("[jcr:like(@rep:principalName,'") .append(buildSearchPattern(nameHint)) .append("')]"); Result result = root.getQueryEngine().executeQuery( statement.toString(), javax.jcr.query.Query.XPATH, NO_BINDINGS, namePathMapper.getSessionLocalMappings()); Iterator<Principal> principals = Iterators.filter( Iterators.transform(result.getRows().iterator(), new ResultRowToPrincipal()), Predicates.notNull()); if (matchesEveryone(nameHint, searchType)) { principals = Iterators.concat(principals, Iterators.singletonIterator(EveryonePrincipal.getInstance())); return Iterators.filter(principals, new EveryonePredicate()); } else { return principals; } } catch (ParseException e) { log.debug(e.getMessage()); return Collections.emptyIterator(); } }
@Test public void testGetType() { assertSame(AuthorizableType.USER, AuthorizableType.getType(UserManager.SEARCH_TYPE_USER)); assertSame(AuthorizableType.GROUP, AuthorizableType.getType(UserManager.SEARCH_TYPE_GROUP)); assertSame(AuthorizableType.AUTHORIZABLE, AuthorizableType.getType(UserManager.SEARCH_TYPE_AUTHORIZABLE)); }
@Override public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder.like('@' +UserConstants.REP_PRINCIPAL_NAME, buildSearchPattern(nameHint))); builder.setSelector(AuthorizableType.getType(searchType).getAuthorizableClass()); } };
@Override public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder.like('@' +UserConstants.REP_PRINCIPAL_NAME, buildSearchPattern(nameHint))); builder.setSelector(AuthorizableType.getType(searchType).getAuthorizableClass()); } };
@Override public <T> void build(QueryBuilder<T> builder) { builder.setCondition(builder.like('@' +UserConstants.REP_PRINCIPAL_NAME, buildSearchPattern(nameHint))); builder.setSelector(AuthorizableType.getType(searchType).getAuthorizableClass()); } };