diff --git a/dist/Programa Caja.jar b/dist/Programa Caja.jar index abcac87..dad3fe1 100644 Binary files a/dist/Programa Caja.jar and b/dist/Programa Caja.jar differ diff --git a/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java b/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java index 70d5a9d..669c76a 100644 --- a/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java +++ b/src/danielcortes/xyz/models/caja/SQLiteCajaDAO.java @@ -36,6 +36,10 @@ import java.util.Optional; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +/** + * Objeto DAO que realiza las querys y mapeos necesarios del objeto Caja + * En especifico esta implementacion se comunica con la base de datos SQLite + */ public class SQLiteCajaDAO implements CajaDAO { private static final Logger LOGGER = LogManager.getLogger(SQLiteCajaDAO.class); private SQLiteConnectionHolder connectionHolder; @@ -44,8 +48,14 @@ public class SQLiteCajaDAO implements CajaDAO { this.connectionHolder = new SQLiteConnectionHolder(); } + /** + * Obtiene todas las instancias de Caja en la base de datos, las cuales mapea al objeto + * Caja y devuelve una lista con todos estos + * @return Una lista con todas las instancias de Caja en la base de datos + */ @Override public List getAll() { + LOGGER.info("Se intentara conseguir todas las Cajas"); List cajaList = new ArrayList<>(); try (Connection conn = connectionHolder.getConnection()) { String query = "select * from caja"; @@ -63,12 +73,20 @@ public class SQLiteCajaDAO implements CajaDAO { } catch (SQLException e) { LOGGER.error("Error al intentar obtener todas las Cajas", e); } - + LOGGER.trace("Se encontraron " + cajaList.size() + " cajas"); return cajaList; } + + /** + * Obtiene una instancia de Caja desde la base de datos + * @param id el id de la fila de Caja en la base de datos + * @return Un optional conteniendo la caja y el cual puede estar vacio, dado que no es 100% seguro que el id + * entregado sea valido o exista en la base de datos + */ @Override public Optional getById(int id) { + LOGGER.info("Se intentara conseguir una Caja con el id " + id); Caja caja = null; String query = "select * from caja where id = ?"; try (Connection conn = connectionHolder.getConnection()) { @@ -86,11 +104,19 @@ public class SQLiteCajaDAO implements CajaDAO { } catch (SQLException e) { LOGGER.error("Error al intentar conseguir la caja con id " + id, e); } + LOGGER.trace("La caja que se consigio es " + caja); return Optional.ofNullable(caja); } + /** + * Obtiene una instancia de caja dada su fecha. + * @param fecha Fecha a la cual corresponde la caja + * @return Un optional conteniendo la caja y el cual puede estar vacio, dado que no es 100% + * seguro que la fecha entregada corresponda a una caja en la base de datos + */ @Override public Optional getByFecha(LocalDate fecha) { + LOGGER.info("Se intentara conseguir la caja con fecha " + fecha); Caja caja = null; String query = "select * from caja where fecha = ?"; try (Connection conn = connectionHolder.getConnection()) { @@ -108,11 +134,17 @@ public class SQLiteCajaDAO implements CajaDAO { } catch (SQLException e) { LOGGER.error("Error al intentar conseguir la caja con fecha " + fecha, e); } + LOGGER.trace("Se consiguio la caja " + caja); return Optional.ofNullable(caja); } + /** + * Inserta en la base de datos una instancia de Caja nueva. + * @param caja La caja a insertar, una vez que ocurra, se le otorgara un id. + */ @Override public void insert(Caja caja) { + LOGGER.info("Se intentara insertar la caja " + caja); String query = "insert into caja (fecha, fondo) values (?, ?)"; try (Connection conn = connectionHolder.getConnection()) { try (PreparedStatement ps = conn.prepareStatement(query)) { @@ -131,10 +163,16 @@ public class SQLiteCajaDAO implements CajaDAO { } catch (SQLException e) { LOGGER.error("Error al intentar insertar la caja " + caja, e); } + LOGGER.trace("Se inserto al caja " + caja); } + /** + * Actualiza una caja existente en la base de datos + * @param caja La caja a actualizar. + */ @Override public void update(Caja caja) { + LOGGER.info("Se intentara actualizar la caja " + caja); String query = "update caja set fecha = ?, fondo = ? where id = ?"; try (Connection conn = connectionHolder.getConnection()) { try (PreparedStatement ps = conn.prepareStatement(query)) { @@ -146,5 +184,6 @@ public class SQLiteCajaDAO implements CajaDAO { } catch (SQLException e) { LOGGER.error("Error al intentar actualizar la caja " + caja, e); } + LOGGER.trace("Se actualizo la caja " + caja); } }