FoodWaveBean.java 1.52 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.Stateless;

import sun.reflect.generics.reflectiveObjects.NotImplementedException;
import fi.insomnia.bortal.enums.apps.ShopPermission;
import fi.insomnia.bortal.facade.FoodWaveFacade;
import fi.insomnia.bortal.facade.FoodWaveTemplateFacade;
import fi.insomnia.bortal.model.FoodWave;
import fi.insomnia.bortal.model.FoodWaveTemplate;

/**
 * Session Bean implementation class FoodWaveBean
 */
@Stateless
@DeclareRoles(ShopPermission.S_MANAGE_PRODUCTS)
public class FoodWaveBean implements FoodWaveBeanLocal {

	@EJB
	private FoodWaveTemplateFacade fwtFacade;
	@EJB
	private FoodWaveFacade foodwaveFacade;

	@Override
	@RolesAllowed(ShopPermission.S_MANAGE_PRODUCTS)
	public List<FoodWaveTemplate> getTemplates() {
		return fwtFacade.findAllTemplates();
	}

	@Override
	@RolesAllowed(ShopPermission.S_MANAGE_PRODUCTS)
	public FoodWaveTemplate saveOrCreateTemplate(FoodWaveTemplate template) {
		if (template.getId() == null)
		{
			fwtFacade.create(template);
		} else {
			template = fwtFacade.merge(template);
		}
		return template;
	}

	@Override
	public List<FoodWave> findShoppableFoodwaves() {
		throw new NotImplementedException();
	}

	@Override
	public FoodWave findFoodwave(Integer foodwaveId) {
		return foodwaveFacade.find(foodwaveId);
	}

	@Override
	public FoodWaveTemplate findTemplate(Integer templateId) {
		return fwtFacade.find(templateId);
	}

}