VotingBean.java 1.94 KB
package fi.insomnia.bortal.beans;

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

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

import fi.insomnia.bortal.facade.CompoEntryFacade;
import fi.insomnia.bortal.facade.CompoEntryFileFacade;
import fi.insomnia.bortal.facade.CompoFacade;
import fi.insomnia.bortal.facade.VoteFacade;
import fi.insomnia.bortal.model.Compo;
import fi.insomnia.bortal.model.CompoEntry;
import fi.insomnia.bortal.model.CompoEntryFile;
import fi.insomnia.bortal.model.Vote;

/**
 * Session Bean implementation class VotingBean
 */
@Stateless
@LocalBean
public class VotingBean implements VotingBeanLocal {

	@EJB
	private CompoFacade compoFacade;
	@EJB
	private CompoEntryFacade compoEntryFacade;
	@EJB
	private CompoEntryFileFacade compoEntryFileFacade;
	@EJB
	private VoteFacade voteFacade;
	@EJB
	private EventBean eventBean;
	@EJB
	private PermissionBeanLocal permissionBean;
	
    /**
     * Default constructor. 
     */
    public VotingBean() {
        // TODO Auto-generated constructor stub
    }
    
    public void createVote(Vote v) {
    	voteFacade.create(v);
    }
    
    public void createCompo(Compo c) {
    	c.setEvent(eventBean.getCurrentEvent());
    	compoFacade.create(c);
    }
    
    public void addEntry(CompoEntry compoEntry, CompoEntryFile compoEntryFile) {
    	compoEntry.setCreated(Calendar.getInstance());
    	compoEntry.setCreator(permissionBean.getCurrentUser());
    	
    	Compo c = compoFacade.merge(compoEntry.getCompo());
    	
    	c.getCompoEntries().add(compoEntry);
    	compoFacade.flush();
    	compoEntryFile.setEntriesId(compoEntry);
    	compoEntry.getFiles().add(compoEntryFile);
    }
    
    public Compo getCompoById(Integer compoId) {
    	return compoFacade.find(compoId);
    }

    public List<Compo> getCompoList() {
    	return compoFacade.getList();
    }
}