private void store(ResourceBundle resources, BibleBook book, Map fullMap, Map shortMap, Map altMap) { String osisName = book.getOSIS(); String fullBook = getString(resources, osisName + FULL_KEY); String shortBook = getString(resources, osisName + SHORT_KEY); if (shortBook.length() == 0) { shortBook = fullBook; } String altBook = getString(resources, osisName + ALT_KEY); BookName bookName = new BookName(locale, BibleBook.fromOSIS(osisName), fullBook, shortBook, altBook); books.put(book, bookName); fullMap.put(bookName.getNormalizedLongName(), bookName); shortMap.put(bookName.getNormalizedShortName(), bookName); String[] alternates = StringUtil.split(BookName.normalize(altBook, locale), ','); for (int j = 0; j < alternates.length; j++) { altMap.put(alternates[j], bookName); } }
/** * Get a book from its name. * * @param find * The string to identify * @return The BibleBook, On error null */ public BibleBook getBook(String find) { BibleBook book = null; if (containsLetter(find)) { book = BibleBook.fromOSIS(find); if (book == null) { book = getLocalizedBibleNames().getBook(find, false); } if (book == null) { book = englishBibleNames.getBook(find, false); } if (book == null) { book = getLocalizedBibleNames().getBook(find, true); } if (book == null) { book = englishBibleNames.getBook(find, true); } } return book; }