public void setBasisRef(Key basisRef) { // KeyUtil always returns a Verse even if it is only Gen 1:1 this.basisRef = KeyUtil.getVerse(basisRef); } public boolean isRedLetter() {
@Override public Verse getSingleKey() { Key key = doGetKey(true); // it is already a Verse but this avoids a downcast return KeyUtil.getVerse(key); }
public MyNoteMarker(OsisToHtmlParameters parameters, VerseInfo verseInfo, HtmlTextWriter writer) { this.parameters = parameters; this.verseInfo = verseInfo; this.writer = writer; // create hashmap of verses to optimise verse note lookup myNoteVerses.clear(); if (parameters.getVersesWithNotes()!=null) { for (Key key : parameters.getVersesWithNotes()) { Verse verse = KeyUtil.getVerse(key); myNoteVerses.add(verse.getVerse()); } } }
/** set key without notification * * @param key */ public void doSetKey(Key key) { if (key!=null) { Verse verse = KeyUtil.getVerse(key); //TODO av11n should this be the verse Versification or the Module/doc's Versification getCurrentBibleVerse().setVerseSelected(getVersification(), verse); } }
/** set key without notification * * @param key */ public void doSetKey(Key key) { if (key!=null) { Verse verse = KeyUtil.getVerse(key); getCurrentBibleVerse().setVerseSelected(getVersification(), verse); } }
private boolean isStartOrEndOfBook(Key key) { boolean isStartOrEnd = false; try { if (key instanceof VerseKey) { Verse verse = KeyUtil.getVerse(key); int chapter = verse.getChapter(); BibleBook book = verse.getBook(); isStartOrEnd = chapter == 1 || chapter == verse.getVersification().getLastChapter(book); } } catch (Exception e) { Log.e(TAG, "Verse error", e); isStartOrEnd = false; } return isStartOrEnd; } }
currentVerse = KeyUtil.getVerse(verseInRange); try { String rawText = readRawContent(openFileState, currentVerse);
/** * Convert the verse correctly to the v11n or return null */ @Nullable private Verse convertVerseStrictly(Verse verse, Versification toVersification) { try { Key key = versificationsMapper.mapVerse(verse, toVersification); Verse mappedVerse = KeyUtil.getVerse(key); // If target v11n does not contain mapped verse then an exception normally occurs and the ordinal is set to 0 if (mappedVerse.getOrdinal()>0) { return mappedVerse; } } catch (Exception e) { // unexpected problem during mapping Log.e(TAG, "JSword Versification mapper failed to map "+verse.getOsisID()+" from "+verse.getVersification().getName()+" to "+toVersification.getName(), e); } return null; } }
/** * get user note with this key if it exists or return null */ public MyNoteDto getMyNoteByStartVerse(Key key) { Verse startVerse = KeyUtil.getVerse(key); MyNoteDBAdapter db = new MyNoteDBAdapter(); MyNoteDto myNote = null; try { db.open(); myNote = db.getMyNoteByStartVerse(startVerse.getOsisRef()); } finally { db.close(); } return myNote; }
/** * Adds the data into the reverse mappings. Caters for 1-2-1 and 1-2-Many mappings * * @param leftHand the reference of the left hand reference * @param kjvHand the kjv reference/key, qualified with the part */ private void addReverse1ToManyMappings(final Verse leftHand, final QualifiedKey kjvHand) { //add the reverse mapping, for 1-1 mappings if (kjvHand.getAbsentType() == QualifiedKey.Qualifier.ABSENT_IN_KJV || kjvHand.getKey().getCardinality() == 1) { // TODO(CJB): deal with parts addKJVToMapping(kjvHand, leftHand); } else { //add the 1-many mappings //expand the key and add them all //Parts are not supported on ranges... Iterator<Key> kjvKeys = kjvHand.getKey().iterator(); while (kjvKeys.hasNext()) { addKJVToMapping(new QualifiedKey(KeyUtil.getVerse(kjvKeys.next())), leftHand); } } }
/** * Set key without notification */ public void doSetKey(Key key) { if (key!=null) { Verse verse = KeyUtil.getVerse(key); VerseRange verseRange; if (key instanceof VerseRange) { verseRange = (VerseRange)key; } else { verseRange = new VerseRange(verse.getVersification(), verse); } currentNoteVerseRange = new ConvertibleVerseRange(verseRange); getCurrentBibleVerse().setVerseSelected(getVersification(), verse); } }
public Map<Integer, Set<BookmarkStyle>> getVerseBookmarkStylesInPassage(Key passage) { Verse firstVerse = KeyUtil.getVerse(passage); BibleBook book = firstVerse.getBook();
public void setAliasKey(RawFileBackendState state, Key alias, Key source) throws IOException { String v11nName = getBookMetaData().getProperty(BookMetaData.KEY_VERSIFICATION); Versification v11n = Versifications.instance().getVersification(v11nName); Verse aliasVerse = KeyUtil.getVerse(alias); Verse sourceVerse = KeyUtil.getVerse(source); int aliasIndex = aliasVerse.getOrdinal(); Testament testament = v11n.getTestament(aliasIndex); aliasIndex = v11n.getTestamentOrdinal(aliasIndex); RandomAccessFile idxRaf = state.getIdxRaf(testament); int sourceOIndex = sourceVerse.getOrdinal(); sourceOIndex = v11n.getTestamentOrdinal(sourceOIndex); DataIndex dataIndex = getIndex(idxRaf, sourceOIndex); // Only the index is updated to point to the same place as what is // linked. updateIndexFile(idxRaf, aliasIndex, dataIndex.getOffset()); }
public List<Verse> getVersesWithNotesInPassage(Key passage) { Verse firstVerse = KeyUtil.getVerse(passage); BibleBook book = firstVerse.getBook();
public MyNoteDto getCurrentMyNoteDto() { // Key key = getCurrentPageManager().getCurrentMyNotePage().getKey(); VerseRange verseRange; // The key should be a VerseRange if (key instanceof VerseRange) { verseRange = (VerseRange)key; } else { Verse verse = KeyUtil.getVerse(key); verseRange = new VerseRange(verse.getVersification(), verse); } // get a dto MyNoteDto myNote = myNoteDAO.getMyNoteByStartVerse(verseRange); // return an empty note dto if (myNote==null) { myNote = new MyNoteDto(); myNote.setVerseRange(verseRange); } return myNote; }
@Override public void addOSIS(Key key, Element div, List<Content> osisContent) { // See if the text is marked up with verses // If it is then just add it. for (Content content : osisContent) { if (content instanceof Element) { Element ele = (Element) content; if (ele.getName().equals(OSISUtil.OSIS_ELEMENT_VERSE)) { super.addOSIS(key, div, osisContent); return; } } } // If we get here then the text is not marked up with verse // In this case we add the verse markup, if the verse is not 0. if (KeyUtil.getVerse(key).getVerse() == 0) { super.addOSIS(key, div, osisContent); } else { // In a SWORD module, the verse element is to be put // after the "preverse" material. Element everse = OSISUtil.factory().createVerse(); everse.setAttribute(OSISUtil.OSIS_ATTR_OSISID, key.getOsisID()); div.addContent(everse); super.addOSIS(key, everse, osisContent); } }
public String readRawContent(RawBackendState state, Key key) throws IOException { String v11nName = getBookMetaData().getProperty(BookMetaData.KEY_VERSIFICATION); Versification v11n = Versifications.instance().getVersification(v11nName); Verse verse = KeyUtil.getVerse(key); int index = verse.getOrdinal(); Testament testament = v11n.getTestament(index); index = v11n.getTestamentOrdinal(index); RawBackendState initState = null; try { initState = initState(); return getEntry(state, verse.getName(), testament, index); } catch (BookException e) { return ""; } finally { OpenFileStateManager.instance().release(initState); } }
Verse verse = KeyUtil.getVerse(key);
public void setRawText(RawFileBackendState state, Key key, String text) throws BookException, IOException { String v11nName = getBookMetaData().getProperty(BookMetaData.KEY_VERSIFICATION); Versification v11n = Versifications.instance().getVersification(v11nName); Verse verse = KeyUtil.getVerse(key); int index = verse.getOrdinal(); Testament testament = v11n.getTestament(index); index = v11n.getTestamentOrdinal(index); RandomAccessFile idxRaf = state.getIdxRaf(testament); RandomAccessFile txtRaf = state.getTextRaf(testament); File txtFile = state.getTextFile(testament); DataIndex dataIndex = getIndex(idxRaf, index); File dataFile; if (dataIndex.getSize() == 0) { dataFile = createDataTextFile(state.getIncfileValue()); updateIndexFile(idxRaf, index, txtRaf.length()); updateDataFile(state.getIncfileValue(), txtFile); checkAndIncrementIncfile(state, state.getIncfileValue()); } else { dataFile = getDataTextFile(txtRaf, dataIndex); } byte[] textData = text.getBytes("UTF-8"); encipher(textData); writeTextDataFile(dataFile, textData); }
@Override public int getRawTextLength(Key key) { String v11nName = getBookMetaData().getProperty(BookMetaData.KEY_VERSIFICATION); Versification v11n = Versifications.instance().getVersification(v11nName); Verse verse = KeyUtil.getVerse(key); RawBackendState initState = null; try { int index = verse.getOrdinal(); Testament testament = v11n.getTestament(index); index = v11n.getTestamentOrdinal(index); initState = initState(); RandomAccessFile idxRaf = initState.getIdxRaf(testament); // If this is a single testament Bible, return nothing. if (idxRaf == null) { return 0; } DataIndex dataIndex = getIndex(idxRaf, index); return dataIndex.getSize(); } catch (IOException ex) { return 0; } catch (BookException e) { return 0; } finally { OpenFileStateManager.instance().release(initState); } }