RoleDataView.java 1.48 KB
package fi.codecrew.moya.web.cdiview.user;

import java.util.List;

import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.faces.model.ListDataModel;
import javax.inject.Named;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import fi.codecrew.moya.beans.RoleBeanLocal;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.Role;
import fi.codecrew.moya.web.cdiview.GenericCDIView;

@Named
@RequestScoped
public class RoleDataView extends GenericCDIView {

	private static final long serialVersionUID = -5165373936500592099L;

	@EJB
	private transient RoleBeanLocal rolebean;

	private transient ListDataModel<Role> roles;

	private static final Logger logger = LoggerFactory.getLogger(RoleDataView.class);

	public List<Role> getRoleList()
	{
		return rolebean.listRoles();
	}

	public ListDataModel<Role> getRoles() {
		if (roles == null) {
			roles = new ListDataModel<Role>(rolebean.listRoles());
		}
		return roles;
	}

	public boolean isRoleReadPermission()
	{
		return super.hasPermission(UserPermission.READ_ROLES);
	}

	public Role getNoSelection()
	{
		return Role.EMPTY_ROLE;
	}

	public ListDataModel<Role> getRolesWithEmpty() {
		if (roles == null) {
			List<Role> list = rolebean.listRoles();
			list.add(0, Role.EMPTY_ROLE);
			roles = new ListDataModel<Role>(list);
			logger.info("rolecount {}", roles.getRowCount());
		}
		return roles;
	}

	public List<Role> getUserSelectableRoles() {
		return rolebean.listUserSelectableRoles();
	}
}