package hamaster.gradesign.jsf.bean;
import hamaster.gradesign.dao.IDRequestDAO;
import hamaster.gradesign.entity.IDRequest;
import hamaster.gradesign.idmgmt.IBESystemBean;
import hamaster.gradesign.jsf.page.DatabasePageDataModel;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.model.DataModel;
@SessionScoped
@ManagedBean(name = "viewIDRequestBean")
public class ViewIDRequestBean implements Serializable {
private static final long serialVersionUID = -1148906844021585398L;
@ManagedProperty(value = "#{ibeSystemDAO}")
private transient IBESystemBean ibeSystem;
@ManagedProperty(value = "#{idRequestDAO}")
private transient IDRequestDAO idRequestDAO;
/**
* 当前页面大小
*/
protected int pageSize = 3;
public ViewIDRequestBean() {
}
public DataModel<IDRequest> getUserIDRequests() {
FacesContext context = FacesContext.getCurrentInstance();
final ViewUserBean viewUserBean = (ViewUserBean) context.getApplication().getExpressionFactory().createValueExpression(context.getELContext(), "#{viewUserBean}", ViewUserBean.class).getValue(context.getELContext());
DatabasePageDataModel<IDRequest> model = new DatabasePageDataModel<IDRequest>(pageSize) {
@Override
public List<IDRequest> list(int page, int pageSize) {
return idRequestDAO.list(viewUserBean.getUser(), page, pageSize, -1);
}
@Override
public int getCountImpl() {
return idRequestDAO.count(viewUserBean.getUser());
}
};
return model;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public IBESystemBean getIbeSystem() {
return ibeSystem;
}
public void setIbeSystem(IBESystemBean ibeSystem) {
this.ibeSystem = ibeSystem;
}
public IDRequestDAO getIdRequestDAO() {
return idRequestDAO;
}
public void setIdRequestDAO(IDRequestDAO idRequestDAO) {
this.idRequestDAO = idRequestDAO;
}
}