Skip to content

Commit

Permalink
Bible book name caption (#654)
Browse files Browse the repository at this point in the history
* bible: parse bible book name from the caption XML node

* bible book: fix bsname parsing

* bible book: fix book name in caption parsing

* fix the go syntax
  • Loading branch information
kukymbr committed May 10, 2024
1 parent 2e6e6f7 commit 15328e6
Showing 1 changed file with 20 additions and 7 deletions.
27 changes: 20 additions & 7 deletions Quelea/src/main/java/org/quelea/data/bible/BibleBook.java
Original file line number Diff line number Diff line change
Expand Up @@ -168,23 +168,36 @@ public static BibleBook parseXML(Node node, int defaultBookNum, String defaultBo
} else if (node.getAttributes().getNamedItem("osisID") != null) {
ret.bookName = node.getAttributes().getNamedItem("osisID").getNodeValue();
} else {
ret.bookName = defaultBookName;
}

if (node.getAttributes().getNamedItem("bsname") != null) {
ret.bsname = node.getAttributes().getNamedItem("bsname").getNodeValue();
} else {
ret.bsname = ret.bookName;
ret.bookName = "";
}

NodeList list = node.getChildNodes();
for (int i = 0; i < list.getLength(); i++) {
if (list.item(i).getNodeName().equalsIgnoreCase("chapter")
|| list.item(i).getNodeName().equalsIgnoreCase("c")) {
BibleChapter chapter = BibleChapter.parseXML(list.item(i), i);
chapter.setBook(ret);
ret.addChapter(chapter);

if (ret.bookName == "" && i == 0) {
Node caption = list.item(i).getFirstChild();
if (caption != null && caption.getNodeName().equalsIgnoreCase("caption")) {
ret.bookName = caption.getNodeValue();
}
}
}
}

if (ret.bookName == "") {
ret.bookName = defaultBookName;
}

if (node.getAttributes().getNamedItem("bsname") != null) {
ret.bsname = node.getAttributes().getNamedItem("bsname").getNodeValue();
} else {
ret.bsname = ret.bookName;
}

LOGGER.log(Level.INFO, "Parsed " + ret.getChapters().length + " chapters in " + ret.bookName);
return ret;
}
Expand Down

0 comments on commit 15328e6

Please sign in to comment.