[jsword-devel] Books can now be unindexed
dmsmith555 at yahoo.com
Tue Mar 22 19:22:06 MST 2005
Yesterday I noted that there was a refresh problem in the Books in the
Bible Picker when the
Bible was unindexed from the Book Installer. The problem was that there
were more than one
Book instances for a given module.
I fixed this by doing the following:
I made SwordBookDriver and ReadingsBookDriver singleton classes with a
BookDriver instance() method.
Books uses this via reflection to load the driver rather than reflecting
an instance via the default constructor.
Then I added a new filter to BookFilters called getBooksByDriver(BookDriver)
I changed registerDriver to compare all the books that the driver
currently has with what it had before
and updated Books.installed() to contain only those books. Specifically,
if the book was already present
I left it alone, but if it was no longer known to the driver, I removed
it. The other books I added.
In the few places that registerDriver was immediately preceded by
unregisterDriver, I removed the
call to unregisterDriver. As this was trying to achieve the net effect
of what I did in registerDriver.
More information about the jsword-devel