예제 #1
0
    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);
      }
    }
예제 #2
0
  /**
   * 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;
  }