[jsword-devel] Alternate Verification (was Re: step build: error on step-core)

Chris Burrell chris at burrell.me.uk
Sat May 5 08:10:21 MST 2012


Hi

As far as I can understand, Versifications.getVersifications(string) allows
me to get the versification based on a known name of the versification. How
would I go from the Bible module initials to the correct Versification for
that module? Any ideas?

I'm assuming there's something in the module itself...

Chris


On 8 February 2012 13:40, DM Smith <dmsmith at crosswire.org> wrote:

> Erick,
> Peter is correct. The av11n changes are not backward compatible. As we
> move to av11n, the code in trunk is also unstable.
>
> The PassageKeyFactory no longer implements KeyFactory. The simplest change
> is to do the following:
> Before:
> KeyFactory kf = new PassageKeyFactory();
> After:
> PassageKeyFactory kf = new PassageKeyFactory();
>
> The purpose of the PassageKeyFactory is to construct a Passage of a given
> space/time performance implementation as specified in global startup
> properties.
>
> The issue is that a Passage, which relies on a mapping of
> Book/Chapter/Verse (bcv) to ordinal value, can only be understood in light
> of the Book's versification. So now all of the routines that construct a
> Passage have to have a v11n.
>
> The Versification is what holds the knowledge of this mapping.
>
> The other major change is that all calculations regarding two verses is
> moving to the Versification classes. This changes VerseRange (while not a
> Passage, it is very much like a Passage) to take a v11n as part of the
> constructors. And it deprecates lots of methods in VerseRange.
>
> It also changes Verse, with many deprecations. I'm trying to avoid having
> a v11n be part of a Verse and have it only a dumb holder of BibleBook,
> chapter, and verse.
>
> You'll see that org.crosswire.jsword.versification.BibleInfo as a class is
> deprecated. It was hard-coded to return answers for the KJV versification.
> Rather than BibleInfo, one should use:
>
>  org.crosswire.jsword.versification.system.Versifications.getVersification("KJV")
> as an equivalent. Ultimately, the "KJV" will need to be replace with a
> call to get the versification from the Book's BookMetaData.
>
> The goal of org.crosswire.jsword.versification.system.Versifications is to
> be lazy wrt construction of a v11n. It only fluffs the definition of the
> v11n if it is needed.
>
> The other big change is that there JSword now specifically supports
> Chapter 0 and Verse 0 for introductions. I've also added three new
> BibleBooks to support Book and Testament introductions. This can be
> surprising.
>
> For the most part the job is merely getting the code to compile,
> eliminating deprecations and not using "KJV" v11n.
>
> One area that needs special attention is anywhere that iterates through
> BibleBooks. That code will need to change. One way to do this is to search
> for all instances of BibleBook.GEN, BibleBook.MAL, BibleBook.MATT and
> BibleBook.REV.
>
> I'm still improving the testing of the changes, but at the moment all
> tests pass.
>
> At this time, SectionNames still needs to be changed and Verse will
> probably change (at least to fill out the deprecations).
>
> If you decide to upgrade STEP to use JSword trunk, feel free to ask for
> help here and to report your findings.
>
> Hope this helps.
>
> In His Service,
>        DM
>
> On Feb 8, 2012, at 7:40 AM, Peter von Kaehne wrote:
>
> > There is at this very moment a major drive to fix jsword to make it
> > compatible to alternative versification systems (av11n) as we use
> > already in libsword.
> >
> > I would guess the error you found is to do with that - Step relying on
> > an older version of jsword. Maybe check out an earlier version and see
> > if it compiles. DM started to check in av11n stuff in jsword only a
> > month or so.
> >
> > Peter
> >
> > On 08/02/12 03:21, erick4j wrote:
> >> I followed instructions from:
> >> http://www.crosswire.org/wiki/Frontends:TyndaleStep_Build_Environment
> >>
> >> Both (jsword & step) were fresh checkouts from trunk. Any thoughts how
> >> to resolve this. Thanks!
> >>
> >> [ERROR]
> >>
> /path/to/src/step/step-core/src/main/java/com/tyndalehouse/step/core/service/impl/JSwordServiceImpl.java:[348,72]
> >> incompatible types
> >> [ERROR] found   : org.crosswire.jsword.passage.PassageKeyFactory
> >> [ERROR] required: org.crosswire.jsword.passage.KeyFactory
> >>
> >>
> >>
> >> _______________________________________________
> >> jsword-devel mailing list
> >> jsword-devel at crosswire.org
> >> http://www.crosswire.org/mailman/listinfo/jsword-devel
> >
> >
> > _______________________________________________
> > jsword-devel mailing list
> > jsword-devel at crosswire.org
> > http://www.crosswire.org/mailman/listinfo/jsword-devel
>
>
> _______________________________________________
> jsword-devel mailing list
> jsword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/jsword-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/jsword-devel/attachments/20120505/c423e295/attachment.html>


More information about the jsword-devel mailing list