[jsword-devel] Big check in

DM Smith dmsmith555 at yahoo.com
Fri Mar 18 20:22:42 MST 2005

I have just done a big check in.

I added the ability to delete a module (and its index if present). 
(JS-16 and JS-36, partially)

I fixed a display bug on the installer where it was displaying > on 
"blank" lines.

I grayed out the "Install with Index" button when a Commentary or 
Dictionary is selected. (BD-41)

I implemented toOSIS for Readings (JS-46).

The delete module and delete index were tricky in that sometimes a Book 
was needed and other times a BookMetaData was needed. This seemed really 
schizophrenic to me. I think that the intent was that until a module was 
downloaded and needed for use, it was represented as a BookMetaData, but 
once it was loaded for use, it was a Book. But, often an interface 
required one where the other was available. While the Book held its 
BookMetaData and the BookMetaData referenced its Book, it was a bit awkward.

Anyway, I started what I thought was a relatively small change of having 
BookMetaData be an implementation detail of Book. Turned out that it was 
much bigger than expected.

Now a Book exposes the BookMetaData interface as a series of pass 
throughs to its BookMetaData. Almost everywhere a module is used, it is 
as a Book. The difference between an installed SwordBook and a yet to be 
installed one is that the latter has a null Backend.

I am on a bug hunt, but I think that once Match is addressed (perhaps 
temporarily removed), it is ready for 0.9.9.

More information about the jsword-devel mailing list