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 java.io.Serializable;

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 implements Serializable{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String email;
	private String contrasena;
	private Usuario usuario;
	private String nombreUsuario;
	private String rolUser;
	private String emailUser;
	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 getRolUser() {
		return rolUser;
	}
	public void setRolUser(String rolUser) {
		this.rolUser = rolUser;
	}
public String getEmailUser() {
		return emailUser;
	}
	public void setEmailUser(String emailUser) {
		this.emailUser = emailUser;
	}
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();
				rolUser=usuario.getRol();
				emailUser=usuario.getEmail();
				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";
	}


}

     
   

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

import java.io.Serializable;
import java.util.List;

import com.tutosoftware.activity.model.Usuario;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;

import org.primefaces.PrimeFaces;

@ManagedBean
@SessionScoped
public class UsuarioView implements Serializable{
	private static final long serialVersionUID = 1L;
	private List<Usuario> usuarios;
	private Usuario nuevoUsuario;
	
	
	public List<Usuario> getUsuarios() {
		return usuarios;
	}

	public void setUsuarios(List<Usuario> usuarios) {
		this.usuarios = usuarios;
	}
	
	
	public Usuario getNuevoUsuario() {
		return nuevoUsuario;
	}

	public void setNuevoUsuario(Usuario nuevoUsuario) {
		this.nuevoUsuario = nuevoUsuario;
	}

	@PostConstruct
	public void listarUsuarios() {
		
        String URL ="http://localhost:8888/api/v1/usuario";
	    
	    
	    Client client = ClientBuilder.newClient();
	    
	    usuarios=client.target(URL).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Usuario>>() {});

	    //this.usuario=new Usuario();
		

	}
	
	public void abrirNuevoUsuario() {
		this.nuevoUsuario = new Usuario();
	}
	
	
	public void crearUsuario() {
		
String URL ="http://localhost:8888/api/v1/usuario";
		
	    Client client = ClientBuilder.newClient();
	    
	   
	    
	    
	    Response response =
	            client.target(URL)
	            .request(MediaType.APPLICATION_JSON_TYPE)
	            .post(Entity.entity(nuevoUsuario,MediaType.APPLICATION_JSON_TYPE),Response.class);
	    
	    
	    if (response.getStatus() == Status.CREATED.getStatusCode()) {
              addMessage("Confirmado","Usuario aceptado");	        
	    	
	    } else {
	    	
	    	addMessage("Fallo","Usuario no registrado");	
	    }
	    
	    limpiarUsuario();
	    
	    PrimeFaces current = PrimeFaces.current();
	    current.executeScript("PF('manageUsuarioDialog').hide();");
	    
		
		listarUsuarios();
		
	}
	
	
	public void eliminarUsuario() {
		
		
        String URL ="http://localhost:8888/api/v1/usuario/";
		
		Client client = ClientBuilder.newClient();
		
		
		client.target(URL+nuevoUsuario.getEmail()).request(MediaType.APPLICATION_JSON_TYPE).delete().close();
		
		
	    
	    listarUsuarios();
		
		
	}
	
	
	
	
		
	
	public void addMessage(String summary, String detail) {
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }
	
	
public void limpiarUsuario() {
		
		nuevoUsuario=null;
		
	}


}

  
     
   

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

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;

import org.primefaces.PrimeFaces;

import com.tutosoftware.activity.model.Cliente;


@ManagedBean
@SessionScoped
public class ClienteView implements Serializable{
	
	private static final long serialVersionUID = 1L;
	private List<Cliente> clientes;
	private Cliente nuevoCliente;
	public List<Cliente> getClientes() {
		return clientes;
	}
	public void setClientes(List<Cliente> clientes) {
		this.clientes = clientes;
	}
	public Cliente getNuevoCliente() {
		return nuevoCliente;
	}
	public void setNuevoCliente(Cliente nuevoCliente) {
		this.nuevoCliente = nuevoCliente;
	}
	
	
	@PostConstruct
	public void listarClientes() {
		
        String URL ="http://localhost:8888/api/v1/cliente";
	    
	    
	    Client client = ClientBuilder.newClient();
	    
	    clientes=client.target(URL).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Cliente>>() {});

	 }
	
	public void abrirNuevoCliente() {
		this.nuevoCliente = new Cliente();
	}
	
	public void crearCliente() {
		
		String URL ="http://localhost:8888/api/v1/cliente";
				
			    Client client = ClientBuilder.newClient();
			    
			   
			    
			    
			    Response response =
			            client.target(URL)
			            .request(MediaType.APPLICATION_JSON_TYPE)
			            .post(Entity.entity(nuevoCliente,MediaType.APPLICATION_JSON_TYPE),Response.class);
			    
			    
			    if (response.getStatus() == Status.CREATED.getStatusCode()) {
		              addMessage("Confirmado","Cliente aceptado");	        
			    	
			    } else {
			    	
			    	addMessage("Fallo","Cliente no registrado");	
			    }
			    
			    limpiarCliente();
			    
			    PrimeFaces current = PrimeFaces.current();
			    current.executeScript("PF('manageClienteDialog').hide();");
			    
				
				listarClientes();
				
			}
	
	
         public void eliminarCliente() {
		
		
        String URL ="http://localhost:8888/api/v1/cliente/";
		
		Client client = ClientBuilder.newClient();
		
		
		client.target(URL+nuevoCliente.getClienteId()).request(MediaType.APPLICATION_JSON_TYPE).delete().close();
		
		
	    
	    listarClientes();
		
		
	}
         
         
         public void addMessage(String summary, String detail) {
             FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
             FacesContext.getCurrentInstance().addMessage(null, message);
         }
         
         
         public void limpiarCliente() {
     		
     		nuevoCliente=null;
     		
     	}
	
	

}
   
	   
	   
	   
	   
	   
	    
   

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

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;

import org.primefaces.PrimeFaces;

import com.tutosoftware.activity.model.Cliente;
import com.tutosoftware.activity.model.Proyecto;

@ManagedBean
@ViewScoped
public class ProyectoView implements Serializable {
	
	
	private static final long serialVersionUID = 1L;
	private List<Proyecto> proyectos;
	private List<Cliente> clientes;
	private Proyecto nuevoProyecto;
	public List<Proyecto> getProyectos() {
		return proyectos;
	}
	public void setProyectos(List<Proyecto> proyectos) {
		this.proyectos = proyectos;
	}
	public Proyecto getNuevoProyecto() {
		return nuevoProyecto;
	}
	public void setNuevoProyecto(Proyecto nuevoProyecto) {
		this.nuevoProyecto = nuevoProyecto;
	}
	
	public List<Cliente> getClientes() {
		return clientes;
	}
	public void setClientes(List<Cliente> clientes) {
		this.clientes = clientes;
	}
	@PostConstruct
	public void listarProyectos() {
		
        String URL ="http://localhost:8888/api/v1/cliente";
        String URL2 ="http://localhost:8888/api/v1/proyecto";
	    
	    Client client = ClientBuilder.newClient();
	    
	    clientes=client.target(URL).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Cliente>>() {});
        proyectos=client.target(URL2).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Proyecto>>() {});
   }
	
	
	public void abrirNuevoProyecto() {
		this.nuevoProyecto = new Proyecto();
	}
	
public void crearProyecto() {
		
		String URL ="http://localhost:8888/api/v1/proyecto";
				
			    Client client = ClientBuilder.newClient();
			    
			   
			    
			    
			    Response response =
			            client.target(URL)
			            .request(MediaType.APPLICATION_JSON_TYPE)
			            .post(Entity.entity(nuevoProyecto,MediaType.APPLICATION_JSON_TYPE),Response.class);
			    
			    
			    if (response.getStatus() == Status.CREATED.getStatusCode()) {
		              addMessage("Confirmado","Proyecto aceptado");	        
			    	
			    } else {
			    	
			    	addMessage("Fallo","Proyecto no registrado");	
			    }
			    
			    limpiarProyecto();
			    
			    PrimeFaces current = PrimeFaces.current();
			    current.executeScript("PF('manageProyectoDialog').hide();");
			    
				
				listarProyectos();
				
			}

public void eliminarProyecto() {
	
	
    String URL ="http://localhost:8888/api/v1/proyecto/";
	
	Client client = ClientBuilder.newClient();
	
	
	client.target(URL+nuevoProyecto.getProyectoId()).request(MediaType.APPLICATION_JSON_TYPE).delete().close();
	
	
    
    listarProyectos();
	
	
}




	
	public void addMessage(String summary, String detail) {
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }
    
    
    public void limpiarProyecto() {
		
		nuevoProyecto=null;
		
	}
	

}
   
	   
	   
	    
   

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

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;

import org.primefaces.PrimeFaces;

import com.tutosoftware.activity.model.Actividad;
import com.tutosoftware.activity.model.Cliente;
import com.tutosoftware.activity.model.Proyecto;

@ManagedBean
@ViewScoped
public class ActividadView implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	 @ManagedProperty(value="#{loginView}")
	 private LoginView loginView;
	 private String nombreUser;
	 private Date mesConsulta;
	 private boolean mostrarDatePiker;
	 private boolean mostrarPanel2;
	 
	 private List<Actividad> actividades;
	 private List<Proyecto> proyectos;
	 private List<Cliente> clientes;
	 private Actividad actividadNueva;
	public LoginView getLoginView() {
		return loginView;
	}
	public void setLoginView(LoginView loginView) {
		this.loginView = loginView;
	}
	public String getNombreUser() {
		return nombreUser;
	}
	public void setNombreUser(String nombreUser) {
		this.nombreUser = nombreUser;
	}
	
	
	public Date getMesConsulta() {
		return mesConsulta;
	}
	public void setMesConsulta(Date mesConsulta) {
		this.mesConsulta = mesConsulta;
	}
	public boolean isMostrarDatePiker() {
		return mostrarDatePiker;
	}
	public void setMostrarDatePiker(boolean mostrarDatePiker) {
		this.mostrarDatePiker = mostrarDatePiker;
	}
	public boolean isMostrarPanel2() {
		return mostrarPanel2;
	}
	public void setMostrarPanel2(boolean mostrarPanel2) {
		this.mostrarPanel2 = mostrarPanel2;
	}
	
	public List<Actividad> getActividades() {
		return actividades;
	}
	public void setActividades(List<Actividad> actividades) {
		this.actividades = actividades;
	}
	public List<Proyecto> getProyectos() {
		return proyectos;
	}
	public void setProyectos(List<Proyecto> proyectos) {
		this.proyectos = proyectos;
	}
	public List<Cliente> getClientes() {
		return clientes;
	}
	public void setClientes(List<Cliente> clientes) {
		this.clientes = clientes;
	}
	public Actividad getActividadNueva() {
		return actividadNueva;
	}
	public void setActividadNueva(Actividad actividadNueva) {
		this.actividadNueva = actividadNueva;
	}
	@PostConstruct 
	public void init() {
		
		nombreUser=loginView.getNombreUsuario();
	    mostrarDatePiker=true;
	    mostrarPanel2=false;
	    String URL ="http://localhost:8888/api/v1/cliente";
        String URL2 ="http://localhost:8888/api/v1/proyecto";
	    
	    Client client = ClientBuilder.newClient();
	    
	    clientes=client.target(URL).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Cliente>>() {});
        proyectos=client.target(URL2).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Proyecto>>() {});
	}
	
   public void listarActividades() {
    	
    	mostrarDatePiker=false;
    	mostrarPanel2=true;
    	addMessage("La fecha es",mesConsulta.toString());
    	mostrarActividades(mesConsulta);
    }
   
   public void abrirNuevo() {
		this.actividadNueva = new Actividad();
	}
   
   public void mostrarActividades(Date fecha) {
   	
   	String URL ="http://localhost:8888/api/v1/actividad/";
   	
   	 Client client = ClientBuilder.newClient();
   	 String emailUser=loginView.getEmailUser();
   	 actividades=client.target(URL+emailUser+"/"+fecha).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Actividad>>() {});
   	
   }
   
  
   
   public void crearActividad() {
   	String URL ="http://localhost:8888/api/v1/actividad";
   	
   	
   	 Client client = ClientBuilder.newClient();
	    
 	   String email = loginView.getEmailUser();
	    actividadNueva.setEmailUsuario(email);
	    
	    Response response =
	            client.target(URL)
	            .request(MediaType.APPLICATION_JSON_TYPE)
	            .post(Entity.entity(actividadNueva,MediaType.APPLICATION_JSON_TYPE),Response.class);
	    
	    
	    if (response.getStatus() == Status.CREATED.getStatusCode()) {
              addMessage("Confirmado","Actividad registrada");	        
	    	
	    } else {
	    	
	    	addMessage("Fallo","Actividad no registrada");	
	    }
    	
	    PrimeFaces current = PrimeFaces.current();
	    current.executeScript("PF('manageActividadDialog').hide();");
	    mostrarActividades(actividadNueva.getFecha());
   	
   }
   
   
   public void borrar() {
	   
	   String URL3 ="http://localhost:8888/api/v1/actividad/";
		
		Client client = ClientBuilder.newClient();
		
		
		
		client.target(URL3+actividadNueva.getActividadId()).request(MediaType.APPLICATION_JSON_TYPE).delete().close();
		
		
		mostrarActividades(actividadNueva.getFecha());
	   
	   
   }
 
   
   
   public void addMessage(String summary, String detail) {
       FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
       FacesContext.getCurrentInstance().addMessage(null, message);
   }
   
   public void busquedaNueva(){
	   
	   mostrarDatePiker=true;
   	   mostrarPanel2=false;
	   
   }
   
   
   
   
   
   
   
   

}









   
   

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



import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.xssf.streaming.SXSSFCell;
import org.apache.poi.xssf.streaming.SXSSFRow;
import org.apache.poi.xssf.streaming.SXSSFSheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import com.tutosoftware.activity.model.Actividad;
import com.tutosoftware.activity.model.Proyecto;
import com.tutosoftware.activity.model.Usuario;


@ManagedBean
@ViewScoped
public class ReporteView implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String email;
	private String proyecto;
	private Date fecha;
	private List<Proyecto> proyectos;
	private List<Actividad> actividades;
	private Usuario usuario;
	
	
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	
	
	public Date getFecha() {
		return fecha;
	}
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}
	public String getProyecto() {
		return proyecto;
	}
	public void setProyecto(String proyecto) {
		this.proyecto = proyecto;
	}
	
	public List<Proyecto> getProyectos() {
		return proyectos;
	}
	public void setProyectos(List<Proyecto> proyectos) {
		this.proyectos = proyectos;
	}
	public List<Actividad> getActividades() {
		return actividades;
	}
	public void setActividades(List<Actividad> actividades) {
		this.actividades = actividades;
	}
	public Usuario getUsuario() {
		return usuario;
	}
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}
	@PostConstruct 
	public void init() {
		
		String URL2 ="http://localhost:8888/api/v1/proyecto";
		Client client = ClientBuilder.newClient();
		proyectos=client.target(URL2).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Proyecto>>() {});
		
		
	}
	
	public void buscarActividades() {
		
		String URL ="http://localhost:8888/api/v1/actividad/";
		String URL2 ="http://localhost:8888/api/v1/usuario/";
		Client client = ClientBuilder.newClient();
		usuario = new Usuario();
		usuario=client.target(URL2+email).request(MediaType.APPLICATION_JSON_TYPE).get(Usuario.class);
		addMessage("La fecha es",fecha.toString());
		
		actividades=client.target(URL+email+"/"+fecha+"/"+proyecto).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Actividad>>() {});
		
		
		
	}
	
	
	
	public void generarExcel(Object document) {
		
		String URL ="http://localhost:8888/api/v1/actividad/";
		
		Client client = ClientBuilder.newClient();
		actividades=client.target(URL+email+"/"+fecha+"/"+proyecto).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Actividad>>() {});
		
		
		
		SXSSFWorkbook wb = (SXSSFWorkbook) document;
		int num = actividades.size()+2;
	    SXSSFSheet sheet = wb.getSheetAt(0);
	    SXSSFRow fila = sheet.createRow(num);
		
		
	    
		SXSSFCell celda = fila.createCell(0);
		celda.setCellValue("Nombre: "+usuario.getNombre()+" "+usuario.getApellidoPaterno()+" "+
		usuario.getApellidoMaterno());
		
		
	}
	
	
	
	public void addMessage(String summary, String detail) {
	       FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
	       FacesContext.getCurrentInstance().addMessage(null, message);
	   }
	public void limpiar() {
		fecha=null;
		proyecto="";
		email="";
		actividades=null;
		
	}

	
	

}