本文整理了Java中io.yawp.repository.query.QueryBuilder.getCursor
方法的一些代码示例,展示了QueryBuilder.getCursor
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryBuilder.getCursor
方法的具体详情如下:
包路径:io.yawp.repository.query.QueryBuilder
类名称:QueryBuilder
方法名:getCursor
暂无
代码示例来源:origin: feroult/yawp
public String getCursor() {
return query.getCursor();
}
代码示例来源:origin: feroult/yawp
private String offset() {
if (builder.getCursor() == null) {
return "";
}
return String.format(" offset %s", builder.getCursor());
}
代码示例来源:origin: feroult/yawp
private void setCursor(List<Entity> entities) {
if (entities.isEmpty()) {
return;
}
long previousCursor = builder.getCursor() != null ? Long.valueOf(builder.getCursor()) : 0;
builder.setCursor(String.valueOf(previousCursor + entities.size()));
}
代码示例来源:origin: feroult/yawp
private void fanout(List<Work> result) {
if (result.size() >= BATCH_SIZE) {
enqueueNextBatch(worksQuery().getCursor());
}
}
代码示例来源:origin: feroult/yawp
private void refluxSourcesFromSink() {
QueryBuilder<SinkMarker> q = prepareQuery();
List<SinkMarker> sinkMarkers = q.list();
if (sinkMarkers.size() == BATCH_SIZE) {
enqueueNextBatch(q.getCursor());
}
refluxSources(sinkMarkers);
}
代码示例来源:origin: feroult/yawp
private FetchOptions configureFetchOptions(QueryBuilder<?> builder) {
FetchOptions fetchOptions = FetchOptions.Builder.withDefaults();
if (builder.getLimit() != null) {
fetchOptions.limit(builder.getLimit());
}
if (builder.getCursor() != null) {
fetchOptions.startCursor(Cursor.fromWebSafeString(builder.getCursor()));
}
return fetchOptions;
}
代码示例来源:origin: feroult/yawp
private List<T> executeQueryAt(int batchSize, int queryIndex) {
QueryBuilder<?> q = getQueryAt(queryIndex);
configureQuery(batchSize, q);
List<T> list = executeQueryAt(queryIndex);
cursor = q.getCursor();
return list;
}
代码示例来源:origin: feroult/yawp
private <T> void updateCursor(QueryBuilder<?> builder, List<T> result) {
if (result.size() == 0) {
return;
}
T cursorObject = result.get(result.size() - 1);
if (builder.getCursor() == null) {
builder.setCursor(MockStore.createCursor(cursorObject));
} else {
MockStore.updateCursor(builder.getCursor(), cursorObject);
}
}
代码示例来源:origin: feroult/yawp
private List<? extends IdRef<?>> sinkIds() {
QueryBuilder<?> q = r.query(sinkClazz).order("id").limit(BATCH_SIZE);
if (cursor != null) {
q.cursor(cursor);
}
List<? extends IdRef<?>> ids = q.ids();
if (ids.size() < BATCH_SIZE) {
cursor = null;
} else {
cursor = q.getCursor();
}
return ids;
}
}
代码示例来源:origin: feroult/yawp
private List<? extends IdRef<?>> sourceIds() {
QueryBuilder<?> q = r.query(sourceClazz).order("id").limit(BATCH_SIZE);
if (cursor != null) {
q.cursor(cursor);
}
List<? extends IdRef<?>> ids = q.ids();
if (ids.size() < BATCH_SIZE) {
cursor = null;
} else {
cursor = q.getCursor();
}
return ids;
}
}
代码示例来源:origin: feroult/yawp
@Override
public Object action() {
QueryBuilder<?> query = query();
if (id != null) {
query.from(id);
}
boolean returnCursor = false;
if (params.containsKey(QUERY_OPTIONS)) {
QueryOptions options = QueryOptions.parse(params.get(QUERY_OPTIONS));
query.options(options);
returnCursor = options.returnCursor();
}
if (hasShieldCondition()) {
query.and(shield.getWhere());
}
List<?> objects = list(query);
if (returnCursor) {
Map<String, Object> result = new HashMap<>();
result.put("results", objects);
result.put("cursor", query.getCursor());
return result;
}
return objects;
}
代码示例来源:origin: feroult/yawp
private List<? extends IdRef<?>> sinkMarkerIds() {
QueryBuilder<?> q = r.query(SinkMarker.class).from(sinkId).order("id").limit(BATCH_SIZE);
if (cursor != null) {
q.cursor(cursor);
}
List<? extends IdRef<?>> ids = q.ids();
if (ids.size() < BATCH_SIZE) {
cursor = null;
} else {
cursor = q.getCursor();
}
return ids;
}
}
代码示例来源:origin: feroult/yawp
@SuppressWarnings("unchecked")
private <T> List<T> applyCursor(QueryBuilder<?> builder, List<Object> objects) {
if (builder.getCursor() == null) {
return (List<T>) objects;
}
List<T> result = new ArrayList<T>();
IdRef<?> cursorId = MockStore.getCursor(builder.getCursor());
boolean startAdd = false;
for (Object object : objects) {
if (startAdd) {
result.add((T) object);
continue;
}
ObjectHolder objectHolder = new ObjectHolder(object);
if (cursorId.equals(objectHolder.getId())) {
startAdd = true;
}
}
return result;
}
代码示例来源:origin: feroult/yawp
@Test
public void testCursor() {
saveManyBasicObjects(3);
QueryBuilder<BasicObject> q = yawp(BasicObject.class).order("intValue", "desc").limit(1);
List<BasicObject> objects1 = q.list();
assertEquals(3, objects1.get(0).getIntValue());
List<BasicObject> objects2 = q.list();
assertEquals(2, objects2.get(0).getIntValue());
List<BasicObject> objects3 = yawp(BasicObject.class).cursor(q.getCursor()).order("intValue", "desc").limit(1).list();
assertEquals(1, objects3.get(0).getIntValue());
}
内容来源于网络,如有侵权,请联系作者删除!