SitePageBean.java 1.66 KB
package fi.insomnia.bortal.beans;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;

import fi.insomnia.bortal.facade.SitePageFacade;
import fi.insomnia.bortal.model.PageContent;
import fi.insomnia.bortal.model.SitePage;

/**
 * Session Bean implementation class SitePageBean
 */
@Stateless
@LocalBean
public class SitePageBean implements SitePageBeanLocal {

	/**
	 * Default constructor.
	 */
	public SitePageBean() {
		// TODO Auto-generated constructor stub
	}

	@EJB
	private SitePageFacade sitepagefacade;

	@EJB
	private EventBeanLocal eventbean;

	@EJB
	private PermissionBeanLocal permbean;

	@Override
	public SitePage find(String siteName) {
		return sitepagefacade.find(siteName);
	}

	@Override
	public void create(SitePage sitepage) {
		sitepage.setEvent(eventbean.getCurrentEvent());
		sitepagefacade.create(sitepage);
	}

	@Override
	public SitePage save(SitePage sitepage) {
		return sitepagefacade.merge(sitepage);
	}

	@Override
	public PageContent createContent(SitePage sitepage) {
		sitepage = sitepagefacade.find(sitepage.getId());
		PageContent ret = new PageContent(sitepage);
		if (sitepage.getContents() == null)
		{
			sitepage.setContents(new ArrayList<PageContent>());
		}
		sitepage.getContents().add(ret);
		return ret;

	}

	@Override
	public List<SitePage> getPagerootsForUser() {
		return sitepagefacade.findForUser(permbean.getCurrentUser(), null);
	}

	@Override
	public List<SitePage> getPagesForUser(SitePage site)
	{
		return sitepagefacade.findForUser(permbean.getCurrentUser(), site);
	}

	@Override
	public List<SitePage> findAll() {
		return sitepagefacade.findAll();
	}

}