package com.iambookmaster.server.tags;
import java.util.List;
import javax.jdo.PersistenceManager;
import javax.servlet.jsp.JspException;
import com.iambookmaster.server.TransactionInViewFilter;
import com.iambookmaster.server.beans.JPABook;
import com.iambookmaster.server.dao.BookCriteria;
import com.iambookmaster.server.dao.DAO;
@SuppressWarnings("serial")
public class SelectBooksTag extends MyTagSupport {
private String criteria;
private String criteriaScope;
public String getCriteria() {
return criteria;
}
public void setCriteria(String criteria) {
this.criteria = criteria;
}
public String getCriteriaScope() {
return criteriaScope;
}
public void setCriteriaScope(String criteriaScope) {
this.criteriaScope = criteriaScope;
}
public int doStartTag() throws JspException {
PersistenceManager em = TransactionInViewFilter.getEM(pageContext.getRequest());
BookCriteria crit;
try {
if (criteria==null) {
//all
crit = new BookCriteria();
} else {
//some
Object object = getObjectByNameAndProperty(true, criteria,null,criteriaScope);
if (object instanceof BookCriteria) {
crit = (BookCriteria) object;
} else {
throw new JspException(getName()+" is not BookCriteria");
}
}
List<JPABook> books = DAO.getBookDAO().selectBooks(em,crit);
setObjectByName(books);
//store results
return SKIP_BODY;
} catch (Exception e) {
e.printStackTrace();
throw new JspException(e);
}
}
}