public boolean test(Book book) { String property = book.getProperty(key); return property != null && property.equals(value); }
/** * Get the sorted set of all values for a particular key. If there is a * BookMetaData that does not have a value for that key, then null will be * in the set. This can be use to categorize books that don't have that key. * For example, "Language" will return all the languages for this * BookMetaDataList and null for which the language is unknown. * * @param key the property key * @return the values for a particular key. */ public Set<Object> getGroup(String key) { Set<Object> results = new TreeSet<Object>(); for (Book book : this) { Object property = book.getProperty(key); if (property != null) { results.add(property); } } return results; }
public RepoBase getRepoForBook(Book document) { return getRepo(document.getProperty(DownloadManager.REPOSITORY_KEY)); }
public boolean test(Book book) { for (int i = 0; i < tests.length; i++) { Test test = tests[i]; if ("initials".equalsIgnoreCase(test.property)) { if (!test.result.equals(book.getInitials())) { return false; } continue; } String result = book.getProperty(test.property); if (result == null || !test.result.equals(result)) { return false; } } return true; }
@Test public void testAddOlder() throws Exception { Book svBook = FakeSwordBookFactory.createFakeRepoBook("DEF", "[DEF]\nLang=sv\nCategory=Biblical Texts\nVersion=1.0.1", null); List<Book> books1 = Arrays.asList(svBook); repoBookDeduplicator.addAll(books1); Book svBookOlder = FakeSwordBookFactory.createFakeRepoBook("DEF", "[DEF]\nLang=sv\nCategory=Biblical Texts\nVersion=1.0.0", null); List<Book> books2 = Arrays.asList(svBookOlder); repoBookDeduplicator.addAll(books2); assertThat(repoBookDeduplicator.getBooks(), contains(svBook)); assertThat(repoBookDeduplicator.getBooks().get(0).getProperty("Version"), equalTo("1.0.1")); }
@Test public void testAddIfNotExistsNewer() throws Exception { Book svBook = FakeSwordBookFactory.createFakeRepoBook("DEF", "[DEF]\nLang=sv\nCategory=Biblical Texts\nVersion=1.0.0", null); List<Book> books1 = Arrays.asList(svBook); repoBookDeduplicator.addAll(books1); Book svBookNewer = FakeSwordBookFactory.createFakeRepoBook("DEF", "[DEF]\nLang=sv\nCategory=Biblical Texts\nVersion=1.0.1", null); List<Book> books2 = Arrays.asList(svBookNewer); repoBookDeduplicator.addIfNotExists(books2); assertThat(repoBookDeduplicator.getBooks(), contains(svBook)); assertThat(repoBookDeduplicator.getBooks().get(0).getProperty("Version"), equalTo("1.0.0")); }
@Test public void testAddNewer() throws Exception { Book svBook = FakeSwordBookFactory.createFakeRepoBook("DEF", "[DEF]\nLang=sv\nCategory=Biblical Texts\nVersion=1.0.0", null); List<Book> books1 = Arrays.asList(svBook); repoBookDeduplicator.addAll(books1); Book svBookNewer = FakeSwordBookFactory.createFakeRepoBook("DEF", "[DEF]\nLang=sv\nCategory=Biblical Texts\nVersion=1.0.1", null); List<Book> books2 = Arrays.asList(svBookNewer); repoBookDeduplicator.addAll(books2); assertThat(repoBookDeduplicator.getBooks(), contains(svBookNewer)); assertThat(repoBookDeduplicator.getBooks().get(0).getProperty("Version"), equalTo("1.0.1")); }
@Test public void testAddIfNotExists() throws Exception { Book svBook = FakeSwordBookFactory.createFakeRepoBook("DEF", "[DEF]\nLang=sv\nCategory=Biblical Texts\nVersion=1.0.0", null); List<Book> books1 = Arrays.asList(svBook); repoBookDeduplicator.addAll(books1); repoBookDeduplicator.addIfNotExists(books1); assertThat(repoBookDeduplicator.getBooks(), contains(svBook)); assertThat(repoBookDeduplicator.getBooks().get(0).getProperty("Version"), equalTo("1.0.0")); }