use of org.talend.types.demos.library.common._1.BookType in project tesb-rt-se by Talend.
the class LibraryServerImpl method seekBook.
@Override
public ListOfBooks seekBook(SearchFor body) throws SeekBookError {
System.out.println("***************************************************************");
System.out.println("*** seekBook request (Request-Response operation) is received *");
System.out.println("***************************************************************");
showSeekBookRequest(body);
List<String> authorsLastNames = body.getAuthorLastName();
if (authorsLastNames != null && authorsLastNames.size() > 0) {
String authorsLastName = authorsLastNames.get(0);
if (authorsLastName != null && authorsLastName.length() > 0 && !"Icebear".equalsIgnoreCase(authorsLastName)) {
SeekBookError e = prepareException("No book available from author " + authorsLastName);
System.out.println("No book available from author " + authorsLastName);
System.out.println("\nSending business fault (SeekBook error) with parameters:");
throw e;
}
}
ListOfBooks result = new ListOfBooks();
BookType book = new BookType();
result.getBook().add(book);
PersonType author = new PersonType();
book.getAuthor().add(author);
author.setFirstName("Jack");
author.setLastName("Icebear");
Calendar dateOfBirth = new GregorianCalendar(101, Calendar.JANUARY, 2);
author.setDateOfBirth(dateOfBirth.getTime());
book.getTitle().add("Survival in the Arctic");
book.getPublisher().add("Frosty Edition");
book.setYearPublished("2010");
System.out.println("Book(s) is found:");
showSeekBookResponse(result);
return result;
}
use of org.talend.types.demos.library.common._1.BookType in project tesb-rt-se by Talend.
the class LibraryNotificationReceiverImpl method showNewBooks.
private void showNewBooks(final Date listDate, final List<BookType> response) {
System.out.println("New books from " + DateFormat.getDateInstance().format(listDate));
final ListOfBooks books = new ListOfBooks();
books.getBook().addAll(response);
Utils.showBooks(books);
}
use of org.talend.types.demos.library.common._1.BookType in project tesb-rt-se by Talend.
the class Utils method showBooks.
/**
* Show books.
*
* @param booksList the books list
*/
public static void showBooks(final ListOfBooks booksList) {
if (booksList != null && booksList.getBook() != null && !booksList.getBook().isEmpty()) {
List<BookType> books = booksList.getBook();
System.out.println("\nNumber of books: " + books.size());
int cnt = 0;
for (BookType book : books) {
System.out.println("\nBookNum: " + (cnt++ + 1));
List<PersonType> authors = book.getAuthor();
if (authors != null && !authors.isEmpty()) {
for (PersonType author : authors) {
System.out.println("Author: " + author.getFirstName() + " " + author.getLastName());
}
}
System.out.println("Title: " + book.getTitle());
System.out.println("Year: " + book.getYearPublished());
if (book.getISBN() != null) {
System.out.println("ISBN: " + book.getISBN());
}
}
} else {
System.out.println("List of books is empty");
}
System.out.println("");
}
use of org.talend.types.demos.library.common._1.BookType in project tesb-rt-se by Talend.
the class LibraryPublisher method publishNewBooksNotifications.
public void publishNewBooksNotifications() throws InterruptedException {
for (int ndx = 1; ndx < 6; ndx++) {
Thread.sleep(4000L);
List<BookType> newBooks = new LinkedList<BookType>();
BookType book = new BookType();
newBooks.add(book);
PersonType author = new PersonType();
book.getAuthor().add(author);
author.setFirstName("Jack");
author.setLastName("Icebear");
Calendar dateOfBirth = new GregorianCalendar(101, Calendar.JANUARY, 2);
author.setDateOfBirth(dateOfBirth.getTime());
book.getTitle().add("More About Survival in the Arctic - Volume " + ndx);
book.getPublisher().add("Frosty Edition");
book.setYearPublished("2011");
System.out.println("Publishing notification about a new book:");
System.out.println("Jack Icebear - More About Survival in the Arctic - Volume " + ndx);
library.newBooks(new Date(), newBooks);
}
}
use of org.talend.types.demos.library.common._1.BookType in project tesb-rt-se by Talend.
the class LibraryServerImpl method seekBook.
@Override
public ListOfBooks seekBook(SearchFor body) throws SeekBookError {
System.out.println("***************************************************************");
System.out.println("*** seekBook request (Request-Response operation) is received *");
System.out.println("***************************************************************");
showSeekBookRequest(body);
List<String> authorsLastNames = body.getAuthorLastName();
if (authorsLastNames != null && authorsLastNames.size() > 0) {
String authorsLastName = authorsLastNames.get(0);
if (authorsLastName != null && authorsLastName.length() > 0 && (!"Icebear".equalsIgnoreCase(authorsLastName)) && (!"Morillo".equalsIgnoreCase(authorsLastName))) {
SeekBookError e = prepareException("No book available from author " + authorsLastName);
System.out.println("No book available from author " + authorsLastName);
System.out.println("\nSending business fault (SeekBook error) with parameters:");
Utils.showSeekBookError(e);
throw e;
}
}
ListOfBooks result = new ListOfBooks();
if (authorsLastNames.contains("Icebear")) {
BookType book = new BookType();
result.getBook().add(book);
PersonType author = new PersonType();
book.getAuthor().add(author);
author.setFirstName("Jack");
author.setLastName("Icebear");
Calendar dateOfBirth = new GregorianCalendar(101, Calendar.JANUARY, 2);
author.setDateOfBirth(dateOfBirth.getTime());
book.getTitle().add("Survival in the Arctic");
book.getPublisher().add("Frosty Edition");
book.setYearPublished("2010");
}
if (authorsLastNames.contains("Morillo")) {
BookType book = new BookType();
result.getBook().add(book);
PersonType author = new PersonType();
book.getAuthor().add(author);
author.setFirstName("David A.");
author.setLastName("Morillo");
Calendar dateOfBirth = new GregorianCalendar(1970, Calendar.JANUARY, 1);
author.setDateOfBirth(dateOfBirth.getTime());
book.getTitle().add("The book about software");
book.getPublisher().add("Frosty Edition");
book.setYearPublished("2006");
}
System.out.println("Book(s) is found:");
showSeekBookResponse(result);
return result;
}
Aggregations