content: package org.agoncal.book.javaee7.chapter11.ex11;
  
  import org.agoncal.book.javaee7.chapter11.Book;
  
  import javax.annotation.PostConstruct;
  import javax.enterprise.context.RequestScoped;
  import javax.inject.Named;
  import java.util.ArrayList;
  import java.util.List;
  
  /**
   * @author Antonio Goncalves
   *         APress Book - Beginning Java EE 7 with Glassfish 4
   *         http://www.apress.com/
   *         http://www.antoniogoncalves.org
   *         --
   */
  @Named
  @RequestScoped
  public class BookController11 {
  
    // ======================================
    // =             Attributes             =
    // ======================================
  
    //  @Inject
    private BookEJB bookEJB;
  
    private Book book = new Book();
  
    private List<Book> bookList = new ArrayList<>();
  
    // ======================================
    // =           Public Methods           =
    // ======================================
  
    public String doCreateBook() {
      book = bookEJB.createBook(book);
      bookList = bookEJB.findBooks();
      return "success";
    }
  
    // ======================================
    // =          Getters & Setters         =
    // ======================================
  
    public Book getBook() {
      return book;
    }
  
    public void setBook(Book book) {
      this.book = book;
    }
  
    public List<Book> getBookList() {
      return bookList;
    }
  
    public void setBookList(List<Book> bookList) {
      this.bookList = bookList;
    }
  
    @PostConstruct
    private void initBookList() {
      bookEJB = new BookEJB();
    }
  
    private class BookEJB {
      public Book createBook(Book book) {
        return null;
      }
  
      public List<Book> findBooks() {
        List<Book> bookList = new ArrayList<>();
        bookList.add(new Book("The Hitchhiker's Guide to the Galaxy", 23.99f, "Science fiction comedy book", 352, Boolean.TRUE));
        bookList.add(new Book("Harry Potter and the Goblet of Fire", 19.79f, "Kids best seller (Book 4)", 734, Boolean.TRUE));
  //      bookList.add(new Book("The Elements of Style", 6.64f, "A masterpiece in the art of clear and concise writing.", 105, Boolean.FALSE));
  //      bookList.add(new Book("Harry Potter And The Order Of The Phoenix", 9.35f, "Science fiction (Book 1)", 870, Boolean.TRUE));
  //      bookList.add(new Book("The Difference Between God and Larry Ellison", 11.99f, "God Doesn't Think He's Larry Ellison", 420, Boolean.FALSE));
  //      bookList.add(new Book("The Children of Hurin", 17.16f, "The first complete book by J.R.R. Tolkien in three decades", 313, Boolean.TRUE));
  //      bookList.add(new Book("The Da Vinci Code", 17.79f, "Thriller", 454, Boolean.FALSE));
  //      bookList.add(new Book("La carte et le territoire", 24.99f, "Prix Goncourt 2010", 428, Boolean.FALSE));
  //      bookList.add(new Book("Une forme de vie", 18.99f, "Amelie Nothomb", 168, Boolean.FALSE));
  //      bookList.add(new Book("To Kill a Mockingbird", 5.99f, "American classic", 281, Boolean.FALSE));
  //      bookList.add(new Book("Fahrenheit 451", 7.99f, "Science fiction", 208, Boolean.FALSE));
  //      bookList.add(new Book("Lolita", 14.99f, "Nabovok masterpiece", 368, Boolean.TRUE));
  //      bookList.add(new Book("A Midsummer Night's Dream", 14.99f, "Shakespeare masterpiece", 288, Boolean.TRUE));
  //      bookList.add(new Book("I bastioni del coraggio", 18.99f, "Anno domini 1548. Una grande storia d'amore, ...", 457, Boolean.FALSE));
  //      bookList.add(new Book("Harjunpaa ja pahan pappi", 32.49f, "Finns read crime novels", 300, Boolean.FALSE));
  //      bookList.add(new Book("El ingenioso hidalgo don Quijote de la Mancha", 13.99f, "Classical Don Quijote", 108, Boolean.TRUE));
  //      bookList.add(new Book("The Lord of the Rings", 50.4f, "Science fiction comedy book", 1216, Boolean.TRUE));
        bookList.add(new Book("Java EE 6 with GlassFish 3", 31.49f, "Just amazing", 458, Boolean.TRUE));
  //      bookList.add(new Book("Heidis Lehr- und Wanderjahre", 68f, "Inhalt: Die Heidi-Bucher erzahlen...", 160, Boolean.TRUE));
  //      bookList.add(new Book("l Nome della Rosa", 34.99f, "Science fiction comedy book", 354, Boolean.FALSE));
        return bookList;
      }
    }
  }