UserView.java 1.8 KB
package fi.insomnia.bortal.view;

import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.ListDataModel;

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

import fi.insomnia.bortal.UserBeanLocal;
import fi.insomnia.bortal.db.User;

@ManagedBean(name = "userView")
@SessionScoped
public class UserView {

	@EJB
	private UserBeanLocal userBean;

	private static final Logger logger = LoggerFactory
			.getLogger(UserView.class);

	private User user;

	private ListDataModel<User> items;

	private String nick;

	private String password;

	public String edit() {
		setUser(items.getRowData());
		return "edit";
	}

	public String createUser() {
		logger.info("Saving user");
		// Luodaan uusi kyttj UserBeanin funktiolla createNewUser jolle
		// annetaan parametrina pakolliset tiedot ( nick ja salasana )
		// Paluuarvona saadaan uusi uljas kyttj-olio.
		setUser(userBean.createNewUser(nick, password));
		nick = "";
		password = "";
		if (getUser() == null) {
			logger.warn("Could not create user. function returned null!");
			return "fault";
		}

		return "edit";
	}

	public String saveUser() {
		userBean.mergeChanges(getUser());
		return "edit";
	}

	public ListDataModel<User> getUsers() {
		List<User> users = userBean.getUsers();
		items = new ListDataModel<User>(users);
		logger.info("Fetching users. Found {}", items.getRowCount());
		return items;
	}

	// Getters and setters...

	

	public String getNick() {
		return nick;
	}

	public void setNick(String nick) {
		this.nick = nick;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

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

	public User getUser() {
		return user;
	}

}