You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ji...@apache.org on 2016/06/27 21:21:21 UTC
[31/50] [abbrv] incubator-geode git commit: GEODE-11: Added
findResults() to LuceneQuery
GEODE-11: Added findResults() to LuceneQuery
Added findResults() to LuceneQuery which returns a list of LuceneResultStruct objects
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/2c4e17fb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/2c4e17fb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/2c4e17fb
Branch: refs/heads/feature/GEODE-1571
Commit: 2c4e17fbbf57daa123d623700489831e519d273c
Parents: 0010156
Author: Aparna Dharmakkan <ad...@pivotal.io>
Authored: Mon Jun 20 15:03:29 2016 -0700
Committer: Dan Smith <up...@apache.org>
Committed: Fri Jun 24 14:41:42 2016 -0700
----------------------------------------------------------------------
.../gemfire/cache/lucene/LuceneQuery.java | 5 +++++
.../cache/lucene/internal/LuceneQueryImpl.java | 19 +++++++++++--------
.../internal/LuceneQueryImplJUnitTest.java | 9 +++++++++
3 files changed, 25 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2c4e17fb/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQuery.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQuery.java b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQuery.java
index 255bd79..7cc0977 100644
--- a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQuery.java
+++ b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/LuceneQuery.java
@@ -17,6 +17,7 @@
package com.gemstone.gemfire.cache.lucene;
import java.util.Collection;
+import java.util.List;
import com.gemstone.gemfire.annotations.Experimental;
@@ -39,6 +40,10 @@ public interface LuceneQuery<K, V> {
public Collection<V> findValues() throws LuceneQueryException;
/**
+ * Execute search and return list of LuceneResultStruct.
+ */
+ public List<LuceneResultStruct<K, V>> findResults() throws LuceneQueryException;
+ /**
* Execute the search and get results.
*/
public PageableLuceneQueryResults<K, V> findPages() throws LuceneQueryException;
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2c4e17fb/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImpl.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImpl.java b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImpl.java
index 9de16dc..3125193 100644
--- a/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImpl.java
+++ b/geode-lucene/src/main/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImpl.java
@@ -77,15 +77,22 @@ public class LuceneQueryImpl<K, V> implements LuceneQuery<K, V> {
@Override
public Collection<V> findValues() throws LuceneQueryException {
+ final List<LuceneResultStruct<K, V>> page = findResults();
+
+ return page.stream()
+ .map(entry -> entry.getValue())
+ .collect(Collectors.toList());
+ }
+
+ @Override
+ public List<LuceneResultStruct<K, V>> findResults() throws LuceneQueryException {
PageableLuceneQueryResults<K, V> pages = findPages(0);
final List<LuceneResultStruct<K, V>> page = pages.getNextPage();
+
if(page == null) {
return Collections.emptyList();
}
-
- return page.stream()
- .map(entry -> entry.getValue())
- .collect(Collectors.toList());
+ return page;
}
@Override
@@ -94,14 +101,10 @@ public class LuceneQueryImpl<K, V> implements LuceneQuery<K, V> {
}
private PageableLuceneQueryResults<K, V> findPages(int pageSize) throws LuceneQueryException {
-
TopEntries<K> entries = findTopEntries();
-
return new PageableLuceneQueryResultsImpl<K, V>(entries.getHits(), region, pageSize);
}
-
-
private TopEntries<K> findTopEntries() throws LuceneQueryException {
TopEntriesCollectorManager manager = new TopEntriesCollectorManager(null, limit);
LuceneFunctionContext<TopEntriesCollector> context = new LuceneFunctionContext<>(query, indexName, manager, limit);
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2c4e17fb/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImplJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImplJUnitTest.java b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImplJUnitTest.java
index 7b39e89..95371e4 100644
--- a/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImplJUnitTest.java
+++ b/geode-lucene/src/test/java/com/gemstone/gemfire/cache/lucene/internal/LuceneQueryImplJUnitTest.java
@@ -57,6 +57,7 @@ import com.gemstone.gemfire.cache.lucene.internal.distributed.TopEntries;
import com.gemstone.gemfire.cache.lucene.internal.distributed.TopEntriesCollector;
import com.gemstone.gemfire.cache.lucene.internal.distributed.TopEntriesCollectorManager;
import com.gemstone.gemfire.cache.lucene.internal.repository.IndexResultCollector;
+import com.gemstone.gemfire.internal.cache.ValidatingDiskRegion;
import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
import com.gemstone.gemfire.test.junit.categories.UnitTest;
@@ -129,6 +130,14 @@ public class LuceneQueryImplJUnitTest {
}
@Test
+ public void shouldReturnLuceneResultStructFromFindResults() throws LuceneQueryException {
+ addValueToResults();
+ List<LuceneResultStruct<String,String>> result=new ArrayList<>();
+ result.add(new LuceneResultStructImpl("hi","value",5));
+ assertEquals(result,query.findResults());
+ }
+
+ @Test
public void shouldInvokeLuceneFunctionWithCorrectArguments() throws Exception {
addValueToResults();
PageableLuceneQueryResults<Object, Object> results = query.findPages();