Indeed, the benefit for everyone else is that they'll be able to have split panes that load up things at the same time, on different or equal versions! :)<div>Chris</div><div><br><br><div class="gmail_quote">On 3 April 2011 03:37, DM Smith <span dir="ltr"><<a href="mailto:dmsmith@crosswire.org">dmsmith@crosswire.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word">I just did a big, big checkin. Below is a summary. The log comment is at the bottom.<div>
<br></div><div>I've started some work on Alternate Versification. The first step was to stop using magic numbers for Genesis to Revelation (i.e. 1 to 66). This had a big ripple effect in that many methods had "int book" as a parameter.</div>
<div><br></div><div>The second step was to add the non-canonical books to BibleBooks. These are named according to their osisIDs. Note, that Java doesn't like variable to start with a number so 1En (1 Enoch) is named EN1.</div>
<div><br></div><div>If there are no objections, I'd like to rename the constants for GENESIS to REVELATION to match. I've left them as they were called in BibleNames so that it would be easier for you to find and adjust your code.</div>
<div><br></div><div>To this end there is an Enum named BibleBook. If you want to iterate over the OT and NT (i.e. the 66 canonical books), the following is your friend:</div><div>for (BibleBook b: EnumSet.range(BibleBook.GENESIS, BibleBook.REVELATION)) {</div>
<div> ... do something with b...</div><div>}</div><div><br></div><div>The next step would be to allow for 0 to be a book, chapter or verse value. For BibleBook, that would be OT_INTRO and NT_INTRO. These would be before GENESIS and MATTHEW, respectively. Since we need for an intro for the NT, there needs to be Testament to be added to Verse and Passage classes.</div>
<div><br></div><div>But before I get to that, I'll be looking at using JSword in a concurrent setting, e.g. a web server. Chris has found that two threads cannot go after the same book at the same time. :(</div><div><br>
</div><div>In Him,</div><div><span style="white-space:pre-wrap"> </span>DM</div><div><br><div><div>On Apr 2, 2011, at 10:07 PM, <a href="mailto:jsword-svn-owner@crosswire.org" target="_blank">jsword-svn-owner@crosswire.org</a> wrote:</div>
<br><blockquote type="cite"><span style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px">
<span style="font-family:Helvetica;font-size:medium;color:rgb(127, 127, 127)"><b>From: d</b></span><span style="font-family:Helvetica;font-size:medium">msmith<br></span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px">
<span style="font-family:Helvetica;font-size:medium;color:rgb(127, 127, 127)"><b>Date: </b></span><span style="font-family:Helvetica;font-size:medium">April 2, 2011 10:07:01 PM EDT<br></span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px">
<span style="font-family:Helvetica;font-size:medium;color:rgb(127, 127, 127)"><b>To: jsword-svn</b></span><span style="font-family:Helvetica;font-size:medium"><br></span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px">
<span style="font-family:Helvetica;font-size:medium;color:rgb(127, 127, 127)"><b>Subject: </b></span><span style="font-family:Helvetica;font-size:medium"><b>r2140 - in trunk: bibledesktop/.settings bibledesktop/src/main/java/org/crosswire/bibledesktop/book bibledesktop/src/main/java/org/crosswire/bibledesktop/book/install bibledesktop/src/main/java/org/crosswire/bibledesktop/display/basic bibledesktop/src/main/java/org/crosswire/bibledesktop/passage jsword/src/main/java/org/crosswire/jsword/book jsword/src/main/java/org/crosswire/jsword/book/sword jsword/src/main/java/org/crosswire/jsword/bridge jsword/src/main/java/org/crosswire/jsword/examples jsword/src/main/java/org/crosswire/jsword/passage jsword/src/main/java/org/crosswire/jsword/versification jsword/src/main/resources jsword/src/test/java/org/crosswire/common/compress jsword/src/test/java/org/crosswire/common/progress jsword/src/test/java/org/crosswire/common/util jsword/src/test/java/org/crosswire/jsword/book jsword/src/test/java/org/crosswire/jsword/book/sword jsword/src/test/java/org/crosswire/jsword/bridge jsword/src/test/java/org/crosswire/jsword/passage</b><br>
</span></div><br><br>Author: dmsmith<br>Date: 2011-04-02 19:07:01 -0700 (Sat, 02 Apr 2011)<br>New Revision: 2140<br><br>Added:<br> trunk/jsword/src/main/java/org/crosswire/jsword/versification/BibleBook.java<br>Removed:<br>
trunk/jsword/src/main/java/org/crosswire/jsword/versification/OSISNames.java<br>Modified:<br> trunk/bibledesktop/.settings/de.guhsoft.jinto.core.prefs<br> trunk/bibledesktop/src/main/java/org/crosswire/bibledesktop/book/BibleComboBoxModel.java<br>
trunk/bibledesktop/src/main/java/org/crosswire/bibledesktop/book/BibleComboBoxModelSet.java<br> trunk/bibledesktop/src/main/java/org/crosswire/bibledesktop/book/DisplaySelectPane.java<br> trunk/bibledesktop/src/main/java/org/crosswire/bibledesktop/book/install/TextPaneBookMetaDataDisplay.java<br>
trunk/bibledesktop/src/main/java/org/crosswire/bibledesktop/display/basic/TextPaneBookDataDisplay.java<br> trunk/bibledesktop/src/main/java/org/crosswire/bibledesktop/passage/WholeBibleTreeNode.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/book/SentenceUtil.java<br>
trunk/jsword/src/main/java/org/crosswire/jsword/book/sword/SwordConstants.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/bridge/BibleScope.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/bridge/BookExporter.java<br>
trunk/jsword/src/main/java/org/crosswire/jsword/bridge/DwrBridge.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/examples/BibleToOsis.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/passage/AbstractPassage.java<br>
trunk/jsword/src/main/java/org/crosswire/jsword/passage/AccuracyType.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/passage/Passage.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/passage/PassageEvent.java<br>
trunk/jsword/src/main/java/org/crosswire/jsword/passage/PassageTally.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/passage/ReadOnlyPassage.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/passage/RestrictionType.java<br>
trunk/jsword/src/main/java/org/crosswire/jsword/passage/RocketPassage.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/passage/SynchronizedPassage.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/passage/Verse.java<br>
trunk/jsword/src/main/java/org/crosswire/jsword/passage/VerseRange.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/versification/BibleInfo.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/versification/BibleNames.java<br>
trunk/jsword/src/main/java/org/crosswire/jsword/versification/BookName.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/versification/DivisionName.java<br> trunk/jsword/src/main/java/org/crosswire/jsword/versification/SectionNames.java<br>
trunk/jsword/src/main/resources/BibleNames.properties<br> trunk/jsword/src/main/resources/BibleNames_af.properties<br> trunk/jsword/src/main/resources/BibleNames_ar_EG.properties<br> trunk/jsword/src/main/resources/BibleNames_bg.properties<br>
trunk/jsword/src/main/resources/BibleNames_cs.properties<br> trunk/jsword/src/main/resources/BibleNames_da.properties<br> trunk/jsword/src/main/resources/BibleNames_de.properties<br> trunk/jsword/src/main/resources/BibleNames_en.properties<br>
trunk/jsword/src/main/resources/BibleNames_es.properties<br> trunk/jsword/src/main/resources/BibleNames_et.properties<br> trunk/jsword/src/main/resources/BibleNames_fa.properties<br> trunk/jsword/src/main/resources/BibleNames_fi.properties<br>
trunk/jsword/src/main/resources/BibleNames_fo.properties<br> trunk/jsword/src/main/resources/BibleNames_fr.properties<br> trunk/jsword/src/main/resources/BibleNames_he.properties<br> trunk/jsword/src/main/resources/BibleNames_hu.properties<br>
trunk/jsword/src/main/resources/BibleNames_id.properties<br> trunk/jsword/src/main/resources/BibleNames_in.properties<br> trunk/jsword/src/main/resources/BibleNames_it.properties<br> trunk/jsword/src/main/resources/BibleNames_iw.properties<br>
trunk/jsword/src/main/resources/BibleNames_ko.properties<br> trunk/jsword/src/main/resources/BibleNames_la.properties<br> trunk/jsword/src/main/resources/BibleNames_lt.properties<br> trunk/jsword/src/main/resources/BibleNames_nb.properties<br>
trunk/jsword/src/main/resources/BibleNames_nl.properties<br> trunk/jsword/src/main/resources/BibleNames_nn.properties<br> trunk/jsword/src/main/resources/BibleNames_no.properties<br> trunk/jsword/src/main/resources/BibleNames_pl.properties<br>
trunk/jsword/src/main/resources/BibleNames_pt.properties<br> trunk/jsword/src/main/resources/BibleNames_pt_BR.properties<br> trunk/jsword/src/main/resources/BibleNames_ro.properties<br> trunk/jsword/src/main/resources/BibleNames_ru.properties<br>
trunk/jsword/src/main/resources/BibleNames_sk.properties<br> trunk/jsword/src/main/resources/BibleNames_sl.properties<br> trunk/jsword/src/main/resources/BibleNames_sv.properties<br> trunk/jsword/src/main/resources/BibleNames_th.properties<br>
trunk/jsword/src/main/resources/BibleNames_uk.properties<br> trunk/jsword/src/main/resources/BibleNames_vi.properties<br> trunk/jsword/src/main/resources/BibleNames_zh.properties<br> trunk/jsword/src/main/resources/BibleNames_zh_CN.properties<br>
trunk/jsword/src/main/resources/BookDriver.plugin<br> trunk/jsword/src/main/resources/Bookmark.plugin<br> trunk/jsword/src/main/resources/CWLogging.properties<br> trunk/jsword/src/main/resources/Choice.plugin<br> trunk/jsword/src/main/resources/Converter.plugin<br>
trunk/jsword/src/main/resources/Filter.plugin<br> trunk/jsword/src/main/resources/GPLMsg.properties<br> trunk/jsword/src/main/resources/GPLMsg_de.properties<br> trunk/jsword/src/main/resources/GPLMsg_fa.properties<br>
trunk/jsword/src/main/resources/IndexManager.plugin<br> trunk/jsword/src/main/resources/IndexMetadata.properties<br> trunk/jsword/src/main/resources/InstallManager.plugin<br> trunk/jsword/src/main/resources/InstallerFactory.plugin<br>
trunk/jsword/src/main/resources/JSMsg.properties<br> trunk/jsword/src/main/resources/JSMsg_cs.properties<br> trunk/jsword/src/main/resources/JSMsg_de.properties<br> trunk/jsword/src/main/resources/JSMsg_fa.properties<br>
trunk/jsword/src/main/resources/JSMsg_fi.properties<br> trunk/jsword/src/main/resources/JSMsg_fo.properties<br> trunk/jsword/src/main/resources/JSMsg_in.properties<br> trunk/jsword/src/main/resources/JSMsg_lt.properties<br>
trunk/jsword/src/main/resources/JSMsg_nb.properties<br> trunk/jsword/src/main/resources/JSMsg_nn.properties<br> trunk/jsword/src/main/resources/JSMsg_pl.properties<br> trunk/jsword/src/main/resources/JSMsg_ru.properties<br>
trunk/jsword/src/main/resources/JSMsg_vi.properties<br> trunk/jsword/src/main/resources/JSMsg_zh.properties<br> trunk/jsword/src/main/resources/JSMsg_zh_CN.properties<br> trunk/jsword/src/main/resources/JSOtherMsg.properties<br>
trunk/jsword/src/main/resources/JSOtherMsg_de.properties<br> trunk/jsword/src/main/resources/JSOtherMsg_fa.properties<br> trunk/jsword/src/main/resources/JSOtherMsg_in.properties<br> trunk/jsword/src/main/resources/JSOtherMsg_zh.properties<br>
trunk/jsword/src/main/resources/JSOtherMsg_zh_CN.properties<br> trunk/jsword/src/main/resources/LGPLMsg.properties<br> trunk/jsword/src/main/resources/OSISNames.properties<br> trunk/jsword/src/main/resources/OldMsg.properties<br>
trunk/jsword/src/main/resources/OldMsg_fa.properties<br> trunk/jsword/src/main/resources/OldMsg_in.properties<br> trunk/jsword/src/main/resources/OldMsg_zh.properties<br> trunk/jsword/src/main/resources/OldMsg_zh_CN.properties<br>
trunk/jsword/src/main/resources/QueryBuilder.plugin<br> trunk/jsword/src/main/resources/QueryDecorator.plugin<br> trunk/jsword/src/main/resources/README.txt<br> trunk/jsword/src/main/resources/Searcher.plugin<br> trunk/jsword/src/main/resources/iso3166.properties<br>
trunk/jsword/src/main/resources/iso639.properties<br> trunk/jsword/src/main/resources/iso639_en.properties<br> trunk/jsword/src/main/resources/iso639_fa.properties<br> trunk/jsword/src/main/resources/iso639_in.properties<br>
trunk/jsword/src/main/resources/iso639full.properties<br> trunk/jsword/src/main/resources/log4j.properties<br> trunk/jsword/src/main/resources/ot1nt2.properties<br> trunk/jsword/src/main/resources/ot1nt2_fa.properties<br>
trunk/jsword/src/main/resources/ot1nt2_in.properties<br> trunk/jsword/src/main/resources/ot1nt2_zh.properties<br> trunk/jsword/src/main/resources/ot1nt2_zh_CN.properties<br> trunk/jsword/src/main/resources/readings.txt<br>
trunk/jsword/src/main/resources/translations.txt<br> trunk/jsword/src/test/java/org/crosswire/common/compress/LZSSTest.java<br> trunk/jsword/src/test/java/org/crosswire/common/progress/JobTest.java<br> trunk/jsword/src/test/java/org/crosswire/common/progress/WorkEventTest.java<br>
trunk/jsword/src/test/java/org/crosswire/common/util/StringUtilTest.java<br> trunk/jsword/src/test/java/org/crosswire/jsword/book/BooksTest.java<br> trunk/jsword/src/test/java/org/crosswire/jsword/book/GatherAllReferences.java<br>
trunk/jsword/src/test/java/org/crosswire/jsword/book/SentanceUtilTest.java<br> trunk/jsword/src/test/java/org/crosswire/jsword/book/sword/RawFileBackendTest.java<br> trunk/jsword/src/test/java/org/crosswire/jsword/book/sword/SwordBookMetaDataTest.java<br>
trunk/jsword/src/test/java/org/crosswire/jsword/bridge/DwrBridgeTest.java<br> trunk/jsword/src/test/java/org/crosswire/jsword/passage/BibleInfoTest.java<br> trunk/jsword/src/test/java/org/crosswire/jsword/passage/PassageConstantsTest.java<br>
trunk/jsword/src/test/java/org/crosswire/jsword/passage/PassageParentTst.java<br> trunk/jsword/src/test/java/org/crosswire/jsword/passage/PassageTally2Test.java<br> trunk/jsword/src/test/java/org/crosswire/jsword/passage/VerseRangeTest.java<br>
trunk/jsword/src/test/java/org/crosswire/jsword/passage/VerseTest.java<br>Log:<br>JS-184 Converted the list of constants in BibleNames to an enum BibleBook. Refactored much in BibleInfo, deprecating methods relating to the getting of Bible book names.<br>
<br>Added non-canonical books to BibleBook.<br><br>Added LGPL 2.1 or later statement to resources.<br><br>Improved tests, fixing assertEquals to have expected and actual in the correct place. Still more to go.<br><br></span></blockquote>
</div></div></div><br>_______________________________________________<br>
jsword-devel mailing list<br>
<a href="mailto:jsword-devel@crosswire.org">jsword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
<br></blockquote></div><br></div>