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) {