Я пытаюсь использовать курсоры в Objectify v5, но, следуя примеру, я получаю исключение.
Мой код:
import com.google.appengine.api.datastore.Cursor;
import com.google.appengine.api.datastore.QueryResultIterator;
Query<IndicadorEntity> query = ofy().load().type(IndicadorEntity.class).limit(1000);
query.startAt(Cursor.fromWebSafeString("1"));
final List<IndicadorEntity> indicadorEntities = new ArrayList<>();
QueryResultIterator<IndicadorEntity> iterator = query.iterator();
while (iterator.hasNext()) {
indicadorEntities.add(iterator.next());
}
и получаю следующее исключение :
java.lang.IllegalArgumentException: Unable to decode provided cursor.
[INFO] GCLOUD: at com.google.appengine.api.datastore.Cursor.fromWebSafeString(Cursor.java:115)
Что не так? Я не могу найти ни одной подобной проблемы в Google, и я просто последовал примеру здесь.
РЕДАКТИРОВАТЬ1: ВОЗВРАТ ЗАПРОСА И ПУСТОЙ КУРСОР
final IndicadorEntityCursor indicadorEntityCursor = new IndicadorEntityCursor();
Query<IndicadorEntity> query = ofy().load().type(IndicadorEntity.class)
.filter(FILTRO_CAMPANA, this.getCampannaEntity(campanna))
.filter(FILTRO_FECHA_BAJA, null)
.limit(Constantes.DATASTORE_LIMIT)
.order("titulo");
if (cursor != null) {
query = query.startAt(Cursor.fromWebSafeString(cursor));
}
indicadorEntityCursor.setIndicadores(query.list());
indicadorEntityCursor.setCursor(query.iterator().getCursor().toWebSafeString());
return this.indicadorCursorMapper.map(indicadorEntityCursor);
Спасибо.