Author: chetanm
Date: Fri May  5 06:08:17 2017
New Revision: 1793950

URL: http://svn.apache.org/viewvc?rev=1793950&view=rev
Log:
OAK-6082 - Service to determine index paths

Change to Iterable to easy client code

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathService.java
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImpl.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathService.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathService.java?rev=1793950&r1=1793949&r2=1793950&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathService.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathService.java
 Fri May  5 06:08:17 2017
@@ -19,13 +19,12 @@
 
 package org.apache.jackrabbit.oak.plugins.index;
 
-import java.util.Iterator;
 
 public interface IndexPathService {
 
     /**
      * Returns all index definitions paths present in the repository
      */
-    Iterator<String> getIndexPaths();
+    Iterable<String> getIndexPaths();
 
 }

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImpl.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImpl.java?rev=1793950&r1=1793949&r2=1793950&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImpl.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexPathServiceImpl.java
 Fri May  5 06:08:17 2017
@@ -74,7 +74,7 @@ public class IndexPathServiceImpl implem
     }
 
     @Override
-    public Iterator<String> getIndexPaths() {
+    public Iterable<String> getIndexPaths() {
         NodeState nodeType = NodeStateUtils.getNode(nodeStore.getRoot(), 
"/oak:index/nodetype");
 
         checkState("property".equals(nodeType.getString("type")), "nodetype 
index at " +
@@ -85,14 +85,18 @@ public class IndexPathServiceImpl implem
         checkState(indxDefnTypeIndexed, INDEX_DEFINITIONS_NODE_TYPE + " is not 
found to be indexed as part of " +
                 "nodetype index. Cannot determine the paths of all indexes");
 
-        Iterator<IndexRow> itr = 
getIndex().query(createFilter(INDEX_DEFINITIONS_NODE_TYPE), 
nodeStore.getRoot());
-        return Iterators.transform(itr, new Function<IndexRow, String>() {
+        return new Iterable<String>() {
             @Override
-            public String apply(IndexRow input) {
-                return input.getPath();
+            public Iterator<String> iterator() {
+                Iterator<IndexRow> itr = 
getIndex().query(createFilter(INDEX_DEFINITIONS_NODE_TYPE), 
nodeStore.getRoot());
+                return Iterators.transform(itr, new Function<IndexRow, 
String>() {
+                    @Override
+                    public String apply(IndexRow input) {
+                        return input.getPath();
+                    }
+                });
             }
-        });
-
+        };
     }
 
     private FilterImpl createFilter(String nodeTypeName) {


Reply via email to