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

import java.math.BigDecimal;
import java.util.List;

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

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 String name;
    // private String password;
    // private String nick;
    // private String email;
    // private String address;
    // @Column(length = 11)
    // private String zip;

    private User currentUser;
    private String nick = "default";
    private String password = "default";
    private String realname = "default";
    private String email = "default";
    private String address = "default";
    private String town = "default";
    private String phone = "default";
    private Boolean female = false;
    private String zip = "default";

    private ListDataModel<User> items;

    public UserBeanLocal getUserBean() {
	return userBean;
    }

    public void setUserBean(UserBeanLocal userBean) {
	this.userBean = userBean;
    }

    public Boolean getFemale() {
	return female;
    }

    public void setFemale(Boolean female) {
	this.female = female;
    }

    public ListDataModel<User> getItems() {
	return items;
    }

    public void setItems(ListDataModel<User> items) {
	this.items = items;
    }

    public String getNick() {
	return nick;
    }

    public String getEmail() {
	return email;
    }

    public String getAddress() {
	return address;
    }

    public String getTown() {
	return town;
    }

    public String getPhone() {
	return phone;
    }

    public String getZip() {
	return zip;
    }

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

    public String saveUser() {
	logger.info("Saving user");
	// Luodaan uusi kyttj UserBeanin funktiolla createNewUser jolle
	// annetaan parametrina pakolliset tiedot ( nick ja salasana )
	// Paluuarvona saadaan uusi uljas kyttj-olio.
	currentUser = userBean.createNewUser(nick, password);
	if (currentUser == null) {
	    logger.warn("Could not create user. function returned null!");
	    return "fault";
	}
	// asetetaan muut kentt..
	currentUser.setName(realname);
	currentUser.setAddress(address);
	currentUser.setNick(nick);
	currentUser.setZip(zip);
	currentUser.setEmail(email);
	currentUser.setTown(town);
	currentUser.setPhone(phone);
	currentUser.setFemale(female);
	currentUser.setPassword(password);
	userBean.mergeChanges(currentUser);
	logger.info("Saved current users town to {}", town);
	
	return "list";
    }

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

    public String getPassword() {
	return password;
    }

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

    public String getRealname() {
	return realname;
    }

    public void setRealname(String realname) {
	this.realname = realname;
    }

    public void setCurrentUser(User currentUser) {
	this.currentUser = currentUser;
    }

    public User getCurrentUser() {
	return currentUser;
    }

    public void setFemale(String sex) {
	if (sex == "male") {
	    this.female = false;
	} else if (sex == "female") {
	    this.female = true;
	}
    }

    public void setAddress(String address) {
	this.address = address;
    }

    public void setZip(String zip) {
	this.zip = zip;
    }

    public void setTown(String town) {
	this.town = town;
    }

    public void setPhone(String phone) {
	this.phone = phone;
    }

    public void setEmail(String email) {
	this.email = email;
    }

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

}