ligaazteca-info

Este modulo cliente nos va a traer todo lo que concierne a información de la liga sobre torneos ya sea para inscripción, los que se estan jugando y los que ya se terminaron.Ahora vamos con la parte de la vista nos vamos al modulo ligaazteca-info y el archivo pom.xml nos queda de la siguiente manera:
 
   
   <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.tutosoftware.ligaazteca</groupId>
    <artifactId>ligaazteca</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>ligaazteca-info</artifactId>
  <packaging>war</packaging>
  <name>Liga Azteca Info</name>
   <build>
		<finalName>ligaaztecainfo</finalName>
		<plugins>	
			<plugin>            
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.3</version>
				<configuration>
					<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
					<webResources>
						<resource>
							<!-- this is relative to the pom.xml directory -->
							<directory>src/main/webapp/WEB-INF</directory>
							<targetPath>WEB-INF</targetPath>
						</resource>
					</webResources>
				</configuration>
			</plugin>
		</plugins>
	</build>
  <dependencies>
  
  
  
  
  <dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    
     </dependency>
     
		
		
		<dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
       
    </dependency>
			
		
		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-api</artifactId>
		
		</dependency>
		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-impl</artifactId>
		
		</dependency>
		
			
		
		 <dependency>
				<groupId>javax.servlet.jsp</groupId>
				<artifactId>jsp-api</artifactId>
			
				
			</dependency>
			
			
         <dependency>
	     <groupId>javax.servlet</groupId>
	    <artifactId>javax.servlet-api</artifactId>
	  
        </dependency>
			
			
			
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>jstl</artifactId>
				
			</dependency>
		
     <dependency>
			<groupId>com.sun.el</groupId>
			<artifactId>el-ri</artifactId>
			
		</dependency>
		<dependency>
			<groupId>javax</groupId>
			<artifactId>javaee-web-api</artifactId>
			
		</dependency>
 
  
  <dependency>
    <groupId>com.lowagie</groupId>
    <artifactId>itext</artifactId>
   
</dependency>
     
   <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
   
</dependency>





   <dependency>
      <groupId>javax.ws.rs</groupId>
      <artifactId>javax.ws.rs-api</artifactId>
      
   </dependency>
   


 <dependency>
 <groupId>org.glassfish.jersey.core</groupId>
 <artifactId>jersey-client</artifactId>
 </dependency>
 
 <dependency>
 <groupId>org.glassfish.jersey.media</groupId>
 <artifactId>jersey-media-json-jackson</artifactId>
</dependency>



  
  </dependencies>
</project>
   
   
   
   
    
     

Modelo

El modelo se realiza para consumir los objetos del api rest que realizamos en springboot.
Creamos el paquete com.tutosoftware.ligaazteca.model en el creamos la clase Torneo
 
   
package com.tutosoftware.ligaazteca.model;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter @Setter @NoArgsConstructor @AllArgsConstructor
public class Torneo {
	
	
	private String idTorneo;
	private String nombreTorneo;
	private int cantidadEquipos;
	private int activarTorneo;
	private double costoInscripcion;
	private int numJugPorEquipo;
	private int numVueltas;
	private int refuerzos;

}              
            
        
     

En el mismo paquete creamos la clase EquipoKey
 
                  
  package com.tutosoftware.ligaazteca.model;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter @Setter @NoArgsConstructor @AllArgsConstructor
public class EquipoKey {
	
	private String idTorneo;
	private String idEquipo;

}
                
    
     

Creamos la clase Equipo
 
      

package com.tutosoftware.ligaazteca.model;



import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter @Setter @NoArgsConstructor @AllArgsConstructor
public class Equipo {
	
	
	private EquipoKey pk;
	private String nombreEquipo;
	private String delegado;
	private String campo;
	private String email;
	private String password;
	private String telefono;
	private int idStatus;
	
	
	

}




     

ManagedBean

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

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 com.tutosoftware.ligaazteca.model.Torneo;


@ManagedBean
@SessionScoped
public class TorneoView {
   
	
	private String idTorneo;
	private String nombreTorneo;
	private int cantidadEquipos;
	private int activarTorneo;
	private double costoInscripcion;
	private int numJugPorEquipo;
	private int numVueltas;
	private int refuerzos;
	private List<Torneo> torneosIncripcion;
	
	
	
	
	public List<Torneo> getTorneosIncripcion() {
		return torneosIncripcion;
	}
	public void setTorneosIncripcion(List<Torneo> torneosIncripcion) {
		this.torneosIncripcion = torneosIncripcion;
	}
	public String getIdTorneo() {
		return idTorneo;
	}
	public void setIdTorneo(String idTorneo) {
		this.idTorneo = idTorneo;
	}
	public String getNombreTorneo() {
		return nombreTorneo;
	}
	public void setNombreTorneo(String nombreTorneo) {
		this.nombreTorneo = nombreTorneo;
	}
	public int getCantidadEquipos() {
		return cantidadEquipos;
	}
	public void setCantidadEquipos(int cantidadEquipos) {
		this.cantidadEquipos = cantidadEquipos;
	}
	public int getActivarTorneo() {
		return activarTorneo;
	}
	public void setActivarTorneo(int activarTorneo) {
		this.activarTorneo = activarTorneo;
	}
	public double getCostoInscripcion() {
		return costoInscripcion;
	}
	public void setCostoInscripcion(double costoInscripcion) {
		this.costoInscripcion = costoInscripcion;
	}
	public int getNumJugPorEquipo() {
		return numJugPorEquipo;
	}
	public void setNumJugPorEquipo(int numJugPorEquipo) {
		this.numJugPorEquipo = numJugPorEquipo;
	}
	public int getNumVueltas() {
		return numVueltas;
	}
	public void setNumVueltas(int numVueltas) {
		this.numVueltas = numVueltas;
	}
	public int getRefuerzos() {
		return refuerzos;
	}
	public void setRefuerzos(int refuerzos) {
		this.refuerzos = refuerzos;
	}
	
	
	
	@PostConstruct
    public void init() {
		
    String URL ="http://localhost:8888/api/torneos/";
    
    int inscripcion = 0;
    Client client = ClientBuilder.newClient();
    
    torneosIncripcion=client.target(URL+inscripcion).request(MediaType.APPLICATION_JSON_TYPE).get(new GenericType<List<Torneo>>() {});
		
	}
	
	
	
	
	
	
	
	
	
	
}          
                
                
       
     

En este paquete creamos la clase EquipoView
 
    
  package com.tutosoftware.ligaazteca.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.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;

import com.tutosoftware.ligaazteca.model.Equipo;
import com.tutosoftware.ligaazteca.model.EquipoKey;

@ManagedBean
@SessionScoped
public class EquipoView implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private EquipoKey pk;
	private String idTorneo;
	private String idEquipo;
	private String nombreEquipo;
	private String delegado;
	private String campo;
	private String email;
	private String password;
	private String telefono;
	private int idStatus;
	public EquipoKey getPk() {
		return pk;
	}
	public void setPk(EquipoKey pk) {
		this.pk = pk;
	}
	public String getIdTorneo() {
		return idTorneo;
	}
	public void setIdTorneo(String idTorneo) {
		this.idTorneo = idTorneo;
	}
	public String getIdEquipo() {
		return idEquipo;
	}
	public void setIdEquipo(String idEquipo) {
		this.idEquipo = idEquipo;
	}
	public String getNombreEquipo() {
		return nombreEquipo;
	}
	public void setNombreEquipo(String nombreEquipo) {
		this.nombreEquipo = nombreEquipo;
	}
	public String getDelegado() {
		return delegado;
	}
	public void setDelegado(String delegado) {
		this.delegado = delegado;
	}
	public String getCampo() {
		return campo;
	}
	public void setCampo(String campo) {
		this.campo = campo;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public String getTelefono() {
		return telefono;
	}
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	public int getIdStatus() {
		return idStatus;
	}
	public void setIdStatus(int idStatus) {
		this.idStatus = idStatus;
	}
	
	
	public void insertarEquipo() {
		
		Equipo equipo = new Equipo();
		EquipoKey pks = new EquipoKey();
		
		
		
		System.out.println(idTorneo);
		
		pks.setIdTorneo(idTorneo);
		idEquipo= uuid();
		pks.setIdEquipo(idEquipo);
		
		equipo.setPk(pks);
		equipo.setNombreEquipo(nombreEquipo);
		equipo.setDelegado(delegado);
		equipo.setCampo(campo);
		equipo.setEmail(email);
		equipo.setPassword(password);
		equipo.setTelefono(telefono);
		//idStatus = 0 registrado
		equipo.setIdStatus(0);
		
		
		String URL ="http://localhost:8888/api/equipos";
		
		
Client client = ClientBuilder.newClient();
	    
	    Response response =
	            client.target(URL)
	            .request(MediaType.APPLICATION_JSON_TYPE)
	            .post(Entity.entity(equipo,MediaType.APPLICATION_JSON_TYPE),Response.class);
	    
	    
	    if (response.getStatus() == Status.CREATED.getStatusCode()) {
              addMessage("Confirmado","Equipo aceptado");	        
	    	
	    } else {
	    	
	    	addMessage("Fallo","Equipo no registrado");	
	    }
	    
	    limpiarEquipo();
		
		
		
		
		
		
		
		
	}
	
	public void limpiarEquipo(){
		
		 nombreEquipo ="";
		 delegado ="";
		 campo="";
	     email="";
		 password="";
	     telefono="";
		
		
	}
	
	
	public void addMessage(String summary, String detail) {
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, summary, detail);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }
	
	
	
	
	
	
	public String uuid() {
		
	       Long numero = System.currentTimeMillis();
			
			String cadena=numero.toString();
			
			
			return cadena;
			
 }
	
	
	

}