/** {@inheritDoc} */ @Nullable public String getResultCacheKey() { return searchFilter.format(); }
@Override protected SearchFilter appendAttributeToQuery( final SearchFilter filter, final String attribute, final List<Object> values) { final SearchFilter query; if (filter == null && values.size() > 0) { query = new SearchFilter(this.searchFilter); query.setParameter(0, values.get(0).toString()); logger.debug("Constructed LDAP search query [{}]", query.format()); } else { throw new UnsupportedOperationException("Multiple attributes not supported."); } return query; }
@Override protected SearchFilter appendAttributeToQuery(final SearchFilter filter, final String attribute, final List<Object> values) { final SearchFilter query; if (filter == null && values.size() > 0) { query = new SearchFilter(this.searchFilter); if (this.searchFilter.contains("{0}")) { query.setParameter(0, values.get(0).toString()); } else if (this.searchFilter.contains("{user}")) { query.setParameter("user", values.get(0).toString()); } logger.debug("Constructed LDAP search query [{}]", query.format()); } else { throw new UnsupportedOperationException("Multiple attributes not supported."); } return query; }
/** * @param encodedFilter to compare against * @param filter to format * * @throws Exception On test failure. */ @Test(groups = {"filter"}, dataProvider = "filters") public void testFormat(final String encodedFilter, final SearchFilter filter) throws Exception { Assert.assertEquals(filter.format(), encodedFilter); } }
sb.append("sub"); sb.append("?").append(LdapUtils.percentEncode(getFilter().format())); return sb.toString();
sb.append("sub"); sb.append("?").append(LdapUtils.percentEncode(getFilter().format())); return sb.toString();
sb.append("sub"); sb.append("?").append(LdapUtils.percentEncode(getFilter().format())); return sb.toString();
/** * Constructs a new search filter using {@link SearchExecutor#searchFilter} as a template and * the username as a parameter. * * @param executor the executor * @param username the username * @return Search filter with parameters applied. */ private SearchFilter createSearchFilter(final SearchExecutor executor, final String username) { final SearchFilter filter = new SearchFilter(); filter.setFilter(executor.getSearchFilter().getFilter()); filter.setParameter(0, username); logger.debug("Constructed LDAP search filter [{}]", filter.format()); return filter; } }
/** * Constructs a new search filter using {@link SearchExecutor#searchFilter} as a template and * the username as a parameter. * * @param filterQuery the query filter * @param params the username * @return Search filter with parameters applied. */ public static SearchFilter newSearchFilter(final String filterQuery, final String... params) { final SearchFilter filter = new SearchFilter(); filter.setFilter(filterQuery); if (params != null) { for (int i = 0; i < params.length; i++) { if (filter.getFilter().contains("{" + i + "}")) { filter.setParameter(i, params[i]); } else { filter.setParameter("user", params[i]); } } } LOGGER.debug("Constructed LDAP search filter [{}]", filter.format()); return filter; }
/** * Executes {@link LdapContext#search( javax.naming.Name, String, Object[], SearchControls)}. * * @param ctx to search * @param sr to read properties from * * @return naming enumeration of search results * * @throws NamingException if an error occurs */ protected NamingEnumeration<SearchResult> search(final LdapContext ctx, final SearchRequest sr) throws NamingException { return ctx.search( sr.getBaseDn(), sr.getSearchFilter() != null ? request.getSearchFilter().format() : null, getSearchControls(sr)); }
/** * Executes {@link LdapContext#search( javax.naming.Name, String, Object[], SearchControls)}. * * @param ctx to search * @param sr to read properties from * * @return naming enumeration of search results * * @throws NamingException if an error occurs */ protected NamingEnumeration<SearchResult> search(final LdapContext ctx, final SearchRequest sr) throws NamingException { return ctx.search( new LdapName(sr.getBaseDn()), sr.getSearchFilter() != null ? request.getSearchFilter().format() : null, getSearchControls(sr)); }
this.searchRequest.getSearchFilter().format(), this.searchRequest.getBaseDn());
/** * Executes {@link LdapContext#search( javax.naming.Name, String, Object[], SearchControls)}. * * @param ctx to search * @param sr to read properties from * * @return naming enumeration of search results * * @throws NamingException if an error occurs */ protected NamingEnumeration<SearchResult> search(final LdapContext ctx, final SearchRequest sr) throws NamingException { return ctx.search( new LdapName(sr.getBaseDn()), sr.getSearchFilter() != null ? request.getSearchFilter().format() : null, getSearchControls(sr)); }
apacheSr.setFilter(sr.getSearchFilter().format());