ManagedBean

Creamos los Beans para las vistas.
Creamos el paquete com.tutosoftware.activity.view y Creamos la clase IdiomaView
 
   
	package com.tutosoftware.activity.view;

import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;

@ManagedBean
@SessionScoped
public class IdiomaView implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
    private String codigoIdioma;
    private Map<String,Object> listaIdiomas;
    
    
    public IdiomaView() {
        super();
        this.codigoIdioma = FacesContext.getCurrentInstance().getViewRoot().getLocale().getLanguage();
        this.listaIdiomas = new LinkedHashMap<String,Object>();
        this.listaIdiomas.put("Español", new Locale("es"));
        this.listaIdiomas.put("Inglés", new Locale("en"));
    }
	
    public String getCodigoIdioma() {
        return codigoIdioma;
    }
    
    public void setCodigoIdioma(String codigoIdioma) {
        this.codigoIdioma = codigoIdioma;
    }
    
    public Map<String, Object> getListaIdiomas() {
        return listaIdiomas;
    }
    
    
    public void doCambioIdiomaConLista(ValueChangeEvent e)
    {

        String newCodigoIdioma = e.getNewValue().toString();
        System.out.println("newCodigoIdioma=" + newCodigoIdioma);
        System.out.println("idiomaBean=" + this.toString());

        //loop country map to compare the locale code
        for (Map.Entry<String, Object> entry : listaIdiomas.entrySet()) 
        {

               if(entry.getValue().toString().equals(newCodigoIdioma))
               {
                   System.out.println("Asignando nueva locale al contexto de Faces.");
                   FacesContext.getCurrentInstance().getViewRoot().setLocale((Locale)entry.getValue());
               }
        }
    }

}
  
  
   
   
     
   

Creamos la clase LoginView
 
   
   package com.tutosoftware.activity.view;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.MediaType;

import com.tutosoftware.activity.model.Usuario;
import com.tutosoftware.activity.util.SessionUtils;

@ManagedBean
@SessionScoped
public class LoginView {
	
	private String email;
	private String contrasena;
	private Usuario usuario;
	private String nombreUsuario;
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getContrasena() {
		return contrasena;
	}
	public void setContrasena(String contrasena) {
		this.contrasena = contrasena;
	}
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	public String getNombreUsuario() {
		return nombreUsuario;
	}
	public void setNombreUsuario(String nombreUsuario) {
		this.nombreUsuario = nombreUsuario;
	}
	
public String loginAccess() {
		
		
		
		String URL ="http://localhost:8888/api/v1/usuario/";
		
		
		
		
			
			
			Client client = ClientBuilder.newClient();
			
			
			usuario=client.target(URL+email).request(MediaType.APPLICATION_JSON_TYPE).get(Usuario.class);
			
			
			if(usuario == null) {
				
				addMessage("Success", "Usuario o password incorrectos");
				
				
				return "login";
				
			}	
			
			
			
			if(usuario.getContrasena().equals(contrasena)) {
				
				
				HttpSession session = SessionUtils.getSession();
				nombreUsuario=usuario.getNombre()+" "+usuario.getApellidoPaterno()+" "+usuario.getApellidoMaterno();
				session.setAttribute("username",nombreUsuario);
				
				return "admin";
			}else {
				
				addMessage("Success", "Usuario o password incorrectos");
				
				return "login";
				
			}	
		
		
		
		
		
	}
	
	
	

	public void addMessage(String summary, String detail) {
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }
	
	
	
	public String logout() {
		HttpSession session = SessionUtils.getSession();
		session.invalidate();
		return "login";
	}


}