Project

General

Profile

Actions

Feature #1440

open

Modificaciones a fuentes de Evaluación

Added by Miguel Ruiz Velasco 14 days ago. Updated 5 days ago.

Status:
In Progress
Priority:
Normal
Start date:
12/18/2025
Due date:
% Done:

0%

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

Actions

Also available in: Atom PDF