if (_filter == null && filter != null) {
filter.map(input, env);
_filter = (String) env.get("filter");
}
if (_filter == null)
throw new MapperException(getName()
+ ": No filter definable for this search");
/* control */
SearchControls controls = new SearchControls();
controls.setSearchScope(SearchControls.OBJECT_SCOPE);
controls.setReturningAttributes(new String[0]);
controls.setReturningObjFlag(true);
/* run query */
try {
if (log.isDebugEnabled())
log.debug("[" + getName() + "] comparing " + _root + " with "
+ _filter);
directory.search(_root, _filter, controls);
if (log.isDebugEnabled())
log.debug("[" + getName() + "] done");
} catch (NamingException ne) {
throw new MapperException("Failed to match requested attributes",
ne);
}
return Boolean.TRUE;
}