/* 
* 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 gestor.utiles;

import java.io.*;
import java.util.*;

public final class TraduccionColas extends ConfiguracionBase {

    HashMap<String, String> mapa = new HashMap<>();
    String path;
    
    public TraduccionColas(int idioma) {
        super();
        path = Global.gestorIdiomas.idiomas[idioma];
        mapaMacros = gestor.Configuracion.instanciaUnica().data;
        cargar(path  + "\\colas.ini");
        cargarServicios();
        cargarBotonesAlternativos();
    }

    void cargarServicios() {
       for(String key : data.keySet()) {
            Dato d = data.get(key);
            if (d.clave.length()>0) {
                mapa.put(d.clave.toUpperCase(), d.valor);
            }
        }
    }

    public String descripcion(String cola) {
        if (mapa.containsKey(cola)) {
            return mapa.get(cola);
        }
        return "";
    }

    void cargarBotonesAlternativos() {
        BufferedReader bf = null;
        HashMap<String, Integer> contador = new HashMap<>();
        try {
            File origen = new File(path + "\\nombresAlternativos.txt");
            if (!origen.exists()) {
                return;
            }
            bf = new BufferedReader(new FileReader(origen));
            String linea;
            while ((linea = bf.readLine()) != null) {
                linea = linea.trim();
                String[] ps = Global.split(linea, '=');
                String cola = ps[0].trim().toUpperCase();
                String nombreCola;
                if (!contador.containsKey(cola)) {
                    contador.put(cola, 1);
                    nombreCola = cola + "1";
                } else {
                    int cuenta = contador.get(cola) + 1;
                    nombreCola = cola + cuenta;
                    contador.put(cola, cuenta);
                }
                mapa.put(nombreCola, ps[1]);
            }
            bf.close();
        } catch (Exception ex) {
        }
    }
}


