public PagedResult<String>[] findAllIdByCriteria( Criteria c1, Criteria c2, Criteria ... otherCriteria) { long start = TimeLog.getTime(); List<Criteria> criterias = new ArrayList<Criteria>(otherCriteria.length + 2); Collections.addAll(criterias, c1, c2); Collections.addAll(criterias, otherCriteria); List<PagedResult<String>> resultList = findAllIdByCriteria(criterias); PagedResult<String>[] result = resultList.toArray(new PagedResult[criterias.size()]); timeLog.log(start, "findAllIdByCriteria(Varargs)"); return result; }
public PagedResult<String> findAllIdByCriteria(Criteria criteria) { long start = TimeLog.getTime(); PagedResult<String> result = null; if (criteria != null) { result = findAllIdByCriteria( Collections.singletonList(criteria)).get(0); } timeLog.log(start, "findAllIdByCriteria(One)"); return result; }
/** * Null field are not used in search request. * * @param e sample wikitty * @param firstIndex * @param endIndex * @param fieldFacet * @return */ public <E extends BusinessEntityImpl> PagedResult<E> findAllByExample(E e, int firstIndex, int endIndex, String ... fieldFacet ) { long start = TimeLog.getTime(); Criteria criteria = Search.query(e.getWikitty()).criteria() .setFirstIndex(firstIndex).setEndIndex(endIndex) .setFacetField(fieldFacet); PagedResult<String> pagedResult = findAllIdByCriteria(criteria); // we can use autoconvert = true because search by example add automaticaly // restriction on extension PagedResult<E> result = (PagedResult<E>)pagedResult.cast( this, e.getClass(), true); timeLog.log(start, "findAllByExample<limit>"); return result; }