// Recupera ENTORNO: Util para recuperar un entorno especifico del XML, en este caso nos intersa el entorno´
// 4 que contiene
//---------------------------------------
public void validaAccesoEntorno(int idEntorno) throws SQLException, Exception {
//Recuperando datos de XML
System.out.println( "---------------------- ------------------- ----------------" );
System.out.println( "ConexionDataBase.validaAccesoEntorno: Verifica Usuario y pwd vs entorno solicitado" );
System.out.println( "---------------------- ------------------- ----------------" );
// Tomado de:
http://www.java-tips.org/java-se-tip...e-in-java.html
//try {
String tableFile = "configuracion.txt";
String ruta = this.getClass().getResource("configuracion.txt").t oString();
StringTokenizer tokenizer = new StringTokenizer(ruta, "/");
tokenizer.nextToken(); // Para saltar el la parte que no deseamos
String newRuta="";
while (tokenizer.hasMoreTokens()) {
newRuta+= tokenizer.nextToken()+"/";
}
//System.out.println("La ruta es:"+newRuta);
//is = this.getClass().getResourceAsStream(tableFile);
//File file = new File("c:\\configuracion.txt");
File file = new File(newRuta);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
// Instruccion Parse que muestra directorio duplicado.. debe reemplazarse por inputstream
Document doc = db.parse(file);
doc.getDocumentElement().normalize();
//System.out.println("Root element " + doc.getDocumentElement().getNodeName());
NodeList nodeLst = doc.getElementsByTagName("ENTORNO");
//System.out.println("Total de ENTORNOS:"+nodeLst.getLength());
String id;
String descripcion;
String usuario;
String password;
String controlador;
String url;
String biblioteca;
String registros;
String activado;
ArrayList arrEntornos = new ArrayList(1);
for (int s = 0; s < nodeLst.getLength(); s++) {
//System.out.println("****************************** *******Paso por ENTORNO "+s);
Node nodoEntorno = nodeLst.item(s);
//System.out.println("-----------------------Paso antes de obtener el nodo individual ENTORNO");
if (nodoEntorno.getNodeType() == Node.ELEMENT_NODE) {
Element elementoInterno = (Element) nodoEntorno;
id = "";
descripcion= "";
usuario= "";
password= "";
controlador= "";
url= "";
biblioteca= "";
registros= "";
activado= "";
// Recupera el ACTIVADO de conexion
NodeList listaElementoGENERICO = elementoInterno.getElementsByTagName("ACTIVADO");
Element elementoIndividualGENERICO = (Element) listaElementoGENERICO.item(0);
NodeList nodoGENERICO = elementoIndividualGENERICO.getChildNodes();
if (nodoGENERICO.item(0) != null){
System.out.println("ACTIVADO : " + ((Node) nodoGENERICO.item(0)).getNodeValue());
activado = ((Node) nodoGENERICO.item(0)).getNodeValue();
}
if (s == idEntorno){
// Recupera el USUARIO de conexion
listaElementoGENERICO = elementoInterno.getElementsByTagName("USUARIO");
elementoIndividualGENERICO = (Element) listaElementoGENERICO.item(0);
nodoGENERICO = elementoIndividualGENERICO.getChildNodes();
//usuario
if (nodoGENERICO.item(0) != null){
System.out.println("USUARIO : " + ((Node) nodoGENERICO.item(0)).getNodeValue());
usuario = ((Node) nodoGENERICO.item(0)).getNodeValue();
setUserID(usuario);
}
// Recupera ID de conexion
listaElementoGENERICO = elementoInterno.getElementsByTagName("ID");
elementoIndividualGENERICO = (Element) listaElementoGENERICO.item(0);
nodoGENERICO = elementoIndividualGENERICO.getChildNodes();
if (nodoGENERICO.item(0) != null){
//System.out.println("ID : " + ((Node) nodoGENERICO.item(0)).getNodeValue());
id = ((Node) nodoGENERICO.item(0)).getNodeValue();
}
// Recupera DESCRIPCION de conexion
listaElementoGENERICO = elementoInterno.getElementsByTagName("DESCRIPCION" );
elementoIndividualGENERICO = (Element) listaElementoGENERICO.item(0);
nodoGENERICO = elementoIndividualGENERICO.getChildNodes();
if (nodoGENERICO.item(0) != null){
//System.out.println("DESCRIPCION : " + ((Node) nodoGENERICO.item(0)).getNodeValue());
descripcion = ((Node) nodoGENERICO.item(0)).getNodeValue();
}
// Recupera el PASSWORD de conexion
listaElementoGENERICO = elementoInterno.getElementsByTagName("PASSWORD");
elementoIndividualGENERICO = (Element) listaElementoGENERICO.item(0);
nodoGENERICO = elementoIndividualGENERICO.getChildNodes();
if (nodoGENERICO.item(0) != null){
//System.out.println("PASSWORD : " + ((Node) nodoGENERICO.item(0)).getNodeValue());
password = ((Node) nodoGENERICO.item(0)).getNodeValue();
setPassword(password);
}
// Recupera el CONTROLADOR (Driver) de conexion
listaElementoGENERICO = elementoInterno.getElementsByTagName("CONTROLADOR" );
elementoIndividualGENERICO = (Element) listaElementoGENERICO.item(0);
nodoGENERICO = elementoIndividualGENERICO.getChildNodes();
if (nodoGENERICO.item(0) != null){
//System.out.println("CONTROLADOR : " + ((Node) nodoGENERICO.item(0)).getNodeValue());
controlador = ((Node) nodoGENERICO.item(0)).getNodeValue();
setDriver(controlador);
}
// Recupera REGISTROS de conexion
listaElementoGENERICO = elementoInterno.getElementsByTagName("REGISTROS");
elementoIndividualGENERICO = (Element) listaElementoGENERICO.item(0);
nodoGENERICO = elementoIndividualGENERICO.getChildNodes();
if (nodoGENERICO.item(0) != null){
//System.out.println("REGISTROS : " + ((Node) nodoGENERICO.item(0)).getNodeValue());
registros = ((Node) nodoGENERICO.item(0)).getNodeValue();
setRegistrosMaximo(registros);
}
// Recupera el URL de conexion
NodeList listaElementoURL = elementoInterno.getElementsByTagName("URL");
Element elementoIndividualURL = (Element) listaElementoURL.item(0);
NodeList nodoURL = elementoIndividualURL.getChildNodes();
if (nodoURL.item(0) != null){
//System.out.println("URL : " + ((Node) nodoURL.item(0)).getNodeValue());
url = ((Node) nodoURL.item(0)).getNodeValue();
setURL(url);
}
// Recupera la biblioteca de trabajo
NodeList listaElementoBIBLIOTECA = elementoInterno.getElementsByTagName("BIBLIOTECA") ;
Element elementoIndividualBIBLIOTECA = (Element) listaElementoBIBLIOTECA.item(0);
NodeList nodoBIBLIOTECA = elementoIndividualBIBLIOTECA.getChildNodes();
if (nodoBIBLIOTECA.item(0) != null){
//System.out.println("BIBLIOTECA : " + ((Node) nodoBIBLIOTECA.item(0)).getNodeValue());
biblioteca = ((Node) nodoBIBLIOTECA.item(0)).getNodeValue();
setBiblioteca(biblioteca);
}
break;
}// de activado = 1
}// de if
}// de ciclo de lectura de entornos
// Sube tambien una bandera para indicar que se cargo el arreglo en el request
String entornosCargados = "SI";
//System.out.println( "Antes de redireccionar al servlet:"+getInitParameter("result_page") );
System.out.println( "--------------------------------Fin de ConexionDatabase.recuperaParametro" );
}