use of org.forgerock.opendj.ldap.Filter in project OpenAM by OpenRock.
the class GenericRepoTest method testConstructFilterWithMultipleAssertions.
@Test
public void testConstructFilterWithMultipleAssertions() throws Exception {
Map<String, Set<String>> attrs = new HashMap<String, Set<String>>(1);
attrs.put("cn", asOrderedSet("()\\\0", "hello"));
Filter filter = idrepo.constructFilter(IdRepo.AND_MOD, attrs);
assertThat(filter.toString()).isEqualTo("(&(cn=\\28\\29\\5C\\00)(cn=hello))");
}
use of org.forgerock.opendj.ldap.Filter in project OpenAM by OpenRock.
the class DynamicGroup method setSearchBase.
/**
* Sets the search base used to evaluate this dynamic group.
*
* @param baseGuid Search base for evaluating members of the group.
*
* @supported.api
*/
public void setSearchBase(Guid baseGuid) {
LDAPUrl url = getUrl();
SearchScope scope = url.getScope();
Filter filter = url.getFilter();
try {
setUrl(baseGuid, filter, scope);
} catch (Exception e) {
// TODO - Log Exception
debug.error("DynamicGroup.setSearchFilter : Exception : " + e.getMessage());
}
}
use of org.forgerock.opendj.ldap.Filter in project OpenAM by OpenRock.
the class DynamicGroup method setSearchScope.
/**
* Sets the search scope used to evaluate this dynamic group.
*
* @param scope Search scope for evaluating members of the group. Use one of
* the search scope <code>SCOPE_BASE</code>,
* <code>SCOPE_ONE</code>, or <code>SCOPE_SUB</code>.
*
* @supported.api
*/
public void setSearchScope(int scope) {
LDAPUrl url = getUrl();
Guid baseGuid = new Guid(url.getName().toString());
Filter filter = url.getFilter();
try {
setUrl(baseGuid, filter, SearchScope.valueOf(scope));
} catch (Exception e) {
// TODO - Log Exception
debug.error("DynamicGroup.setSearchFilter : Exception : " + e.getMessage());
}
}
use of org.forgerock.opendj.ldap.Filter in project OpenAM by OpenRock.
the class LdapQueryBuilder method getEntries.
private Collection<Entry> getEntries(Connection connection) throws CoreTokenException {
// Prepare the search
Filter ldapFilter = getLDAPFilter();
SearchRequest searchRequest = LDAPRequests.newSearchRequest(dataLayerConfiguration.getTokenStoreRootSuffix(), SearchScope.WHOLE_SUBTREE, ldapFilter, requestedAttributes);
searchRequest.setSizeLimit(sizeLimit);
if (isPagingResults()) {
searchRequest = searchRequest.addControl(SimplePagedResultsControl.newControl(true, pageSize, pagingCookie));
}
// Perform the search
Collection<Entry> entries = createResultsList();
final Result result = handler.performSearch(connection, searchRequest, entries);
if (isPagingResults()) {
try {
SimplePagedResultsControl control = result.getControl(SimplePagedResultsControl.DECODER, new DecodeOptions());
if (control == null) {
if (debug.warningEnabled()) {
debug.warning("There was no paged result control in the search response, it is recommended to " + "set the CTS user's size-limit at least to " + (pageSize + 1));
}
pagingCookie = getEmptyPagingCookie();
} else {
pagingCookie = control.getCookie();
}
} catch (DecodeException e) {
throw new CoreTokenException("Failed to decode Paging Cookie", e);
}
}
if (debug.messageEnabled()) {
debug.message(MessageFormat.format(CoreTokenConstants.DEBUG_HEADER + "Query: matched {0} results\n" + "Search Request: {1}\n" + "Filter: {2}\n" + "Result: {3}", entries.size(), searchRequest, ldapFilter.toString(), result));
}
return entries;
}
use of org.forgerock.opendj.ldap.Filter in project OpenAM by OpenRock.
the class LdapAdapterTest method shouldQuery.
@Test
public void shouldQuery() throws Exception {
// Given
final QueryBuilder<Connection, Filter> mockBuilder = mock(QueryBuilder.class);
given(mockBuilder.withFilter(any(Filter.class))).willAnswer(new Answer<QueryBuilder<Connection, Filter>>() {
@Override
public QueryBuilder<Connection, Filter> answer(InvocationOnMock invocation) throws Throwable {
return mockBuilder;
}
});
given(mockBuilder.execute(any(Connection.class))).willReturn(Arrays.asList((Collection<Token>) Arrays.asList(new Token("weasel", TokenType.OAUTH))).iterator());
given(mockQueryFactory.createInstance()).willReturn(mockBuilder);
QueryFilterVisitor<Filter, Void, CoreTokenField> visitor = mock(QueryFilterVisitor.class);
given(mockQueryFactory.createFilterConverter()).willReturn(visitor);
given(visitor.visitBooleanLiteralFilter(null, true)).willReturn(Filter.alwaysTrue());
// When
TokenFilter filter = new TokenFilterBuilder().withQuery(QueryFilter.<CoreTokenField>alwaysTrue()).build();
Collection<Token> result = adapter.query(mockConnection, filter);
// Then
verify(mockBuilder).withFilter(any(Filter.class));
verify(mockBuilder).execute(mockConnection);
assertThat(result.size()).isEqualTo(1);
assertThat(result.iterator().next().getTokenId()).isEqualTo("weasel");
}
Aggregations