Se comento y agregaro logs a la clase

This commit is contained in:
Daniel Cortes
2019-03-09 16:06:43 -03:00
parent 26ec581f72
commit 52ce4708d1

View File

@@ -38,18 +38,26 @@ import java.util.Optional;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
/**
* Objeto DAO que realiza las querys y mapeos necesarios del objeto CalculoFondo
* En especifico esta implementacion se comunica con la base de datos SQLite
*/
public class SQLiteCalculoFondoDAO implements CalculoFondoDAO { public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
private static final Logger LOGGER = LogManager.getLogger(SQLiteCalculoFondoDAO.class); private static final Logger LOGGER = LogManager.getLogger(SQLiteCalculoFondoDAO.class);
private ConnectionHolder connectionHolder; private ConnectionHolder connectionHolder;
public SQLiteCalculoFondoDAO() { public SQLiteCalculoFondoDAO() {
this.connectionHolder = new SQLiteConnectionHolder(); this.connectionHolder = new SQLiteConnectionHolder();
} }
/**
* Obtiene todas las instancias de CalculoFondo existentes en la base de datos, las
* cuales mapea a el objeto CalculoFondo y devuelve una lista con todos estos
* @return Una lista con todos las instancias de CalculoFondo en la base de datos
*/
@Override @Override
public List<CalculoFondo> getAll() { public List<CalculoFondo> getAll() {
LOGGER.info("Se intentara conseguir todos los CalculosFondo");
List<CalculoFondo> calculoFondoList = new ArrayList<>(); List<CalculoFondo> calculoFondoList = new ArrayList<>();
String query = "select * from calculo_fondo"; String query = "select * from calculo_fondo";
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
@@ -72,11 +80,22 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar conseguir todos los CalculoFondo", e); LOGGER.error("Error al intentar conseguir todos los CalculoFondo", e);
} }
LOGGER.trace("Se encontraron " + calculoFondoList.size() + " CalculosFondo");
return calculoFondoList; return calculoFondoList;
} }
/**
* Obtiene todas las instancias de CalculoFondo que estan relacionadas a una caja.
* En caso que la caja entregada sea igual a Caja.EMPTY, se retornara automaticamente
* una lista vacia sin realizar ninguna query.
*
* @param caja Instancia de una caja existente en la base de datos, o que al menos
* tenga un id que exista en ella.
* @return Una lista de todos los CalculoFondo de la caja entregada
*/
@Override @Override
public List<CalculoFondo> getByCaja(Caja caja) { public List<CalculoFondo> getByCaja(Caja caja) {
LOGGER.info("Se intentara conseguir todos los calculos fondo de la caja " + caja);
List<CalculoFondo> calculoFondoList = new ArrayList<>(); List<CalculoFondo> calculoFondoList = new ArrayList<>();
if (Caja.EMPTY == caja) { if (Caja.EMPTY == caja) {
return calculoFondoList; return calculoFondoList;
@@ -102,11 +121,19 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar conseguir los CalculoFondo de la caja " + caja, e); LOGGER.error("Error al intentar conseguir los CalculoFondo de la caja " + caja, e);
} }
LOGGER.trace("Se consiguieron " + calculoFondoList.size() + "CalculoFondo pertencientes a la caja " + caja);
return calculoFondoList; return calculoFondoList;
} }
/**
* Obtiene una instancia de CalculoFondo desde la base de datos
* @param id el id de la fila de CalculoFondo en la base de datos
* @return Un optional que puede estar vacio, dado que no es 100% seguro que el id
* entregado sea valido o exista en la base de datos.
*/
@Override @Override
public Optional<CalculoFondo> getById(int id) { public Optional<CalculoFondo> getById(int id) {
LOGGER.info("Se intentara conseguir un CalculoFondo con id " + id);
CalculoFondo calculoFondo = null; CalculoFondo calculoFondo = null;
String query = "select * from calculo_fondo where id = ?"; String query = "select * from calculo_fondo where id = ?";
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
@@ -128,14 +155,25 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar conseguir un CalculoFondo por su id " + id, e); LOGGER.error("Error al intentar conseguir un CalculoFondo por su id " + id, e);
} }
LOGGER.trace("El calculoFondo que se consiguio es " + calculoFondo);
return Optional.ofNullable(calculoFondo); return Optional.ofNullable(calculoFondo);
} }
/**
* Obtiene la suma de los valores de CalculoFondo de una caja.
* En caso que la caja sea igual a Caja.EMPY, se retornara automaticamente 0 sin
* realizar ninguna query.
* @param caja Instancia de una caja existente en la base de datos, o que al menos
* tenga un id que exista.
* @return La suma de los valores de CalculoFondo en la caja entregada.
*/
@Override @Override
public int getTotalCalculoFondo(Caja caja) { public int getTotalCalculoFondo(Caja caja) {
LOGGER.info("Se intentara conseguir la suma de los valores de los CalculosFondo de la caja " + caja);
int sum = 0; int sum = 0;
if (Caja.EMPTY == caja) { if (Caja.EMPTY == caja) {
LOGGER.trace("La caja que se entrego era Caja.EMPTY");
return sum; return sum;
} }
@@ -153,11 +191,19 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
LOGGER.error("Error al intentar conseguir el total de calculo fondo de la caja " + caja, e); LOGGER.error("Error al intentar conseguir el total de calculo fondo de la caja " + caja, e);
} }
LOGGER.trace("La suma conseguida de los CalculoFondo de la caja " + caja + " es " + sum);
return sum; return sum;
} }
/**
* Inserta en la base de datos una instancia de CalculoFondo nueva.
* Una vez que sea insertado, se le agrega un id al objeto entregado.
* @param calculoFondo instancia que se insertara.
*/
@Override @Override
public void insertCalculoFondo(CalculoFondo calculoFondo) { public void insertCalculoFondo(CalculoFondo calculoFondo) {
LOGGER.info("Se intentara insertar el calculoFondo " + calculoFondo);
String query = "insert into calculo_fondo (valor, descripcion, caja_id) values (?, ?, ?)"; String query = "insert into calculo_fondo (valor, descripcion, caja_id) values (?, ?, ?)";
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement(query)) { try (PreparedStatement ps = conn.prepareStatement(query)) {
@@ -176,10 +222,18 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar insertar el CalculoFondo " + calculoFondo, e); LOGGER.error("Error al intentar insertar el CalculoFondo " + calculoFondo, e);
} }
LOGGER.trace("Se inserto el calculoFondo " + calculoFondo);
} }
/**
* Actualiza un calculo fondo existente en la base de datos.
* La instancia que se actualizara sera la del id que tenga el objeto entregado.
* @param calculoFondo instancia de CalculoFondo a ser actualizada.
*/
@Override @Override
public void updateCalculoFondo(CalculoFondo calculoFondo) { public void updateCalculoFondo(CalculoFondo calculoFondo) {
LOGGER.info("Se intentara actualizar el CalculoFondo " + calculoFondo);
String query = "update calculo_fondo set valor = ?, descripcion = ?, caja_id = ? where id = ?"; String query = "update calculo_fondo set valor = ?, descripcion = ?, caja_id = ? where id = ?";
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement(query)) { try (PreparedStatement ps = conn.prepareStatement(query)) {
@@ -193,10 +247,17 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar actualizar el CalculoFondo " + calculoFondo, e); LOGGER.error("Error al intentar actualizar el CalculoFondo " + calculoFondo, e);
} }
LOGGER.trace("Se actualizo el CalculoFondo " + calculoFondo);
} }
/**
* Elimina de la base de datos el objeto CalculoFondo entregado.
* La instancia en especifico sera la del id del objeto entregado
* @param calculoFondo instancia de CalculoFondo a eliminar.
*/
@Override @Override
public void deleteCalculoFondo(CalculoFondo calculoFondo) { public void deleteCalculoFondo(CalculoFondo calculoFondo) {
LOGGER.info("Se intentara eliminar el CalculoFondo" + calculoFondo);
String query = "delete from calculo_fondo where id = ?"; String query = "delete from calculo_fondo where id = ?";
try (Connection conn = connectionHolder.getConnection()) { try (Connection conn = connectionHolder.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement(query)) { try (PreparedStatement ps = conn.prepareStatement(query)) {
@@ -206,5 +267,6 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException e) { } catch (SQLException e) {
LOGGER.error("Error al intentar eliminar el CalculoFondo " + calculoFondo, e); LOGGER.error("Error al intentar eliminar el CalculoFondo " + calculoFondo, e);
} }
LOGGER.trace("El CalculoFondo " + calculoFondo + " fue eliminado de la base de datos");
} }
} }