Author: nzamosenchuk
Date: 2010-05-17 04:01:39 -0400 (Mon, 17 May 2010)
New Revision: 2384
Modified:
jcr/branches/1.12-LIC-709/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
Log:
EXOJCR-709: Implemented support of parent handler.
Modified:
jcr/branches/1.12-LIC-709/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
===================================================================
---
jcr/branches/1.12-LIC-709/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java 2010-05-17
07:09:01 UTC (rev 2383)
+++
jcr/branches/1.12-LIC-709/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java 2010-05-17
08:01:39 UTC (rev 2384)
@@ -550,7 +550,7 @@
//index = new MultiIndex(this, context.getIndexingTree(), modeHandler,
getIndexInfos(), getIndexUpdateMonitor());
- singleIndex = new SingleIndex(this, indexDirectory, analyzer ,
context.getIndexingTree());
+ singleIndex = new SingleIndex(this, indexDirectory, analyzer,
context.getIndexingTree());
singleIndex.createInitialIndex(context.getItemStateManager(), this);
// if RW mode, create initial index and start check
@@ -1147,20 +1147,21 @@
{
QueryHandler parentHandler = getContext().getParentHandler();
IndexReader parentReader = null;
- // if (parentHandler instanceof SearchIndex && includeSystemIndex)
- // {
- // parentReader =
((SearchIndex)parentHandler).singleIndex.getIndexReader();
- // }
+ if (parentHandler instanceof SearchIndex && includeSystemIndex)
+ {
+ parentReader = ((SearchIndex)parentHandler).singleIndex.getIndexReader();
+ }
- // IndexReader reader;
- // if (parentReader != null)
- // {
- // //CachingMultiIndexReader[] readers = {index.getIndexReader(),
parentReader};
- // return singleIndex.createJcrSingleIndexReader(new MultiReader(new
IndexReader[] {singleIndex.getIndexReader(), parentReader}));
- // // reader = new CombinedIndexReader(readers);
- // }
- // else
+ IndexReader reader;
+ if (parentReader != null)
{
+ //CachingMultiIndexReader[] readers = {index.getIndexReader(), parentReader};
+ return singleIndex.createJcrSingleIndexReader(new MultiReader(new
IndexReader[]{singleIndex.getIndexReader(),
+ parentReader}));
+ // reader = new CombinedIndexReader(readers);
+ }
+ else
+ {
return singleIndex.createJcrSingleIndexReader(singleIndex.getIndexReader());
//reader = index.getIndexReader();
}