/*
 * Creado el 16-ene-04
 *
 * Para cambiar la plantilla para este archivo generado vaya a
 * Ventana&gt;Preferencias&gt;Java&gt;Generación de código&gt;Código y comentarios
 */
package es.ejie.frmk.presentacion.sesiondatos.utilidades;

import java.util.HashMap;
import java.util.Map;

/**
 * @version 1.0
 * Fecha: 16-ene-04
 * 
 * Clase propia para ayudar al Q70ManejadorSeguridadContextoEJIE a decidir si una sesion usuario tiene
 * permisos para modificar o consultar segun que campos de los Q70ContextoEJIE
 */
public class Q70MySecurityHelper {
	private static Map listaSeguridadUsuarios = new HashMap(11);
	private static boolean estaInicializado = false;

	private static void initialize() {
		listaSeguridadUsuarios.put(null, new Boolean(true)); //Para el modo depuracion
		listaSeguridadUsuarios.put("usu1", new Boolean(true));
		listaSeguridadUsuarios.put("usu2", new Boolean(false));
		listaSeguridadUsuarios.put("usu3", new Boolean(false));
		listaSeguridadUsuarios.put("usu4", new Boolean(false));
		listaSeguridadUsuarios.put("usu5", new Boolean(false));
		listaSeguridadUsuarios.put("FRAMEWORK_USER", new Boolean(true));
		estaInicializado = true;
	}

	public static boolean getUsuarioSeguridad(String idUsuario, String tipoSeguridad, String campoInterrogado) {
		if (!estaInicializado)
			initialize();

		try {
			if (idUsuario.equals("usu1"))
				return pruebaUsu1(tipoSeguridad, campoInterrogado);
			return ((Boolean) listaSeguridadUsuarios.get(idUsuario)).booleanValue();
		} catch (Exception e) {
		}
		return false;
	}

	private static boolean pruebaUsu1(String tipoSeguridad, String campoInterrogado) {
		if (tipoSeguridad.equals("CONSULTABLE") && campoInterrogado.equals("id_NoConsultable")) {
			return false;
		}
		if (tipoSeguridad.equals("MODIFICABLE") && campoInterrogado.equals("id_NoModificable")) {
			return false;
		}
		return true;
	}
}
