use of org.gluu.search.filter.Filter in project oxCore by GluuFederation.
the class LdapSample method main.
public static void main(String[] args) {
// Prepare sample connection details
LdapSampleEntryManager ldapSampleEntryManager = new LdapSampleEntryManager();
// Create LDAP entry manager
LdapEntryManager ldapEntryManager = ldapSampleEntryManager.createLdapEntryManager();
// Find all users which have specified object classes defined in SimpleUser
List<SimpleUser> users = ldapEntryManager.findEntries("o=gluu", SimpleUser.class, null);
for (SimpleUser user : users) {
LOG.debug("User with uid: " + user.getUserId());
}
if (users.size() > 0) {
// Add attribute "streetAddress" to first user
SimpleUser user = users.get(0);
user.getCustomAttributes().add(new CustomAttribute("streetAddress", "Somewhere: " + System.currentTimeMillis()));
ldapEntryManager.merge(user);
}
Filter filter = Filter.createEqualityFilter("gluuStatus", "active");
List<SimpleAttribute> attributes = ldapEntryManager.findEntries("o=gluu", SimpleAttribute.class, filter, SearchScope.SUB, null, null, 10, 0, 0);
for (SimpleAttribute attribute : attributes) {
LOG.debug("Attribute with displayName: " + attribute.getCustomAttributes().get(1));
}
List<SimpleSession> sessions = ldapEntryManager.findEntries("o=gluu", SimpleSession.class, filter, SearchScope.SUB, null, null, 10, 0, 0);
LOG.debug("Found sessions: " + sessions.size());
List<SimpleGrant> grants = ldapEntryManager.findEntries("o=gluu", SimpleGrant.class, null, SearchScope.SUB, new String[] { "oxAuthGrantId" }, null, 10, 0, 0);
LOG.debug("Found grants: " + grants.size());
try {
ListViewResponse<SimpleUser> vlvResponse = ldapEntryManager.findListViewResponse("o=gluu", SimpleUser.class, null, 10, 100000, 1000, "displayName", SortOrder.ASCENDING, new String[] { "uid", "displayName", "gluuStatus" });
LOG.debug("Found persons: " + vlvResponse.getTotalResults());
System.out.println(vlvResponse.getResult().size());
} catch (Exception ex) {
LOG.error("Failed to search", ex);
}
}
use of org.gluu.search.filter.Filter in project oxCore by GluuFederation.
the class BaseEntryManager method countEntries.
@SuppressWarnings("unchecked")
public <T> int countEntries(Object entry) {
if (entry == null) {
throw new MappingException("Entry to count is null");
}
// Check entry class
Class<T> entryClass = (Class<T>) entry.getClass();
checkEntryClass(entryClass, false);
List<PropertyAnnotation> propertiesAnnotations = getEntryPropertyAnnotations(entryClass);
Object dnValue = getDNValue(entry, entryClass);
List<AttributeData> attributes = getAttributesListForPersist(entry, propertiesAnnotations);
Filter searchFilter = createFilterByEntry(entry, entryClass, attributes);
return countEntries(dnValue.toString(), entryClass, searchFilter);
}
use of org.gluu.search.filter.Filter in project oxCore by GluuFederation.
the class BaseEntryManager method findEntries.
@Override
@SuppressWarnings("unchecked")
public <T> List<T> findEntries(Object entry, int sizeLimit) {
if (entry == null) {
throw new MappingException("Entry to find is null");
}
// Check entry class
Class<T> entryClass = (Class<T>) entry.getClass();
checkEntryClass(entryClass, false);
List<PropertyAnnotation> propertiesAnnotations = getEntryPropertyAnnotations(entryClass);
Object dnValue = getDNValue(entry, entryClass);
List<AttributeData> attributes = getAttributesListForPersist(entry, propertiesAnnotations);
Filter searchFilter = createFilterByEntry(entry, entryClass, attributes);
return findEntries(dnValue.toString(), entryClass, searchFilter, SearchScope.SUB, null, sizeLimit, DEFAULT_PAGINATION_SIZE);
}
use of org.gluu.search.filter.Filter in project oxCore by GluuFederation.
the class LookupService method buildInumFilter.
public Filter buildInumFilter(List<String> inums) {
List<Filter> inumFilters = new ArrayList<Filter>(inums.size());
for (String inum : inums) {
inumFilters.add(Filter.createEqualityFilter(OxConstants.INUM, inum));
}
Filter searchFilter = Filter.createORFilter(inumFilters);
return searchFilter;
}
use of org.gluu.search.filter.Filter in project oxCore by GluuFederation.
the class AbstractCustomScriptService method findCustomScripts.
public List<CustomScript> findCustomScripts(List<CustomScriptType> customScriptTypes, String... returnAttributes) {
String baseDn = baseDn();
if ((customScriptTypes == null) || (customScriptTypes.size() == 0)) {
return findAllCustomScripts(returnAttributes);
}
List<Filter> customScriptTypeFilters = new ArrayList<Filter>();
for (CustomScriptType customScriptType : customScriptTypes) {
Filter customScriptTypeFilter = Filter.createEqualityFilter("oxScriptType", customScriptType.getValue());
customScriptTypeFilters.add(customScriptTypeFilter);
}
Filter filter = Filter.createORFilter(customScriptTypeFilters);
List<CustomScript> result = ldapEntryManager.findEntries(baseDn, CustomScript.class, filter, returnAttributes);
return result;
}
Aggregations