PageOutputView.java 1.25 KB
package fi.codecrew.moya.web.cdiview.content;

import java.util.List;

import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;

import fi.codecrew.moya.beans.SitePageBeanLocal;
import fi.codecrew.moya.model.PageContent;
import fi.codecrew.moya.web.cdiview.GenericCDIView;

@Named
@RequestScoped
public class PageOutputView extends GenericCDIView {

	private static final long serialVersionUID = 1384298744925823293L;

	@EJB
	private transient SitePageBeanLocal pagebean;

	private Integer id;
	private String name;

	private List<PageContent> contents;

	public void initIndexView()
	{
		name = "/frontpage";
		initView();
	}

	public void initView(String name)
	{
		this.name = name;
		initView();
	}

	public void initView() {
		if (name == null || name.isEmpty()) {
			setContents(pagebean.findContentsForUser(id));
		} else {
			setContents(pagebean.findContentsForUser(name));
		}

		if (!requirePermissions(contents != null && !contents.isEmpty()))
		{
			contents = null;
		}
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public List<PageContent> getContents() {
		return contents;
	}

	public void setContents(List<PageContent> contents) {
		this.contents = contents;
	}

}