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();