Package org.agoncal.training.javaee6.web

Source Code of org.agoncal.training.javaee6.web.ItemController

package org.agoncal.training.javaee6.web;

import org.agoncal.training.javaee6.domain.Book;
import org.agoncal.training.javaee6.domain.CD;
import org.agoncal.training.javaee6.domain.Language;
import org.agoncal.training.javaee6.service.ItemEJB;

import javax.annotation.PostConstruct;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
import java.util.logging.Logger;

/**
* @author Antonio Goncalves
*         Training - Beginning with The Java EE 6 Platform
*         http://www.antoniogoncalves.org
*         --
*/
@Named
@RequestScoped
public class ItemController {

    // ======================================
    // =             Attributes             =
    // ======================================

    @Inject
    private ItemEJB itemEJB;

    private Book book = new Book();
    private List<Book> bookList = new ArrayList<Book>();
    private String tags;

    private CD cd = new CD();
    private List<CD> cdList = new ArrayList<CD>();

    private Logger logger = Logger.getLogger("org.agoncal.training.javaee6");

    // ======================================
    // =          Lifecycle methods         =
    // ======================================

    @PostConstruct
    private void initList() {
        logger.fine("ItemController.initList()");
        bookList = itemEJB.findAllBooks();
        cdList = itemEJB.findAllCDs();
    }

    // ======================================
    // =           Public Methods           =
    // ======================================

    public String doCreateBook() {
        logger.fine("ItemController.doCreateBook():" + book);
        book.setTags(transformToList(tags));
        itemEJB.createBook(book);
        bookList = itemEJB.findAllBooks();
        book = new Book();
        return "newBook.xhtml";
    }

    public String doCreateCD() {
        logger.fine("ItemController.doCreateCD():" + cd);
        itemEJB.createCD(cd);
        cdList = itemEJB.findAllCDs();
        cd = new CD();
        return "newCD.xhtml";
    }

    // ======================================
    // =           Private methods          =
    // ======================================

    private List<String> transformToList(String tagsRequestParameter) {
        logger.finer("ItemController.transformToList():" + tagsRequestParameter);
        if (tagsRequestParameter == null)
            return null;
        List<String> listOfTags = new ArrayList<String>();
        StringTokenizer tokens = new StringTokenizer(tagsRequestParameter, ",");
        while (tokens.hasMoreElements()) {
            listOfTags.add(((String) tokens.nextElement()).trim());
        }
        return listOfTags;
    }

    // ======================================
    // =          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;
    }

    public String getTags() {
        return tags;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public CD getCd() {
        return cd;
    }

    public void setCd(CD cd) {
        this.cd = cd;
    }

    public List<CD> getCdList() {
        return cdList;
    }

    public void setCdList(List<CD> cdList) {
        this.cdList = cdList;
    }

    public Language[] getLanguages() {
        return Language.values();
    }
}
TOP

Related Classes of org.agoncal.training.javaee6.web.ItemController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.