indexRules, analyzer);
// Set up an original source observer to keep the index up to date ...
if (updateIndexesSynchronously) {
this.service = null;
this.searchObserver = new Observer() {
@SuppressWarnings( "synthetic-access" )
public void notify( Changes changes ) {
if (changes.getSourceName().equals(sourceName)) {
process(changes);
}
}
};
} else {
// It's asynchronous, so create a single-threaded executor and an observer that enqueues the results
this.service = Executors.newCachedThreadPool();
this.searchObserver = new Observer() {
@SuppressWarnings( "synthetic-access" )
public void notify( final Changes changes ) {
if (changes.getSourceName().equals(sourceName)) {
service.submit(new Runnable() {
public void run() {