/** * Añade un registro. * * @param dbCon Conexion a base de datos. * @throws Exception Si se produce algún error. */ public void nuevo(String entidad) throws Exception { DynamicTable tableInfo = new DynamicTable(); DynamicRows rowsInfo = new DynamicRows(); DynamicRow rowInfo = new DynamicRow(); FicheroHitoTabla table = new FicheroHitoTabla(); DbConnection dbConn = new DbConnection(); logger.debug("nuevo"); try { dbConn.open(DBSessionManager.getSession(entidad)); tableInfo.setTableObject(table); tableInfo.setClassName(FicheroHitoTabla.class.getName()); tableInfo.setTablesMethod("getNombreTabla"); tableInfo.setColumnsMethod("getNombresColumnas"); rowInfo.addRow(this); rowInfo.setClassName(FicheroHitoDatos.class.getName()); rowInfo.setValuesMethod("insertar"); rowsInfo.add(rowInfo); DynamicFns.insert(dbConn, tableInfo, rowsInfo); } catch (Exception exc) { throw new ConsultaExcepcion(ConsultaCodigosError.EC_INSERTAR_FICHERO, exc.getCause()); } finally { if (dbConn.existConnection()) dbConn.close(); } }
/** * Recupera de la base de datos los Ficheros adjuntos a un Hito. * * @param guidHito identificador del Hito. * @return FicherosHito Objeto de tipo ArrayList con los Ficheros * @throws ConsultaExcepcion Si se produce algún error. */ public FicherosHito obtenerFicherosHito(String guidHito, String entidad) throws ConsultaExcepcion { if (isDebugeable) logger.debug("obtenerFicherosHito >> Guid Hito: " + guidHito); FicherosHito ficheros = new FicherosHito(); FicheroHitoImpl fichero = null; FicheroHitoTabla tablaFicheros = new FicheroHitoTabla(); DynamicTable tableInfo = new DynamicTable(); DynamicRows rowsInfo = new DynamicRows(); DynamicRow rowInfo = new DynamicRow(); DbConnection dbConn = new DbConnection(); try { dbConn.open(DBSessionManager.getSession(entidad)); tableInfo.setTableObject(tablaFicheros); tableInfo.setClassName(FicheroHitoTabla.class.getName()); tableInfo.setTablesMethod("getNombreTabla"); tableInfo.setColumnsMethod("getNombresColumnas"); rowInfo.setClassName(FicheroHitoDatos.class.getName()); rowInfo.setValuesMethod("cargarColumnas"); rowInfo.addRow(this); rowsInfo.add(rowInfo); if (DynamicFns.selectMultiple( dbConn, tablaFicheros.getClausulaPorGuidHito(guidHito), false, tableInfo, rowsInfo)) { int size = rowInfo.getRowCount(); for (int counter = 1; counter < size; counter++) { fichero = (FicheroHitoImpl) rowInfo.getRow(counter); ficheros.add(fichero); } } } catch (Exception e) { throw new ConsultaExcepcion(ConsultaCodigosError.EC_OBTENER_HITOS_EXPEDIENTE, e.getCause()); } finally { try { if (dbConn.existConnection()) dbConn.close(); } catch (Exception ee) { DbException DbEx = new DbException(DbErrorCodes.CT_CERRAR_CONEXION); logger.warn(this, DbEx.getCause()); } } return ficheros; }