/* 
* Copyright 2016 Agencia Estatal de Administración Tibutaria
*
* Licencia con arreglo a la EUPL, Versión 1.1 o –en cuanto
* sean aprobadas por la Comisión Europea– versiones
* posteriores de la EUPL (la «Licencia»);
* Solo podrá usarse esta obra si se respeta la Licencia.
* Puede obtenerse una copia de la Licencia en:
*  
* https://joinup.ec.europa.eu/software/page/eupl
*  
* Salvo cuando lo exija la legislación aplicable o se acuerde
* por escrito, el programa distribuido con arreglo a la
* Licencia se distribuye «TAL CUAL», SIN GARANTÍAS NI CONDICIONES
* DE NINGÚN TIPO, ni expresasni implícitas.
*
* Véase la Licencia en el idioma concreto que rige los permisos y 
* limitaciones que establece la Licencia.
*/ 

package Datos;

import java.awt.*;
import java.util.*;
import javax.swing.table.DefaultTableModel;
import org.jfree.chart.plot.*;

/**
 *
 * @author f11600za
 */
public class Variables {

    private static Variables yo;
    String nombreAdmon = "";
    String nombreMaquina = "";
    String nombrebaseDatos = "ateneo";
    public HashMap<Object, Paint> colores = new HashMap<Object, Paint>(34);

    /**
     * Creates a new instance of Variables
     */
    public Variables() {
        yo = this;
    }

    public static Variables getVariables() {
        if (yo == null) {
            yo = new Variables();
        }
        return yo;
    }

    public void construirTablaColores(DefaultTableModel dtm) {
        Paint[] paints = DefaultDrawingSupplier.DEFAULT_PAINT_SEQUENCE;
        for (int i = 0, idx = 0; i < dtm.getRowCount(); i++) {
            if (idx >= paints.length) {
                idx = 0;
            }
            colores.put(dtm.getValueAt(i, 1), paints[idx++]);
        }
    }

    public void setNombreMaquina(String nMaquina) {
        nombreMaquina = nMaquina;
    }

    public void setNombreBasedatos(String nbd) {
        nombrebaseDatos = nbd;
    }

    public void setNombreAdmon(String nAdmon) {
        nombreAdmon = nAdmon;
    }

    public String getNombreBasdatos() {
        return nombrebaseDatos;
    }

    public String getNombreMaquina() {
        return nombreMaquina;
    }

    public String getNombreAdmon() {
        return nombreAdmon;
    }

    public static String[] split(String s, char sep) {
        java.util.ArrayList<String> array = new java.util.ArrayList<String>();
        int comi = 0;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == sep) {
                array.add(s.substring(comi, i));
                comi = i + 1;
            }
        }
        if (comi < s.length()) {
            array.add(s.substring(comi));
        }

        String[] res = new String[array.size()];
        return array.toArray(res);
    }

    public int calculaTurno() {
        GregorianCalendar hoy = new GregorianCalendar();
        Date ahora = new Date();
        if (hoy.get(Calendar.DAY_OF_WEEK) == 7) {	// los sabados se marcan como turno TARDE
            return 2;
        } else if (Calendar.HOUR_OF_DAY >= 15) {  // a partir de las 3 es turno TARDE
            return 2;
        } else {
            return 1;
        }
    }
}
