public LimitedListObjectsRequest copy() { return new LimitedListObjectsRequest(this); }
private void readNextItemsIfNeeded() { if (!finished && (currentItems == null || !currentItems.hasNext())) { LimitedListObjectsRequest request = new LimitedListObjectsRequest(); request.setTypes(types != null ? types : YaddaImporterConstants.DEFAULT_TYPES); request.setFrom(from); request.setUntil(until); request.setTags(tags); request.setHistory(false); } else { request.setResumptionToken(resumptionToken); request.setLimit(DEFAULT_CURSOR_SIZE);
public PagedListResponse<YaddaObjectID> listObjectIds(LimitedListObjectsRequest request) { PagedListResponse<YaddaObjectID> response = new PagedListResponse<YaddaObjectID>(); try { int limit = verifyLimit(request.getLimit()); SimpleCriteria criteria; if (request.getResumptionToken() == null) { criteria = new SimpleCriteria(request); } else { String token = request.getResumptionToken(); criteria = criteriaSerializator.deserialize(token); } YaddaObjectIdList metaIds = curdao.findMetaIds(criteria, limit); response.setPage(metaIds.getIds()); String nextToken = createToken(criteria, metaIds.getLastTimestamp(), metaIds.getLastPk()); response.setResumptionToken(nextToken); } catch (Exception e) { response.setError(new YaddaError(ERROR_CODE, e.getMessage(), e)); } return response; }