UserController.java 2.65 KB
package fi.insomnia.intra.web;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UIParameter;
import javax.faces.event.ActionEvent;
import javax.faces.model.ListDataModel;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import fi.insomnia.intra.dao.IPagingStatus;
import fi.insomnia.intra.db.User;
import fi.insomnia.intra.utilbeans.UserDaoBeanLocal;
import fi.insomnia.intra.utilbeans.UserPropertiesBeanLocal;
@ManagedBean(name="userTest")
@SessionScoped
public class UserController {

    private static final Logger logger = LoggerFactory.getLogger(UserController.class);
    @EJB
    private UserDaoBeanLocal userDao;
    @EJB 
    private UserBean userBean;
    
    @EJB
    private UserPropertiesBeanLocal propertiesbean;
    private IPagingStatus paging;
    
    public UserController()
    {
	paging = new PagingStatus(propertiesbean.getPageSize());
    }

    private User user = new User();
    
    public  String getTestUserbean()
    {
	
	userBean.createUserWithGeneratedPassword("Tuomarin_testi");
	return "Success";
    }
    
    public ListDataModel<User> getUsers()
    {
	List<User> list = userDao.getAll();
	for(User u: list)
	{
	   logger.info("Got User entity: " + u.getId());
	}
	return new ListDataModel<User>(list);
    }

   
    
    public String getGenerateEntry()
    {
	logger.info("Generating new user!");
	int size = userDao.getAll().size();
	logger.debug("Found {} users ",size);
	User initUser = new User();
	initUser.setName("generatedUser"+size);
	initUser.setEmail("tuomari@iki.fi" + size);
	logger.debug("Persisting user");
	userDao.save(initUser);
	return "generated!";
    }
    
    
    public String edit()
    {
	return "edit";
    }
    
    public String save()
    {
	logger.debug("saving user object {}", user);
	userDao.save(user);
	return "saved";
    }
    

    public void setUser(User user) {
	this.user = user;
    }

    public User getUser() {
	return user;
    }
    
    public void userIdListener(ActionEvent event)
    {
	 UIParameter component = (UIParameter) event.getComponent().findComponent("userId");
	 BigInteger id = (BigInteger) component.getValue();
	 logger.debug("UserId listener with userId: {}",id );
	 user = userDao.get(id);

    }

    public void initCreate()
    {
	logger.debug("Initializing create and creating new User object");
	user = new User();
    }
    public String getBeanMessage()
    {
	return "beanmessage test 1";
	
    }

  
    public void setPaging(IPagingStatus paging) {
	this.paging = paging;
    }

    public IPagingStatus getPaging() {
	return paging;
    }
    
}