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.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 {
private static final Logger LOGGER = LogManager.getLogger(SQLiteCalculoFondoDAO.class);
private ConnectionHolder connectionHolder;
public SQLiteCalculoFondoDAO() {
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
public List<CalculoFondo> getAll() {
LOGGER.info("Se intentara conseguir todos los CalculosFondo");
List<CalculoFondo> calculoFondoList = new ArrayList<>();
String query = "select * from calculo_fondo";
try (Connection conn = connectionHolder.getConnection()) {
@@ -72,11 +80,22 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException e) {
LOGGER.error("Error al intentar conseguir todos los CalculoFondo", e);
}
LOGGER.trace("Se encontraron " + calculoFondoList.size() + " CalculosFondo");
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
public List<CalculoFondo> getByCaja(Caja caja) {
LOGGER.info("Se intentara conseguir todos los calculos fondo de la caja " + caja);
List<CalculoFondo> calculoFondoList = new ArrayList<>();
if (Caja.EMPTY == caja) {
return calculoFondoList;
@@ -102,11 +121,19 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException 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;
}
/**
* 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
public Optional<CalculoFondo> getById(int id) {
LOGGER.info("Se intentara conseguir un CalculoFondo con id " + id);
CalculoFondo calculoFondo = null;
String query = "select * from calculo_fondo where id = ?";
try (Connection conn = connectionHolder.getConnection()) {
@@ -128,14 +155,25 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException 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);
}
/**
* 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
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;
if (Caja.EMPTY == caja) {
LOGGER.trace("La caja que se entrego era Caja.EMPTY");
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.trace("La suma conseguida de los CalculoFondo de la caja " + caja + " es " + 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
public void insertCalculoFondo(CalculoFondo calculoFondo) {
LOGGER.info("Se intentara insertar el calculoFondo " + calculoFondo);
String query = "insert into calculo_fondo (valor, descripcion, caja_id) values (?, ?, ?)";
try (Connection conn = connectionHolder.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement(query)) {
@@ -176,10 +222,18 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException 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
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 = ?";
try (Connection conn = connectionHolder.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement(query)) {
@@ -193,10 +247,17 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException 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
public void deleteCalculoFondo(CalculoFondo calculoFondo) {
LOGGER.info("Se intentara eliminar el CalculoFondo" + calculoFondo);
String query = "delete from calculo_fondo where id = ?";
try (Connection conn = connectionHolder.getConnection()) {
try (PreparedStatement ps = conn.prepareStatement(query)) {
@@ -206,5 +267,6 @@ public class SQLiteCalculoFondoDAO implements CalculoFondoDAO {
} catch (SQLException e) {
LOGGER.error("Error al intentar eliminar el CalculoFondo " + calculoFondo, e);
}
LOGGER.trace("El CalculoFondo " + calculoFondo + " fue eliminado de la base de datos");
}
}