use of biblemulticonverter.format.paratext.ParatextBook.ParatextBookContentPart in project BibleMultiConverter by schierlm.
the class AbstractParatextFormat method doImportBooks.
public final List<ParatextBook> doImportBooks(File inputFile) throws Exception {
List<ParatextBook> result = doImportAllBooks(inputFile);
String keepParts = System.getProperty("biblemulticonverter.paratext.keepparts", null);
if (keepParts != null) {
EnumSet<KeepIf> partsToKeep = EnumSet.noneOf(KeepIf.class);
for (String flag : keepParts.split("[^A-Za-z]+")) {
partsToKeep.add(KeepIf.valueOf(flag.toUpperCase()));
}
for (int i = 0; i < result.size(); i++) {
ParatextBook book = result.get(i);
boolean keep = true;
if (book.getId().getId().isDeuterocanonical()) {
keep = partsToKeep.contains(KeepIf.DC);
} else if (book.getId().getId().isNT()) {
keep = partsToKeep.contains(KeepIf.NT);
} else if (book.getId().getId().getZefID() > 0) {
keep = partsToKeep.contains(KeepIf.OT);
}
if (!keep) {
result.remove(i);
i--;
continue;
}
for (int j = 0; j < book.getContent().size(); j++) {
ParatextBookContentPart part = book.getContent().get(i);
if (part instanceof ParatextCharacterContent) {
filterContents(((ParatextCharacterContent) part).getContent(), partsToKeep);
}
}
}
}
return result;
}
Aggregations