Actions
Feature #1440
openModificaciones a fuentes de Evaluación
Start date:
12/18/2025
Due date:
% Done:
100%
Estimated time:
Description
Modificaciones a fuentes de Evaluación¶
Quitar "WEB-INF.classes." del paquete
Es un efecto indeseable de la ingenieria inversa¶
package WEB-INF.classes.<paquete>;→
package <paquete>;
Conflicto java.util.Date y java.sql.Date¶
Comentar:
import java.sql.Date;
Para que sólo quede:
import java.util.Date;
Modificar creacion de conexion a base de datos de try a try-with-resource¶
Obviamente respetar el query y externalizar a una variable)
try (Conexion con = new Conexion();
Connection conn = con.ConexionDB_06();
CallableStatement cs = conn.prepareCall("{call sp_buscar_Ciudad (?,?,?)} ")) {
a:
String consulta = "SELECT CL_PAIS, NB_PAIS, CL_CVE_RENAPO FROM C_PAIS WHERE CL_PAIS != 0";
try ( Connection conn = Conexion.ConexionDB_06();
PreparedStatement pst = conn.prepareStatement(consulta);
) {
Quitar cierres de conexión¶
(puede que esté combinado con el resultset)
finally {
if (conn != null)
try {
conn.close();
} catch (SQLException er) {
er.printStackTrace();
}
}
Se quitará porque el try-with-resources cierra automáticamente
Y los resultset de try a try-with-resource¶
Tiene que ser uno distinto la de arriba
ResultSet resultSet = null;
...
if (call.execute()) {
resultSet = call.getResultSet();
...
}
a:
if (call.execute())
try ( ResultSet resultSet = call.getResultSet(); ){
...
} // si tiene un catch () hay que respetarlo
y quitar los cierres tambien¶
Puede que esté combinado con la conexion
finally {
if (resultSet != null)
try {
resultSet.close();
} catch (SQLException er) {
er.printStackTrace();
}
}
Se quitará porque el try-with-resources cierra automáticamente
Mapper a minusculas¶
private static final ObjectMapper MAPPER = new ObjectMapper();
a
private static final ObjectMapper mapper = new ObjectMapper();
Cambiar de json.simple a Jackson¶
Sería mejor cambiar a un DTO (data transfer object), pero por falta de tiempo lo dejaremos con estructuras genéricas.
Borrar:
import org.json.simple.JSONObject;
Cambiar:
JSONObject js = new JSONObject();
...
js.toJSONString();
a
ObjectNode js = MAPPER.createObjectNode();
...
response.getWriter().println(MAPPER.writeValueAsString(err));
Loggers (poner getClass(), excepto en loggers que sean estáticos)¶
Comentar:
import java.util.logging.Level;
import java.util.logging.Logger;
Agregar:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Cambiar:
private static final Logger logger = LoggerFactory.getLogger(*Registro_Can.class.getName()*);
por:
private static final Logger logger = LoggerFactory.getLogger(getClass());
Logging statements en métodos¶
Es importante que TODOS tengan un mensaje.
Sustituir:
Logger.getLogger(Controller.ServletBusquedaGralAsp.class.getName()).log(Level.SEVERE, (String)null, ex);
por:
logger.info("<nombre del metodo> <mensaje> {} {}", variable1, variable2);
Las variables se ponen entre "{}" (uno por variable y se pueden intercalar en el texto)
Si es error (por ejemplo en un catch):¶
logger.error("<nombre del metodo> <mensaje> {} {} ...", variable1, variable2, ..., ex);
Las variables se ponen entre "{}" (uno por variable y se pueden intercalar en el texto). la excepción final no requiere "{}".
Cambiar servlet de javax a jakarta¶
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
a
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
logging warn en metodos copiados¶
En los métodos que se copiaron de la versión anterior, hay que ponerle un logger.warn indicando eso, por si hay errores
Updated by Miguel Ruiz Velasco 2 months ago
- Status changed from New to In Progress
Updated by Francisco Villegas about 2 months ago
- Status changed from In Progress to Resolved
- % Done changed from 0 to 100
Actions