ActionLogBean.java 1.59 KB
package fi.insomnia.bortal.beans;

import java.util.Date;
import java.util.List;

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

import fi.insomnia.bortal.enums.ActionLogMessageState;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.ActionLogFacade;
import fi.insomnia.bortal.model.ActionLogMessage;
import fi.insomnia.bortal.model.Role;

/**
 * Session Bean implementation class ActionLogBean
 * eventin
 *  - luominen
 *  - editointi
 *  - deletointi
 */
@Stateless
public class ActionLogBean implements ActionLogBeanLocal {
	// TODO: Permissions
	
	@EJB
	private ActionLogFacade actionLogFacade;
	
	@EJB
	private RoleBeanLocal roleBean;
	
	@EJB
	private PermissionBeanLocal permissionBean;

    public ActionLogBean() {
        // TODO Auto-generated constructor stub
    }
    
    public void createActionLogEvent(String message, Role crew, boolean isTask) {
    	ActionLogMessage alm = new ActionLogMessage();
    	alm.setCrew(crew);
    	if(isTask) {
    		alm.setState(ActionLogMessageState.PENDING);
    	} else {
    		alm.setState(null);
    	}
    	alm.setTime(new Date());
    	alm.setMessage(message);
    	alm.setUser(permissionBean.getCurrentUser());
    	
    	//System.out.println("would creates, crew="+crew.getName()+" u="+alm.getUser().getNick());
    	actionLogFacade.saveToActionLog(alm);
    }
    
    public List<ActionLogMessage> getAllActionLogEvents() {
    	return actionLogFacade.getAllSortedByTimestamp();
    }
    
    public List<Role> getAssignableRoles() {
    	return roleBean.listRoles();
    }
}