net.sf.vcaperture.services
Class LuceneSearchService

java.lang.Object
  extended by net.sf.vcaperture.services.LuceneSearchService
All Implemented Interfaces:
ISearchService

public class LuceneSearchService
extends java.lang.Object
implements ISearchService


Field Summary
private static java.text.DateFormat DATE_FORMAT
           
private static java.lang.String LATEST_VERSION_FILE
           
private  java.util.Set<AbstractRepository> mLockedRepositoryIndexes
           
private  java.util.Map<AbstractRepository,org.apache.lucene.index.IndexReader> mReaders
           
private  java.io.File mStorageDirectory
           
 
Fields inherited from interface net.sf.vcaperture.services.ISearchService
FIELD_AUTHOR, FIELD_CONTENTS, FIELD_DATE, FIELD_MESSAGE, FIELD_NAME, FIELD_REVISION, FIELD_TYPE, TYPE_FILE, TYPE_REVISION
 
Constructor Summary
LuceneSearchService()
           
 
Method Summary
 void beginIndexing(AbstractRepository repo)
           
 void endIndexing(AbstractRepository repo)
           
private  java.lang.String formatDate(java.util.Date date)
           
 java.lang.String getLastProcessedRevision(AbstractRepository repo)
           
private  java.io.File getRepoStorageDirectory(AbstractRepository repo)
           
 java.io.File getStorageDirectory()
           
private  void indexFile(java.lang.String formattedDate, Revision rev, RepoFileRevision rfr, org.apache.lucene.index.IndexWriter writer)
           
 void indexRevision(AbstractRepository repo, Revision rev)
           
private  void indexRevision(Revision rev, java.lang.String formattedDate, org.apache.lucene.index.IndexWriter writer)
           
private  java.lang.String nullSafe(java.lang.String data)
           
 SearchResults search(SearchQuery query)
           
 void setStorageDirectory(java.io.File storageDirectory)
           
private  java.lang.String toString(RepoFileRevision[] files)
           
 void updateLatestStoredRevision(AbstractRepository repo, Revision rev)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LATEST_VERSION_FILE

private static final java.lang.String LATEST_VERSION_FILE
See Also:
Constant Field Values

DATE_FORMAT

private static final java.text.DateFormat DATE_FORMAT

mStorageDirectory

private java.io.File mStorageDirectory

mReaders

private java.util.Map<AbstractRepository,org.apache.lucene.index.IndexReader> mReaders

mLockedRepositoryIndexes

private java.util.Set<AbstractRepository> mLockedRepositoryIndexes
Constructor Detail

LuceneSearchService

public LuceneSearchService()
Method Detail

beginIndexing

public void beginIndexing(AbstractRepository repo)

indexRevision

public void indexRevision(AbstractRepository repo,
                          Revision rev)
Specified by:
indexRevision in interface ISearchService

indexFile

private void indexFile(java.lang.String formattedDate,
                       Revision rev,
                       RepoFileRevision rfr,
                       org.apache.lucene.index.IndexWriter writer)
                throws java.lang.Exception
Throws:
java.lang.Exception

indexRevision

private void indexRevision(Revision rev,
                           java.lang.String formattedDate,
                           org.apache.lucene.index.IndexWriter writer)
                    throws java.lang.Exception
Throws:
java.lang.Exception

nullSafe

private java.lang.String nullSafe(java.lang.String data)

toString

private java.lang.String toString(RepoFileRevision[] files)

formatDate

private java.lang.String formatDate(java.util.Date date)

endIndexing

public void endIndexing(AbstractRepository repo)

search

public SearchResults search(SearchQuery query)
Specified by:
search in interface ISearchService

getLastProcessedRevision

public java.lang.String getLastProcessedRevision(AbstractRepository repo)
Specified by:
getLastProcessedRevision in interface ISearchService

updateLatestStoredRevision

public void updateLatestStoredRevision(AbstractRepository repo,
                                       Revision rev)

getStorageDirectory

public java.io.File getStorageDirectory()

setStorageDirectory

public void setStorageDirectory(java.io.File storageDirectory)

getRepoStorageDirectory

private java.io.File getRepoStorageDirectory(AbstractRepository repo)


Copyright © 2008. All Rights Reserved.