When the pause flag is set, the IndexingChangeListener will continue to accumulate changes even if there
are gaps in the stream. The listener will not submit a task until the indexer is unpaused.
Start the implementation in "paused" state, so tasks submitted before startup() are queued.
Increase the time interval on IndexingChangeListener, so we get larger batches.
Change the RejectedExecutionHandler on the pool to CallerRunsPolicy,
so if there is no available thread for a work unit then the thread of the task itself will run it.
Show exclusions count as separate from deletions count.
When there is an error on the Ajax call, display the error status and stop asking for refreshes.
When a rebuild is requested, redirect to just status, so refreshing the page would not request another rebuild.
UpdateDocumentWorkUnit contains a list of required DocumentModifiers.
They are required but because they are in the list of DocumentModifiers, they are timed like the optional ones.
Similarly, UpdateUrisTask contains a required SearchIndexExcluder.
This replaces IndividualDao.getAllOfThisTypeIterator(). It returns the list that was created instead of
the iterator.
This would require a change to ObjectSourceIFace, but we get rid of it instead. Nobody was using it.
Use no-argument constructors, supplying data through the ContextModelsUser interface as needed.
Add toString() methods to IndexingUriFinders, DocumentModifiers and SearchIndexExcluders
Create a bridge implementation of SearchIndexerImpl that just wraps around an old IndexBuilder.
Modify client code:
Application, BasicAuthenticator, SearchServiceController, SparqlUpdateApiController,
UpdateUrisInIndex and VClassGroupCache
Rewrite IndexController to use AJAX and to show the current status and history of the indexer events.
Take out the attribute key in SearchIndexerSetup. Nobody ever sets that attribute.
Take out the VClassGroupCache.removeClassesHiddenFromSearch() method. If nobody sets that attribute, this method does nothing.
Take out VClassGroupDao.removeClassesHiddenFromSearch() and VClassGroupDaoJena.removeClassesHiddenFromSearch(). They are never called.
Take out ClassProhibitedFromSearch interface. It is implemented but never referenced.
Take out FileBasedProhibitedFromSearch. It is never used.
Move ProhibitedFromSearch and ProhibitedFromSearchTest from edu.cornell.mannlib.vitro.webapp.search.beans to edu.cornell.mannlib.vitro.webapp.dao.vclassgroup
There are still some differences between the two, and I expect some answers from Jon and Brian regarding irregularities in the ontologies.
The Pellet libraries have not yet been removed.