@Override public List<String> findByCriteria(String securityToken, List<Criteria> criteria) { List<String> result = new ArrayList<String>(criteria.size()); List<Criteria> criteriaLimit = new ArrayList<Criteria>(criteria.size()); for (Criteria c : criteria) { Criteria climit = Search.query(c).criteria().setFirstIndex(0).setEndIndex(1); criteriaLimit.add(climit); } List<PagedResult<String>> idsList = findAllByCriteria( securityToken, criteriaLimit); for (PagedResult<String> ids : idsList) { if (ids.size() > 0) { result.add(ids.getFirst()); } else { result.add(null); } } if (criteria.size() != result.size()) { log.error(String.format("Criteria input list (%s) has not same size that result list (%s)", criteria.size(), result.size())); } return result; }
for (Criteria c : criteria) { Criteria cLimit = Search.query(c).criteria() .setFirstIndex(0).setEndIndex(1); criteriaLimit.add(cLimit);
/** * Recherche tous les objets qui ont ce label * * @param proxy * @param label * @param firstIndex * @param endIndex * @return * @deprecated since 3.4 use {@link #findAllByLabel(org.nuiton.wikitty.WikittyClient, java.lang.String, int, int) } */ @Deprecated static public PagedResult<Wikitty> findAllByLabel(WikittyProxy proxy, String label, int firstIndex, int endIndex) { WikittyLabelImpl l = new WikittyLabelImpl(); l.addLabels(label); Criteria criteria = Search.query(l.getWikitty()).criteria() .setFirstIndex(firstIndex).setEndIndex(endIndex); PagedResult<Wikitty> result = proxy.findAllByCriteria(criteria); return result; }
.setFirstIndex(0).setEndIndex(0) .addFacetField(TREENODE_ATTACHED_ALL); PagedResult<String> attSearch =
/** * 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; }
.setFirstIndex(0).setEndIndex(0) .addFacetField(TREENODE_ATTACHED_ALL); PagedResult<String> attSearch =
criteria.setEndIndex(firstIndex);