The following sample searches users by given search criteria and returns the specified properties of the resulting user account records.
protected UserAccountRepository userAccountRepository;
private List<UserAccount> test_readUserAccountsByCriteria() throws
Exception {
// Criterion for user account searching
StringFieldCriterion fieldCriterion = new StringFieldCriterion();
fieldCriterion.setComparator(StringComparator.EQUALS_ENFORCE_CASE);
LegacySearchFieldPathExpression fieldPathExpression = new LegacySearchFieldPathExpression();
fieldPathExpression.setSearchKeyPath("username");
fieldCriterion.setFieldPath(fieldPathExpression);
fieldCriterion.getValue().add("JohnDoe");
FieldSearchClause searchCriteria = new FieldSearchClause();
searchCriteria.setOperator(LogicOperator.AND);
searchCriteria.getCriteria().add(fieldCriterion);
users = userAccountRepository.readUserAccountsByCriteria(searchCriteria, 100, getPropertiesToRead());
}
private List<String> getProperties() {
List<String> properties = new List<String>();
properties.add("username");
properties.add("active");
properties.add("password");
properties.add("contact");
properties.add("shortDescription");
properties.add("uniqueKey");
properties.add("userType");
return properties;
}