@Override public Object[] next() { if (!hasNext()) { throw new NoSuchElementException("No more documents available"); } return batch.get(batchIndex++); }
@Override public boolean hasNext() { ScrollQuery sq = getCurrent(); return (sq != null ? sq.hasNext() : false); }
private ScrollQuery getCurrent() { if (finished) { return null; } for (boolean hasValue = false; !hasValue; ) { if (currentReader == null) { if (definitionIterator.hasNext()) { currentReader = RestService.createReader(settings, definitionIterator.next(), log); } else { finished = true; return null; } } if (currentScroll == null) { currentScroll = currentReader.scrollQuery(); } hasValue = currentScroll.hasNext(); if (!hasValue) { currentScroll.close(); currentScroll = null; currentReader.close(); currentReader = null; } } return currentScroll; }
@Override public boolean next(K key, V value) throws IOException { if (scrollQuery == null) { if (beat != null) { beat.start(); } scrollQuery = queryBuilder.build(client, scrollReader); size = scrollQuery.getSize(); if (log.isTraceEnabled()) { log.trace(String.format("Received scroll [%s], size [%d] for query [%s]", scrollQuery, size, queryBuilder)); } } boolean hasNext = scrollQuery.hasNext(); if (!hasNext) { return false; } Object[] next = scrollQuery.next(); // NB: the left assignment is not needed since method override // the writable content however for consistency, they are below currentKey = setCurrentKey(key, next[0]); currentValue = setCurrentValue(value, next[1]); // keep on counting read++; return true; }
ScrollQuery query = sourceCall.getInput(); if (!query.hasNext()) { return false;
@Test public void test() throws Exception { RestRepository repository = mockRepository(); ScrollReader scrollReader = Mockito.mock(ScrollReader.class); String query = "/index/type/_search?scroll=10m&etc=etc"; BytesArray body = new BytesArray("{}"); long size = 100; ScrollQuery scrollQuery = new ScrollQuery(repository, query, body, size, scrollReader); Assert.assertTrue(scrollQuery.hasNext()); Assert.assertEquals("value", JsonUtils.query("field").apply(scrollQuery.next()[1])); Assert.assertFalse(scrollQuery.hasNext()); scrollQuery.close(); Stats stats = scrollQuery.stats(); Assert.assertEquals(1, stats.docsReceived); }
while (sq.hasNext()) { hasData = true; entry.reset();
@Override public Object[] next() { if (!hasNext()) { throw new NoSuchElementException("No more documents available"); } return batch.get(batchIndex++); }
@Override public Object[] next() { if (!hasNext()) { throw new NoSuchElementException("No more documents available"); } return batch.get(batchIndex++); }
@Override public Object[] next() { if (!hasNext()) { throw new NoSuchElementException("No more documents available"); } return batch.get(batchIndex++); }
@Override public Object[] next() { if (!hasNext()) { throw new NoSuchElementException("No more documents available"); } return batch.get(batchIndex++); }
@Override public boolean hasNext() { ScrollQuery sq = getCurrent(); return (sq != null ? sq.hasNext() : false); }
@Override public boolean hasNext() { ScrollQuery sq = getCurrent(); return (sq != null ? sq.hasNext() : false); }
@Override public boolean hasNext() { ScrollQuery sq = getCurrent(); return (sq != null ? sq.hasNext() : false); }
@Override public boolean hasNext() { ScrollQuery sq = getCurrent(); return (sq != null ? sq.hasNext() : false); }
private ScrollQuery getCurrent() { if (finished) { return null; } for (boolean hasValue = false; !hasValue; ) { if (currentReader == null) { if (definitionIterator.hasNext()) { currentReader = RestService.createReader(settings, definitionIterator.next(), log); } else { finished = true; return null; } } if (currentScroll == null) { currentScroll = currentReader.scrollQuery(); } hasValue = currentScroll.hasNext(); if (!hasValue) { currentScroll.close(); currentScroll = null; currentReader.close(); currentReader = null; } } return currentScroll; }
private ScrollQuery getCurrent() { if (finished) { return null; } for (boolean hasValue = false; !hasValue; ) { if (currentReader == null) { if (definitionIterator.hasNext()) { currentReader = RestService.createReader(settings, definitionIterator.next(), log); } else { finished = true; return null; } } if (currentScroll == null) { currentScroll = currentReader.scrollQuery(); } hasValue = currentScroll.hasNext(); if (!hasValue) { currentScroll.close(); currentScroll = null; currentReader.close(); currentReader = null; } } return currentScroll; }
@Override public boolean next(K key, V value) throws IOException { if (scrollQuery == null) { if (beat != null) { beat.start(); } scrollQuery = queryBuilder.build(client, scrollReader); size = scrollQuery.getSize(); if (log.isTraceEnabled()) { log.trace(String.format("Received scroll [%s], size [%d] for query [%s]", scrollQuery, size, queryBuilder)); } } boolean hasNext = scrollQuery.hasNext(); if (!hasNext) { return false; } Object[] next = scrollQuery.next(); // NB: the left assignment is not needed since method override // the writable content however for consistency, they are below currentKey = setCurrentKey(key, next[0]); currentValue = setCurrentValue(value, next[1]); // keep on counting read++; return true; }
@Override public boolean next(K key, V value) throws IOException { if (scrollQuery == null) { if (beat != null) { beat.start(); } scrollQuery = queryBuilder.build(client, scrollReader); size = scrollQuery.getSize(); if (log.isTraceEnabled()) { log.trace(String.format("Received scroll [%s], size [%d] for query [%s]", scrollQuery, size, queryBuilder)); } } boolean hasNext = scrollQuery.hasNext(); if (!hasNext) { return false; } Object[] next = scrollQuery.next(); // NB: the left assignment is not needed since method override // the writable content however for consistency, they are below currentKey = setCurrentKey(key, next[0]); currentValue = setCurrentValue(value, next[1]); // keep on counting read++; return true; }
@Override public boolean next(K key, V value) throws IOException { if (scrollQuery == null) { if (beat != null) { beat.start(); } scrollQuery = queryBuilder.build(client, scrollReader); size = scrollQuery.getSize(); if (log.isTraceEnabled()) { log.trace(String.format("Received scroll [%s], size [%d] for query [%s]", scrollQuery, size, queryBuilder)); } } boolean hasNext = scrollQuery.hasNext(); if (!hasNext) { return false; } Object[] next = scrollQuery.next(); // NB: the left assignment is not needed since method override // the writable content however for consistency, they are below currentKey = setCurrentKey(key, next[0]); currentValue = setCurrentValue(value, next[1]); // keep on counting read++; return true; }