Añado los fuentes de java

This commit is contained in:
2025-06-09 13:37:06 +02:00
parent d6c990e5d5
commit a97a6350ee
226 changed files with 57246 additions and 0 deletions
@@ -0,0 +1,196 @@
package com.tarisan.generador;
import java.util.Vector;
import java.sql.*;
import org.w3c.dom.*;
import com.tarisan.generador.oracle.ObtenerTablasBDOracle;
public class ObtenerTablasBD
{
//CONSTANTES para determinar el tipo de generación
public static final int JAVA = 0;
public static final int XML = 1;
public static final int DATOS_XML = 2;
public static final int DOC = 3;
public static final int SQL = 4;
public static final int HTML = 5;
//ATRIBUTOS
/**
Tipo de generación (se recibirá en el constructor
*/
private int tipo;
/**
Elemento <BASE_DATOS> del xml de configuracion
"configuracion_generador_bd.xml
*/
private Element elementoBD = null;
//METODOS:
/**
Constructor de la clase
*/
public ObtenerTablasBD(Element newElementoBD)
{
elementoBD = newElementoBD;
tipo = ObtenerTablasBD.JAVA;
}
public ObtenerTablasBD(Element newElementoBD, int tip)
{
elementoBD = newElementoBD;
tipo = tip;
}
public ObtenerTablasBD()
{
}
/**
Dado un elemento BASE_DATOS hace la conexion a la BD
y devuelve un Vector con las Tablas (objetos Tabla) de la BD correspondientes
Si no estan especificadas en el xml, devuelve todas
*/
public Vector getTablas( )
{
Vector vectorTablas = new Vector();
Connection conn = null;
ResultSet rs = null;
ResultSet rsPKeys = null;
ResultSetMetaData rsMetaData = null;
try
{
//datos referentes a la conexion a la BD
String driver = elementoBD.getAttribute("driver");
String user = elementoBD.getAttribute("user");
String password = elementoBD.getAttribute("password");
String url = elementoBD.getAttribute("url");
// Conexion a la BD y tomo el statement
Class.forName(driver);
conn = DriverManager.getConnection(url, user , password);
/*
Obtengo los nombres de las tablas:
Si estan especificadas en el xml: getNombresTablasXML(elementoBD)
En caso contrario: getNombresAllTablasBDOracle( conn )
*/
String[] nombresTabla = null;
NodeList elementosTabla = elementoBD.getElementsByTagName("TABLA");
/*
Si no hay elementos <TABLA>, elementosTabla.getLength=0
y hay que tomar todas las tablas de la BD
*/
ObtenerTablasBDOracle tablasOracle = new ObtenerTablasBDOracle(conn);
if( elementosTabla.getLength() == 0)
nombresTabla = tablasOracle.getNombresAllTablasBD();
else
nombresTabla = getNombresTablasXML( elementosTabla );
//Voy a ir recorriendo las tablas y sus correspondientes campos
// vectorTablas = tablasOracle.getTablasBD(nombresTabla);
vectorTablas = tablasOracle.getTablasBD(nombresTabla, tipo);
return vectorTablas;
}
catch(Exception e)
{
System.err.println(e);
}
//devuelvo el vector de tablas
vectorTablas.trimToSize();
return vectorTablas;
}
public Vector getTablas(Connection conexion)
{
Vector vectorTablas = new Vector();
Connection conn = null;
ResultSet rs = null;
ResultSet rsPKeys = null;
ResultSetMetaData rsMetaData = null;
try
{
/*
Obtengo los nombres de las tablas:
Si estan especificadas en el xml: getNombresTablasXML(elementoBD)
En caso contrario: getNombresAllTablasBDOracle( conn )
*/
String[] nombresTabla = null;
/*
Si no hay elementos <TABLA>, elementosTabla.getLength=0
y hay que tomar todas las tablas de la BD
*/
ObtenerTablasBDOracle tablasOracle = new ObtenerTablasBDOracle(conexion);
nombresTabla = tablasOracle.getNombresAllTablasBD();
//Voy a ir recorriendo las tablas y sus correspondientes campos
// vectorTablas = tablasOracle.getTablasBD(nombresTabla);
vectorTablas = tablasOracle.getTablasBD(nombresTabla, tipo);
return vectorTablas;
}
catch(Exception e)
{
System.err.println(e);
}
//devuelvo el vector de tablas
vectorTablas.trimToSize();
return vectorTablas;
}
/**
Parsea el XML y devuelve los nombres de las tablas especificadas
*/
private String[] getNombresTablasXML( NodeList elementosTabla )
{
String[] resultado = null;
Vector vectorNombres = new Vector();
//Busco los nombres de las tablas en el documento XML
Node nodo;
for( int k = 0; k < elementosTabla.getLength() ; k++ )
{
nodo = elementosTabla.item(k);
vectorNombres.addElement(((Element)nodo).getAttribute("name") );
}
//Tomo el array de Strings
vectorNombres.trimToSize();
resultado = new String[ vectorNombres.size() ];
vectorNombres.copyInto(resultado);
// devuelvo el resultado
return resultado;
}
}