private void checkAllBooksInstalled() { BookInstaller bookInstaller = new BookInstaller(); List<Book> books = (List<Book>) bookInstaller.getRepositoryBooks(REPOSITORY, BOOK_FILTER); for (Book book : books) { try { Book installedBook = bookInstaller.getInstalledBook(book.getInitials()); if (installedBook == null) { System.out.println("Not installed:" + book.getInitials() + " Name:" + book.getName()); } else { Version versionObj = (Version) book.getProperty("Version"); String version = versionObj == null ? "No version" : versionObj.toString(); Version installedVersionObj = (Version) installedBook.getBookMetaData().getProperty("Version"); String installedVersion = installedVersionObj == null ? "No version" : installedVersionObj.toString(); if (!version.equals(installedVersion)) { System.out.println( "Incorrect version of " + book.getInitials() + " installed:" + installedVersion + " Repo:" + version); } else { System.out.println("Okay:" + book.getInitials() + " " + version); } } } catch (Exception e) { System.out.println("Error installing:" + book.getInitials()); e.printStackTrace(); } } }