Show/Hide Toolbars

The following sample searches for one or more expense records and returns the specified property values. For this sample, it is assumed there are one or more expenses already existing with a subject String field value equal to subject.

Code Snippet

protected ExpenseRepository expenseRepository;

private List<Expense> test_readExpensesByCriteria() throws Exception

{

// Criterion for expense searching

StringFieldCriterion fieldCriterion = new StringFieldCriterion();

fieldCriterion.setComparator(StringComparator.EQUALS_ENFORCE_CASE);

LegacySearchFieldPathExpression fieldPathExpression = new LegacySearchFieldPathExpression();

fieldPathExpression.setSearchKeyPath("shortDescription");

fieldCriterion.setFieldPath(fieldPathExpression);

fieldCriterion.getValue().add(subject);

FieldSearchClause searchCriteria = new FieldSearchClause();

searchCriteria.setOperator(LogicOperator.AND);

searchCriteria.getCriteria().add(fieldCriterion);

expenses = expenseRepository.readExpensesByCriteria(searchCriteria, 100,

getPropertiesToRead());

}

private List<String> getPropertiesToRead() {

List<String> props = new List<String>();

//the list of all available properties displays below but to increase efficiency in your searches, you can omit unnecessary properties from your application and those values will not be returned

props.add("shortDescription");

props.add("uniqueKey");

props.add("categories");

props.add("createdOn");

props.add("modifiedBy");

props.add("createdBy");

props.add("modifiedOn");

props.add("version");

props.add("contact");

props.add("expenseDate");

props.add("expensedBy");

props.add("project");

props.add("quantity");

props.add("unitPrice");

props.add("totalAmount");

return props;

}