/**
* @author
* @version 1.0
* @created 24-abr-2013 13:04:34
*/
package Controladores;
import GestorCompeticion.Competicion;
import GestorCompeticion.CompeticionBD;
import GestorCompeticion.Participa;
import GestorCompeticion.ParticipaBD;
import GestorEquipos.Equipo;
import GestorEquipos.EquipoBD;
import GestorEquipos.Juega;
import GestorJornada.Jornada;
import GestorJornada.JornadaBD;
import GestorPartido.Partido;
import GestorPartido.PartidoBD;
import GestorJugadores.Estadistica;
import GestorJugadores.EstadisticaBD;
import GestorJugadores.Jugador;
import Interfaz.InterfazEstadisticas;
import Interfaz.InterfazCompeticion;
import Interfaz.InterfazJornada;
import Interfaz.InterfazPartido;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.NavigableMap;
import java.util.SortedMap;
import java.util.TreeMap;
public class ControladorCompeticion {
private static ControladorCompeticion Instancia=null;
private Competicion[] competiciones;
private Jornada[] jornadas;
private Partido[] partidos;
private int competicion_activa;
private int jornada_activa=0;
private int partido_activo=0;
public ControladorCompeticion(){
competiciones = null;
competicion_activa = 0;
}
public static ControladorCompeticion getInstancia(){
if (Instancia==null){
Instancia = new ControladorCompeticion();
}
return Instancia;
}
/**
*
* @param Competicion
*/
public Boolean addCompeticion(String[] competicion){
Boolean salida= false;
Competicion newcomp;
if ( VerificarDatosCorrectosCompeticion(competicion) != false){ // Datos correctos
// Enviar a la base de datos
newcomp = new Competicion(competicion[0], competicion[1].charAt(0),competicion[2]);
// competicion añadida con exito
if (CompeticionBD.getInstancia().addCompeticion(newcomp) != null){
InterfazCompeticion.getInstancia().mostrarMensaje("COMPETICION CREADA CON EXITO","", 1);
salida = true;
} else { // Error con la base de datos
InterfazCompeticion.getInstancia().mostrarMensaje("ERROR. COMPETICION NO CREADA", "ERROR", 0);
}
}else{
InterfazJornada.getInstancia().mostrarMensaje("LOS DATOS NO SON CORRECTOS", "ERROR", 0);
}
return salida;
}
/**
*
* @param ComCompeticion
* @param Categoria
* @param Sexo
*/
public Boolean consultarCompeticion(String[] Datos){
Boolean salida=false;
// array por si se devuelven varias competiciones en la consulta
competiciones = CompeticionBD.getInstancia().getCompeticion(Datos[0], Datos[2], Datos[1]);
if (competiciones.length > 0){ // Se han encontrado competiciones
// MOSTRAR TODAS LAS COMPETICIONES ENCONTRADAS EN LA TABLA COMPETICIONES
for(int i=0; i <competiciones.length; i++){
InterfazCompeticion.getInstancia().add_Competicion_Tabla(i,
competiciones[i].getNomCompeticion(), competiciones[i].getSexo().toString(),
competiciones[i].getCategoria() );
}
// MOSTRAR LA 1º COMPETICION EN LA FICHA DE COMPETICION
InterfazCompeticion.getInstancia().mostrarCompeticion(
competiciones[0].getNomCompeticion(), competiciones[0].getSexo().toString(),
competiciones[0].getCategoria());
salida= true;
} else { // No se ha encontrado competicion
InterfazCompeticion.getInstancia().mostrarMensaje("COMPETICION NO ENCONTRADA", "ERROR", 0);
}
return salida;
}
/**
*
* @param Competiciion
*/
public boolean modificarCompeticion(String[] Competicion){
Competicion compt;
Boolean salida= false;
if(VerificarDatosCorrectosCompeticion(Competicion) != false){ // Datos correctos
// Se completa la nueva Competicion con idCompeticion
compt = new Competicion(Competicion[0],Competicion[1].charAt(0),Competicion[2]);
compt.setIdCompeticion(competiciones[competicion_activa].getIdCompeticion());
// Enviar a la BD
if (CompeticionBD.getInstancia().updateCompeticion(compt) != null){
// Modificado con éxito
competiciones[competicion_activa] = compt;
InterfazCompeticion.getInstancia().mostrarMensaje("COMPETICION MODIFICADA CON EXITO","", 1);
salida= true;
} else {
InterfazCompeticion.getInstancia().mostrarMensaje
("COMPETICION NO MODIFICADA.\nIntentelo de nuevo.", "ERROR", 0);
}
}else{
InterfazJornada.getInstancia().mostrarMensaje("LOS DATOS NO SON CORRECTOS", "ERROR", 0);
}
return salida;
}
/**
*
* @param Competiciion
*/
public boolean eliminarCompeticion(){
Boolean salida= false;
if(CompeticionBD.getInstancia().deleteCompeticion(competiciones[competicion_activa])) {
InterfazJornada.getInstancia().mostrarMensaje("COMPETICION ELIMINADA CON EXITO", "", 1);
salida = true;
}else{
InterfazJornada.getInstancia().mostrarMensaje("COMPETICION NO ELIMINADA", "ERROR", 0);
}
return salida;
}
/**
*
* @param Competicion
*/
public Boolean VerificarDatosCorrectosCompeticion(String[] competicion){
Boolean error_nomComp = false, error_categ = false, error_sexo = false, salida=false;
if (competicion[0].length() == 0 || competicion[0].length() > 20 ){
error_nomComp = true;
}
if(competicion[1] != null) {
if (competicion[1].charAt(0) != 'M' && competicion[1].charAt(0) != 'F') {
error_sexo = true;
}
}else {
error_sexo = true;
}
ArrayList<String> cat = new ArrayList<String>
(Arrays.asList ("BENJAMIN", "ALEVIN", "INFANTIL", "JUNIOR", "CADETE"));
if (! cat.contains(competicion[2].toUpperCase())){
error_categ = true;
}
if (!error_nomComp && !error_categ && !error_sexo){
//InterfazJornada.getInstancia().mostrarMensaje("LOS DATOS NO SON CORRECTOS", "ERROR", 0);
salida = true;
}
return salida;
}
//******************************************************************************
/**
*
* @param jornada
*/
public boolean addJornada(String[] jornada){
Boolean salida = false;
if ( VerificarDatosCorrectosJornada(jornada) != false ){ // Datos correctos
// Enviar a la base de datos
Jornada newJorn = new Jornada(competiciones[competicion_activa].getIdCompeticion(),
Integer.parseInt(jornada[0]) );
if (JornadaBD.getInstancia().addJornada(newJorn) != null){ // jornada añadida con exito
InterfazJornada.getInstancia().mostrarMensaje("JORNADA CREADA CON EXITO","", 1);
salida = true;
} else { // Error con la base de datos
InterfazJornada.getInstancia().mostrarMensaje("JORNADA NO CREADA", "ERROR", 0);
}
}else{
InterfazJornada.getInstancia().mostrarMensaje("LOS DATOS NO SON CORRECTOS", "ERROR", 0);
}
return salida;
}
/**
*
* @param IdCampeonato
* @param NumJornada
*/
public Boolean consultarJornada(String[] Datos){ //Integer NumJornada
Integer IdJornada, IdCampeonato = competiciones[competicion_activa].getIdCompeticion();
try {IdJornada = Integer.parseInt(Datos[0]);} catch(NumberFormatException e){IdJornada=-1;}
jornadas = JornadaBD.getInstancia().getJornada(IdCampeonato, IdJornada);
if (jornadas != null){ // Si se han encontrado competiciones
// MOSTRAR TODAS LAS JORNADAS ENCONTRADAS EN LA TABLA JORNADAS
for(int i=0; i <jornadas.length; i++){
InterfazJornada.getInstancia().add_Jornada_fila(i,jornadas[i].getNumJornada().toString());
}
// MOSTRAR LA 1º JORNADA EN LA FICHA DE JORNADA
InterfazJornada.getInstancia().mostrarJornada(
jornadas[0].getNumJornada());
return true;
} else { // No se ha encontrado competicion
//InterfazJornada.getInstancia().mostrarMensaje("JORNADA NO ENCONTRADA", "ERROR", 0);
return false;
}
}
/**
*
* @param Datos
*/
public boolean modificarJornada(String[] Datos){
Boolean salida=false;
if (VerificarDatosCorrectosJornada(Datos) != false){ // Datos correctos
// Se completa la nueva Jornada con idJornada y se envia a la BD
jornadas[jornada_activa].setNumJornada(Integer.parseInt(Datos[0]));
if (JornadaBD.getInstancia().updateJornada(jornadas[jornada_activa])){
// Modificado con éxito
InterfazJornada.getInstancia().mostrarMensaje("JORNADA MODIFICADA CON EXITO","", 1);
salida = true;
} else {
InterfazJornada.getInstancia().mostrarMensaje("JORNADA NO MODIFICADA.\nIntentelo de nuevo.",
"Error en la Base de Datos", 0);
}
}else{
InterfazJornada.getInstancia().mostrarMensaje("LOS DATOS NO SON CORRECTOS", "ERROR", 0);
}
return salida;
}
/**
*
* @param Jornada
*/
public boolean eliminarJornada(){
boolean salida = false;
if(JornadaBD.getInstancia().deleteJornada(jornadas[jornada_activa])) {
InterfazJornada.getInstancia().mostrarMensaje("JORNADA ELIMINADA CON EXITO", "", 1);
salida = true;
}else{
InterfazJornada.getInstancia().mostrarMensaje("JORNADA NO ELIMINADA", "ERROR", 0);
}
return salida;
}
/**
*
* @param Datos
*/
public Boolean VerificarDatosCorrectosJornada(String[] Datos){
try {
if(Integer.parseInt(Datos[0]) > 0) {
return false;
}
}catch (NumberFormatException e){
return false;
}
return true;
}
//****************************************************************************
/**
*
* @param Datos
*/
public boolean addPartido(String[] Datos){
Boolean salida= false;
Integer id_local=null, id_visitante=null;
String cat = competiciones[competicion_activa].getCategoria();
Character s = competiciones[competicion_activa].getSexo();
Partido newPart;
if (VerificarDatosCorrectosPartido(Datos)){ // Datos correctos
//Comprobar si los nombres de los equipos están guardados y obtener sus ids
Date fecha=null;// se vuelve a convertir fecha a date, despues de la comprobacion
try {fecha = new SimpleDateFormat("yyyy-MM-dd").parse(Datos[3]);
} catch (ParseException ex) { /* no hay excepcion ya que se ha comprobado antes con el metodo VerificarDatos... */
//System.out.println(ex);
}
if(!EquipoBD.getIntance().getEquipos(Datos[0], cat, s.toString(),"").isEmpty()){
id_local = EquipoBD.getIntance().getEquipos(Datos[0], cat, s.toString(),"").get(0).getIdEquipo();
}
if(!EquipoBD.getIntance().getEquipos(Datos[1], cat, s.toString(),"").isEmpty()){
id_visitante = EquipoBD.getIntance().getEquipos(Datos[1], cat, s.toString(),"").get(0).getIdEquipo();
}
if(ParticipaBD.getInstancia().getParticipa(id_local,
competiciones[competicion_activa].getIdCompeticion())!=null &&
ParticipaBD.getInstancia().getParticipa(id_visitante,
competiciones[competicion_activa].getIdCompeticion())!=null){
//String[] buscaLocal = {Datos[0],"",Datos[2],Datos[3]};
//String[] buscaVisit = {Datos[1],"",Datos[2],Datos[3]};
//if(this.consultarPartido(buscaLocal)){
// if(this.consultarPartido(buscaVisit)){
newPart = new Partido(jornadas[jornada_activa].getIdJornada(),
id_local, id_visitante, Datos[2], fecha);
// Enviar a la base de datos
if (PartidoBD.getInstancia().addPartido(newPart) != null){ // partido añadido con exito
InterfazPartido.getInstancia().mostrarMensaje("PARTIDO CREADO CON EXITO","", 1);
salida = true;
} else { // Error con la base de datos
InterfazPartido.getInstancia().mostrarMensaje("PARTIDO NO CREADO", "ERROR", 0);
}
// }else{
// InterfazPartido.getInstancia().mostrarMensaje("EL EQUIPO VISITANTE\n YA TIENEN ASIGNADO OTRO PARTIDO EN ESTA JORNADA", "ERROR", 0);
// }
// }else{
// InterfazPartido.getInstancia().mostrarMensaje("EL EQUIPO LOCAL\n YA TIENEN ASIGNADO OTRO PARTIDO EN ESTA JORNADA", "ERROR", 0);
// }
}else{
InterfazPartido.getInstancia().mostrarMensaje("UNO O AMBOS EQUIPOS NO PERTENECEN A LA COMPETICION", "ERROR", 0);
}
}else{
InterfazPartido.getInstancia().mostrarMensaje("LOS DATOS NO SON CORRECTOS", "ERROR", 0);
}
return salida;
}
public Boolean consultarPartido(String[] Datos) { //Integer NumJornada, String NomLocal, String NomVisitante, Date fecha){
Boolean salida = false;
String cat = competiciones[competicion_activa].getCategoria();
Character s = competiciones[competicion_activa].getSexo();
Integer id_local = null, id_visitante=null;
String resultado=(Datos[2].equals("") ? null:Datos[2]), fechaPartido=Datos[3],
nombreLocal=(Datos[0].equals("") ? null:Datos[0]), nombreVisit=(Datos[1].equals("") ? null:Datos[1]);
if(nombreLocal != null){id_local=EquipoBD.getIntance().consultarIdEquipo(Datos[0], cat, s);}
if(nombreVisit != null){id_visitante=EquipoBD.getIntance().consultarIdEquipo(Datos[1], cat, s);}
//System.out.println(nombreLocal+"\t"+id_local);
//System.out.println(nombreVisit+"\t"+id_visitante);
partidos = PartidoBD.getInstancia().getPartido
(jornadas[jornada_activa].getIdJornada(), id_local, id_visitante, resultado, fechaPartido);
if (partidos.length>0){ // Si se ha encontrado partido(s) <<---
// MOSTRAR TODAS LAS JORNADAS ENCONTRADAS EN LA TABLA JORNADAS
for(int i=0; i <partidos.length; i++){
String nomLocal = EquipoBD.getIntance().getEquipo(partidos[i].getIdLocal()).getNombre();
String nomVisitante = EquipoBD.getIntance().getEquipo(partidos[i].getIdVisitante()).getNombre();
resultado = partidos[i].getResultado();
fechaPartido= partidos[i].getFecha().toString();
InterfazPartido.getInstancia().add_Partido_Tabla(i,nomLocal,nomVisitante,resultado,fechaPartido);
// MOSTRAR LA 1º JORNADA EN LA FICHA DE JORNADA
if(i==0)
InterfazPartido.getInstancia().mostrarPartido(nomLocal,nomVisitante,resultado,partidos[0].getFecha());
}
salida= true;
}
return salida;
}
/**
*
* @param Datos
*/
public boolean modificarPartido(String[] Datos){
Boolean salida = false;
String cat = competiciones[competicion_activa].getCategoria();
Character s = competiciones[competicion_activa].getSexo();
Integer id_local=null, id_visitante=null;
if(!EquipoBD.getIntance().getEquipos(Datos[0], cat, s.toString(), "").isEmpty())
id_local = EquipoBD.getIntance().getEquipos(Datos[0], cat, s.toString(),"").get(0).getIdEquipo();
if(!EquipoBD.getIntance().getEquipos(Datos[1], cat, s.toString(),"").isEmpty())
id_visitante = EquipoBD.getIntance().getEquipos(Datos[1], cat, s.toString(),"").get(0).getIdEquipo();
//System.out.println("Local: "+id_local+" Visit: "+id_visitante );
if (VerificarDatosCorrectosPartido(Datos)){ // Datos correctos
Date fecha=null;
try {fecha = new SimpleDateFormat("yyyy-mm-dd").parse(Datos[3]);
} catch (ParseException ex) { }
Partido newPart = new Partido(jornadas[jornada_activa].getIdJornada(),
id_local, id_visitante, Datos[2], fecha);
// Se completa el nuevo partido con IdPartido
newPart.setIdPartido(partidos[partido_activo].getIdPartido());
// Enviar a la BD
if (PartidoBD.getInstancia().updatePartido(newPart)){
// Modificado con éxito
partidos[partido_activo] = newPart;
InterfazPartido.getInstancia().mostrarMensaje("PARTIDO MODIFICADO CON EXITO","", 1);
salida= true;
} else {
InterfazPartido.getInstancia().mostrarMensaje("PARTIDO NO MODIFICADO", "ERROR", 0);
}
}else{
InterfazPartido.getInstancia().mostrarMensaje("LOS DATOS NO SON CORRECTOS", "ERROR", 0);
}
return salida;
}
/**
*
* @param Partido
*/
public boolean eliminarPartido(){
boolean salida = false;
if(PartidoBD.getInstancia().deletePartido(partidos[partido_activo])){
InterfazPartido.getInstancia().mostrarMensaje("PARTIDO ELIMINADO CON EXITO", "", 1);
salida = true;
}
return salida;
}
/**
* IdJornada=Id_Jornada;
IdLocal=Id_Local;
IdVisitante=Id_Visitante;
Resultado=Result;
Fecha=Date;
IdPartido=-1;
*
* @param Datos
*/
public boolean VerificarDatosCorrectosPartido(String[] Datos){
String delimitador = "-";
String[] temp=null;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
if (Datos[0].length()==0 || Datos[0].length()>50) {
return false;
}
if (Datos[1].length()==0 || Datos[1].length()>50) {
return false;
}
try {
formatter.parse(Datos[3]);
} catch (ParseException ex) {
return false;
}
if(!Datos[2].equals("")){
if (Datos[2].contains(delimitador)){
temp = Datos[2].split(delimitador);
temp[0] = temp[0].trim();
temp[1] = temp[1].trim();
Integer scorelocal=null,scoreVisit=null ;
try{
scorelocal =Integer.parseInt(temp[0]);
scoreVisit = Integer.parseInt(temp[1]);
}catch(NumberFormatException nfe){}
if(scorelocal == scoreVisit) {
return false;
}
}else{return false;}
}
if(Datos[0].equals(Datos[1])){
return false;
}
return true;
}
//******************************************************************************
/**
*
* @param Estadisticas
*/
public boolean addActa(String[] Estadisticas){
return false;
}
/**
*
* @param Estadisticas
*/
public boolean consultarActa(Integer partidoSeleccionado){
Integer idPartido = this.partidos[partido_activo].getIdPartido();
Equipo local = EquipoBD.getIntance().getEquipo(partidos[partido_activo].getIdLocal());
Equipo visitante = EquipoBD.getIntance().getEquipo(partidos[partido_activo].getIdVisitante());
ArrayList <Juega> plantillaLocal = EquipoBD.getIntance().getJugadores_Asignados(local);
ArrayList <Juega> plantillaVisit = EquipoBD.getIntance().getJugadores_Asignados(visitante);
if(! plantillaLocal.isEmpty()){// Si se ha encontrado plantilla <<---
// MOSTRAR TODOS LOS JUGADORES ENCONTRADAS EN LA TABLA JUGADORES LOCALES
int i=0;
for(Juega j: plantillaLocal){ // para todos los dorsales encontrados
String nomJugador = j.getJugador().getNombre();//local.getPlantilla().get(d).getNombre();
String apellidosJugador = j.getJugador().getApellidos();//local.getPlantilla().get(d).getApellidos();
Integer dorsalJugador = j.getDorsal();
InterfazPartido.getInstancia().add_JugadoresLocal_Tabla(i,nomJugador,apellidosJugador,dorsalJugador);
if(i==0)
// OBTENER LAS 1º ESTADISTICAS EN LA FICHA DEL ACTA
EstadisticaBD.getInstancia().getEstadística(j.getJugador().getIdJugador(), idPartido);
i++;
}
}
if(! plantillaVisit.isEmpty()){// Si se ha encontrado plantilla <<---
// MOSTRAR TODOS LOS JUGADORES ENCONTRADAS EN LA TABLA JUGADORES LOCALES
int i=0;
for(Juega j: plantillaVisit){ // para todos los dorsales encontrados
String nomJugador = j.getJugador().getNombre();//local.getPlantilla().get(d).getNombre();
String apellidosJugador = j.getJugador().getApellidos();//local.getPlantilla().get(d).getApellidos();
Integer dorsalJugador = j.getDorsal();
InterfazPartido.getInstancia().add_JugadoresLocal_Tabla(i,nomJugador,apellidosJugador,dorsalJugador);
if(i==0)
// OBTENER LAS 1º ESTADISTICAS EN LA FICHA DEL ACTA
EstadisticaBD.getInstancia().getEstadística(j.getJugador().getIdJugador(), idPartido);
i++;
}
}
// MOSTRAR LAS 1º ESTADISTICAS EN LA FICHA DEL ACTA
//InterfazPartido.getInstancia().mostrarEstadisticas()
return false;
}
/**
*
* @param Estadisticas
*/
public boolean modificarActa(String[] Estadisticas){
return false;
}
/**
*
* @param Estadisticas
*/
/* **** public boolean deleteEstadisticas(String[] Estadisticas){
return false;
}*/ //¿Y el diagrama de secuencia?
/**
*
* @param Estadisticas
*/
public Boolean VerficiarDatosEstadisticas(String[] Datos){
try{
if (Integer.parseInt(Datos[0]) < 0) {
return false;
}
if (Integer.parseInt(Datos[1]) < 0) {
return false;
}
if (Integer.parseInt(Datos[2]) < 0) {
return false;
}
if (Integer.parseInt(Datos[3]) < 0) {
return false;
}
if (Integer.parseInt(Datos[4]) < 0) {
return false;
}
if (Integer.parseInt(Datos[5]) < 0) {
return false;
}
if (Integer.parseInt(Datos[6]) < 0) {
return false;
}
if (Integer.parseInt(Datos[7]) < 0) {
return false;
}
if (Integer.parseInt(Datos[8]) < 0) {
return false;
}
if (Integer.parseInt(Datos[9]) < 0) {
return false;
}
if (Integer.parseInt(Datos[10]) < 0) {
return false;
}
if (Integer.parseInt(Datos[11]) < 0) {
return false;
}
if (Integer.parseInt(Datos[12]) < 0) {
return false;
}
if (Integer.parseInt(Datos[13]) < 0) {
return false;
}
}catch (NumberFormatException e){
return false;
}
return true;
}
//******************************************************************************
/**
*
* @param Datos
*/
public boolean addParticipa(String[] Datos){
Boolean salida = false;
Integer IdEquipo = null;
Integer IdCompt = competiciones[competicion_activa].getIdCompeticion();
if(!EquipoBD.getIntance().getEquipos(Datos[0], Datos[2], Datos[1],Datos[3]).isEmpty()) {
IdEquipo = EquipoBD.getIntance().getEquipos(Datos[0], Datos[2], Datos[1],Datos[3]).get(0).getIdEquipo();
Participa part = new Participa(IdEquipo, IdCompt);
if(ParticipaBD.getInstancia().addParticipa(part) != null) {
InterfazCompeticion.getInstancia().mostrarMensaje("EQUIPO AÑADIDO A COMPETICION CON EXITO","",1);
salida = true;
}else{
InterfazCompeticion.getInstancia().mostrarMensaje("EQUIPO NO AÑADIDO A COMPETICION","ERROR",0);
}
}
return salida;
}
/**
*
* @param Datos
*/
public boolean deleteParticipa(String[] Datos){
Boolean salida = false;
Integer IdEquipo = null;
Integer IdCompt = competiciones[competicion_activa].getIdCompeticion();
if(!EquipoBD.getIntance().getEquipos(Datos[0], Datos[2], Datos[1], Datos[3]).isEmpty()) {
IdEquipo = EquipoBD.getIntance().getEquipos(Datos[0], Datos[2], Datos[1], Datos[3]).get(0).getIdEquipo();
Participa part = new Participa(IdEquipo, IdCompt);
if(ParticipaBD.getInstancia().deleteParticipa(part) != false) {
InterfazCompeticion.getInstancia().mostrarMensaje("EQUIPO ELIMINADO DE COMPETICION CON EXITO","",1);
salida = true;
}else{
InterfazCompeticion.getInstancia().mostrarMensaje("EQUIPO NO ELIMINANDO DE COMPETICION","ERROR",0);
}
}
return salida;
}
/**
*
* @param IdEquipo
* @param IdCompeticion
*/
public Participa[] getParticipa(Integer IdEquipo, Integer IdCompeticion){
return null;
}
/**
*
* @param Participa
*/
public boolean updateParticipa(String[] Participa){
return false;
}
public void actualizarCompeticionActiva(int num){
this.competicion_activa=num;
}
public void actualizarJornadaActiva(int num){
this.jornada_activa=num;
}
public void actualizarPartidoActivo(int num){
this.partido_activo=num;
}
public void listarEquiposActivos() {
String est; Integer fila =0;
List<Equipo> al = EquipoBD.getIntance().getEquipos("",
competiciones[competicion_activa].getCategoria(),
competiciones[competicion_activa].getSexo().toString(),"activo");
Equipo[] equipos = al.toArray(new Equipo[al.size()]);
if (equipos.length > 0){ // Se han encontrado competiciones
for(int i=0; i <equipos.length; i++){
if(ParticipaBD.getInstancia().getParticipa(equipos[i].getIdEquipo(),
competiciones[competicion_activa].getIdCompeticion())== null){
if(equipos[i].getEstado()) {
est ="activo";
}
else {
est= "baja";
}
//System.out.println("equipo no participa:"+equipos[i].getNombre());
InterfazCompeticion.getInstancia().add_Equipo_Tabla(fila,
equipos[i].getNombre(), equipos[i].getGenero().toString(),
equipos[i].getCategoria(), est );
fila++;
}
}
}
}
public void listarEquiposEnCompeticion(){
String est; Integer fila=0;
List<Equipo> al = EquipoBD.getIntance().getEquipos("",
competiciones[competicion_activa].getCategoria(),
competiciones[competicion_activa].getSexo().toString(),"activo");
Equipo[] equipos = al.toArray(new Equipo[al.size()]);
if (equipos.length > 0){ // Se han encontrado competiciones
for(int i=0; i <equipos.length; i++){
if(ParticipaBD.getInstancia().getParticipa(equipos[i].getIdEquipo(),
competiciones[competicion_activa].getIdCompeticion())!= null){
if(equipos[i].getEstado()) {
est ="activo";
}
else {
est= "baja";
}
InterfazCompeticion.getInstancia().add_Equipo_Tabla(fila,
equipos[i].getNombre(), equipos[i].getGenero().toString(),
equipos[i].getCategoria(), est );
fila ++;
}
}
}
}
public Boolean getClasificacion(String[] Datos){
//CompeticionBD.getInstancia().getClasificacion(Comp);
return null;
}
public void getClasificacion() {
List<Partido> Lpartidos=new ArrayList<Partido>(); // lista de todos los partidos (en todas las jornadas) de la competicion
String[] jornada= {""}; // para consultar todas las jornadas
consultarJornada(jornada); //actualizar this.jornadas
//System.out.println(jornadas.length);
for (int i=0; i< jornadas.length;i++) {
Partido[] p =PartidoBD.getInstancia().getPartido
(jornadas[i].getIdJornada(), null, null, null, null);
//if (p.length>0)System.out.println("Partido numero "+p[0].getIdPartido());
if(p.length>0) Lpartidos.addAll(Arrays.asList(p));
}
Map<Integer, Integer> clasificacioon = sortByValue(CompeticionBD.getInstancia().getClasificacion(Lpartidos));
int posicion =0;
for (Integer key : clasificacioon.keySet()) {
//System.out.println(" Puntos: "+sortedMap.get(key1) +" IdGanador: "+key1);
String nombre = EquipoBD.getIntance().getEquipo(key).getNombre();
InterfazCompeticion.getInstancia().add_Clasificacion_Tabla(posicion, nombre, clasificacioon.get(key));
posicion++;
}
}
static Map sortByValue(Map map) {
List list = new LinkedList(map.entrySet());
Collections.sort(list, new Comparator() {
public int compare(Object o1, Object o2) {
return ((Comparable) ((Map.Entry) (o2)).getValue())
.compareTo(((Map.Entry) (o1)).getValue());
}
});
Map result = new LinkedHashMap();
for (Iterator it = list.iterator(); it.hasNext();) {
Map.Entry entry = (Map.Entry)it.next();
result.put(entry.getKey(), entry.getValue());
}
return result;
}
}