NewsBean.java 1.4 KB
package fi.insomnia.bortal.beans;

import java.util.List;

import javax.annotation.security.DeclareRoles;
import javax.annotation.security.RolesAllowed;
import javax.ejb.EJB;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;

import fi.insomnia.bortal.facade.NewsGroupFacade;
import fi.insomnia.bortal.model.EventPk;
import fi.insomnia.bortal.model.NewsGroup;

/**
 * Session Bean implementation class NewsBean
 */
@Stateless
@LocalBean
@DeclareRoles({ "ROLE_MANAGEMENT/READ", "ROLE_MANAGEMENT/WRITE" })
public class NewsBean implements NewsBeanLocal {

	@EJB
	private NewsGroupFacade ngfacade;
	@EJB
	private EventBeanLocal eventbean;

	@Override
	public NewsGroup findByName(String groupname) {

		return ngfacade.findByName(eventbean.getCurrentEvent(), groupname);

	}

	@Override
	@RolesAllowed("ROLE_MANAGEMENT/READ")
	public List<NewsGroup> findAll() {
		return ngfacade.findAll(eventbean.getCurrentEvent());
	}

	@Override
	@RolesAllowed("ROLE_MANAGEMENT/READ")
	public NewsGroup findById(int newsgroupid) {
		return ngfacade.find(eventbean.getCurrentEvent(), newsgroupid);
	}

	@Override
	@RolesAllowed("ROLE_MANAGEMENT/WRITE")
	public NewsGroup merge(NewsGroup newsgroup) {
		return ngfacade.merge(newsgroup);

	}

	@Override
	@RolesAllowed("ROLE_MANAGEMENT/WRITE")
	public void createNewsgroup(NewsGroup newsgroup) {
		newsgroup.setId(new EventPk(eventbean.getCurrentEvent()));
		ngfacade.create(newsgroup);
	}

}