public void setUp() throws Exception {
super.setUp();
setupFacesRequest();
extendedDataModel = new SequenceDataModel<User>(new ArrayDataModel<User>(users));
arrangeableModel = new ArrangeableModel(extendedDataModel, "var", "filterVar");
ExpressionFactory expressionFactory = facesContext.getApplication().getExpressionFactory();
ELContext elContext = facesContext.getELContext();
FilterField[] filterFields = {
new FilterField(null, new Filter<User>() {
public boolean accept(User t) {
return t.getFname().indexOf('a') == -1;
}
}, null),
new FilterField(expressionFactory.createValueExpression(elContext, "#{var.lname != filterVar}", Object.class),
null, "b") };
SortField[] sortFields = {
new SortField(expressionFactory.createValueExpression(elContext, "#{var.fname}", Object.class), null,
SortOrder.ascending), new SortField(null, new Comparator<User>() {
public int compare(User o1, User o2) {
return o1.getLname().compareTo(o2.getLname());
}
}, SortOrder.descending) };