private void addCriteria(Search searchCriteria, String fieldName, IdNameFilter filter) { switch (filter.getType()) { case ANY: break; // no filtering case DEFAULT: searchCriteria.addFilterNull(fieldName); break; case IDVALUE: searchCriteria.addFilterOr( Filter.isNull(fieldName), Filter.equal(fieldName + ".id", filter.getId())); break; case NAMEVALUE: searchCriteria.addFilterOr( Filter.isNull(fieldName), Filter.equal(fieldName + ".name", filter.getName())); break; default: throw new AssertionError(); } }
} else { searchCriteria.addFilter( Filter.equal(fieldName + ".id", filter.getId()));
private static Long getFilterId(RuleFilter.IdNameFilter filter) { return filter==null? null: filter.getType()==RuleFilter.FilterType.IDVALUE? filter.getId(): null; } private static String getFilterName(RuleFilter.IdNameFilter filter) {