Documentacion de los validators

Ademas! cambie las instancias de String:isEmpty() por String:isBlank()
This commit is contained in:
Daniel Cortés
2019-07-08 12:55:11 -04:00
parent 66f0c20276
commit 30aa429616
22 changed files with 663 additions and 29 deletions

View File

@@ -1,4 +1,4 @@
look_and_feel = javax.swing.plaf.nimbus.NimbusLookAndFeel
look_and_feel=javax.swing.plaf.nimbus.NimbusLookAndFeel
#look_and_feel = javax.swing.plaf.metal.MetalLookAndFeel
#look_and_feel = com.sun.java.swing.plaf.motif.MotifLookAndFeel
#look_and_feel = com.sun.java.swing.plaf.gtk.GTKLookAndFeel

View File

@@ -149,4 +149,14 @@ public abstract class BaseRepository<E> {
this.em.getTransaction().commit();
}
/**
* Realiza una busqueda entre una serie de atributos de la entidad que en contengan un substring que coincida con <code>term</code>
*
* @param term Termino a buscar
* @return Una lista con todas las entidades que tenian algun atributo que contenian el substring term
*/
public List<E> search(String term) {
return null;
}
}

View File

@@ -11,6 +11,7 @@ public class ArrendarRepository extends BaseRepository<Arriendo> {
super(Arriendo.class);
}
@Override
public List<Arriendo> search(String term) {
TypedQuery<Arriendo> query = this.em.createQuery("SELECT o FROM Arriendo o WHERE "
+ " CONCAT(o.fechaArriendo, '') LIKE :term OR "

View File

@@ -9,6 +9,11 @@ import xyz.danielcortes.models.Trabajador;
public class ArriendoValidator {
/**
* Valida un cliente, basicamente comprobando si es nulo no
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateCliente(Cliente cliente) {
if (cliente == null) {
return new ValidationResult("No hay cliente");
@@ -17,6 +22,11 @@ public class ArriendoValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida un trabajador, basicamente comprobando si es nulo no
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateTrabajador(Trabajador trabajador) {
if (trabajador == null) {
return new ValidationResult("No hay trabajador, no deberia pasar!!!");
@@ -25,6 +35,16 @@ public class ArriendoValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una lista de ejemplares, comprobando que
* <ul>
* <li>No sea nulo </li>
* <li>Su tamaño sea mayor a 0</li>
* <li>Todos los ejemplares esten disponibles</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateEjemplares(List<Ejemplar> ejemplares) {
if (ejemplares == null) {
return new ValidationResult("No hay ejemplares, no deberia pasar!!!");
@@ -39,13 +59,35 @@ public class ArriendoValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una fecha, comprobando que:
* <ul>
* <li>No sea nula</li>
* <li>Sea al menos un dia despues de hoy</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateFechaDevolucion(LocalDate date) {
if(date == null) {
return new ValidationResult("No hay fecha de devolucion");
}
if (date.isBefore(LocalDate.now()) || date.isEqual(LocalDate.now())) {
return new ValidationResult("La fecha de devolucion debe ser al menos 1 dias despues de hoy");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un costo, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>Sea un numero</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateCosto(String costo) {
if (costo == null) {
return new ValidationResult("El costo es null");
@@ -62,6 +104,16 @@ public class ArriendoValidator {
}
}
/**
* Valida una multa, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>Sea un numero</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateMulta(String multa) {
if (multa == null) {
return new ValidationResult("La multa es null");

View File

@@ -12,33 +12,70 @@ public class AutorValidator {
this.autorRepository = autorRepository;
}
/**
* Valida un nombre, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateNombre(String nombre) {
if (nombre == null) {
return new ValidationResult("El nombre es nulo");
} else if (nombre.isEmpty()) {
} else if (nombre.isBlank()) {
return new ValidationResult("El nombre esta vacio");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un apellido, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateApellidoPaterno(String apellidoPaterno) {
if (apellidoPaterno == null) {
return new ValidationResult("El apellido paterno es nulo");
} else if (apellidoPaterno.isEmpty()) {
} else if (apellidoPaterno.isBlank()) {
return new ValidationResult("El apellido paterno esta vacio");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un apellido, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateApellidoMaterno(String apellidoMaterno) {
if (apellidoMaterno == null) {
return new ValidationResult("El apellido materno es nulo");
} else if (apellidoMaterno.isEmpty()) {
} else if (apellidoMaterno.isBlank()) {
return new ValidationResult("El apellido materno esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida el autor, comprobando que:
* <ul>
* <li>No sea nulo</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Autor original) {
if (original == null) {
return new ValidationResult("No hay Autor seleccionado");
@@ -46,6 +83,11 @@ public class AutorValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida que sea posible eliminar un autor, este no se puede eliminar si existen libros a su nombre
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult isDeleteable(Autor autor) {
if (!autor.getLibros().isEmpty()) {
return new ValidationResult("No se puede eliminar el autor ya que tiene libros asociados");

View File

@@ -12,15 +12,29 @@ public class CategoriaValidator {
this.categoriaRepository = categoriaRepository;
}
/**
* Valida un nombre, comprobando que:
* <ul>
* <li>No sea null</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateNombre(String nombre) {
if (nombre == null) {
return new ValidationResult("El nombre es nulo");
} else if (nombre.isEmpty()) {
} else if (nombre.isBlank()) {
return new ValidationResult("El nombre esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida que la categoria no sea nula
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Categoria categoria) {
if (categoria == null) {
return new ValidationResult("No hay categoria seleccionada");
@@ -28,6 +42,11 @@ public class CategoriaValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida que la categoria se pueda eliminar, esta no se puede eliminar cuando tiene libros asociados
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult isDeleteable(Categoria categoria) {
if (!categoria.getLibros().isEmpty()) {
return new ValidationResult("No se puede eliminar la categoria ya que tiene libros asociados");

View File

@@ -12,37 +12,75 @@ public class ClienteValidator {
this.clienteRespository = clienteRespository;
}
/**
* Valida un nombre, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateNombre(String nombre) {
if (nombre == null) {
return new ValidationResult("El nombre es nulo");
} else if (nombre.isEmpty()) {
} else if (nombre.isBlank()) {
return new ValidationResult("El nombre esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un apellidoPaterno, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateApellidoPaterno(String apellidoPaterno) {
if (apellidoPaterno == null) {
return new ValidationResult("El apellido paterno es nulo");
} else if (apellidoPaterno.isEmpty()) {
} else if (apellidoPaterno.isBlank()) {
return new ValidationResult("El apellido paterno esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un apellidoMaterno, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateApellidoMaterno(String apellidoMaterno) {
if (apellidoMaterno == null) {
return new ValidationResult("El apellido materno es nulo");
} else if (apellidoMaterno.isEmpty()) {
} else if (apellidoMaterno.isBlank()) {
return new ValidationResult("El apellido materno esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un rut, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>Su largo sea mayor que 4</li>
* <li>El checksum sea valido</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateRut(String rut) {
if (rut == null) {
return new ValidationResult("El rut es nulo");
} else if (rut.isEmpty()) {
} else if (rut.isBlank()) {
return new ValidationResult("El rut esta vacío");
} else if (rut.length() < 4) {
return new ValidationResult("El rut es muy corto");
@@ -54,6 +92,12 @@ public class ClienteValidator {
return ValidationResult.NON_ERROR;
}
/**
* Realiza el checksum mod11 de un rut
*
* @param rut rut a realizar el checksum
* @return si el checksum fue valido
*/
private boolean rutChecksum(String rut) {
char lastchar = rut.charAt(rut.length() - 1);
rut = rut.toLowerCase().replaceAll("[^\\dkK]", "");

View File

@@ -14,6 +14,14 @@ public class CompraValidator {
this.compraRepository = compraRepository;
}
/**
* Valida una factura, comprobando que:
* <ul>
* <li>No sea nula</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateFactura(Factura factura) {
if (factura == null) {
return new ValidationResult("No hay factura");
@@ -21,6 +29,14 @@ public class CompraValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida un distribuidor, comprobando que:
* <ul>
* <li>No sea nulo</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateDistribuidor(Distribuidor distribuidor) {
if (distribuidor == null) {
return new ValidationResult("No hay distribuidor");
@@ -28,6 +44,14 @@ public class CompraValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una compra, comprobando que:
* <ul>
* <li>No sea nula</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Compra original) {
if (original == null) {
return new ValidationResult("No hay compra seleccionda");

View File

@@ -12,6 +12,15 @@ public class CorreoValidator {
this.correoRepository = correoRepository;
}
/**
* Valida un string de correo, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateCorreo(String correo) {
if (correo == null) {
return new ValidationResult("El correo es nulo");
@@ -21,6 +30,14 @@ public class CorreoValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida un correo, comprobando que:
* <ul>
* <li>No sea nulo</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Correo original) {
if (original == null) {
return new ValidationResult("El correo seleccionado no existe");

View File

@@ -12,24 +12,50 @@ public class DireccionValidator {
this.direccionRepository = direccionRepository;
}
/**
* Valida una calle, comprobando que:
* <ul>
* <li>No sea nula</li>
* <li>No este vacia</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateCalle(String calle) {
if (calle == null) {
return new ValidationResult("La calle es nula");
} else if (calle.isEmpty()) {
} else if (calle.isBlank()) {
return new ValidationResult("La calle esta vacia");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un numero, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateNumero(String numero) {
if (numero == null) {
return new ValidationResult("La calle es nula");
} else if (numero.isEmpty()) {
return new ValidationResult("La calle esta vacia");
return new ValidationResult("El numero es nulo");
} else if (numero.isBlank()) {
return new ValidationResult("El numero esta vacio");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida una direccion, comprobando que:
* <ul>
* <li>No sea nula</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Direccion original) {
if (original == null) {
return new ValidationResult("El abstract_direccion seleccionada no existe");

View File

@@ -13,10 +13,21 @@ public class DistribuidorValidator {
this.distribuidorRepository = distribuidorRepository;
}
/**
* Valida un rut, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>Su largo sea mayor que 4</li>
* <li>El checksum sea valido</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateRut(String rut) {
if (rut == null) {
return new ValidationResult("El rut es nulo");
} else if (rut.isEmpty()) {
} else if (rut.isBlank()) {
return new ValidationResult("El rut esta vacío");
} else if (rut.length() < 4) {
return new ValidationResult("El rut es muy corto");
@@ -28,6 +39,12 @@ public class DistribuidorValidator {
return ValidationResult.NON_ERROR;
}
/**
* Realiza el checksum mod11 de un rut
*
* @param rut rut a realizar el checksum
* @return si el checksum fue valido
*/
private boolean rutChecksum(String rut) {
char lastchar = rut.charAt(rut.length() - 1);
rut = rut.toLowerCase().replaceAll("[^\\dkK]", "");
@@ -52,6 +69,14 @@ public class DistribuidorValidator {
return lastchar == digitoVerificador;
}
/**
* Valida una empresa, comprobando que:
* <ul>
* <li>No sea nula</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateEmpresa(Empresa empresa) {
if (empresa == null) {
return new ValidationResult("La empresa no existe");
@@ -59,6 +84,14 @@ public class DistribuidorValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida un distribuidor, comprobando que:
* <ul>
* <li>No sea nulo</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Distribuidor distribuidor) {
if (distribuidor == null) {
return new ValidationResult("El distribuidor es nulo");

View File

@@ -12,6 +12,15 @@ public class EditorialValidator {
this.editorialRepository = editorialRepository;
}
/**
* Valida un nombre, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateNombre(String nombre) {
if (nombre == null) {
return new ValidationResult("El nombre es nulo");
@@ -21,6 +30,14 @@ public class EditorialValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una editorial, comprobando que:
* <ul>
* <li>No sea nula</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Editorial original) {
if (original == null) {
return new ValidationResult("No hay Editorial seleccionada");
@@ -28,6 +45,11 @@ public class EditorialValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida si una editorial puede eliminarse, esta solo se puede eliminar cuando no tiene libros asociados
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult isDeleteable(Editorial editorial) {
if (!editorial.getLibros().isEmpty()) {
return new ValidationResult("No se puede eliminar la editorial ya que tiene libros asociados");

View File

@@ -13,11 +13,22 @@ public class EjemplarValidator {
this.ejemplarRepository = ejemplarRepository;
}
/**
* Valida una serie, comprobando que:
* <ul>
* <li>No sea nula</li>
* <li>No este vacia</li>
* <li>No exista un ejemplar ya guardado que tenga la misma serie</li>
* <li>No exista un ejemplar dentro de la lista entregada que tenga la misma serie y no sea el mismo</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateSerie(Ejemplar ejemplar, List<Ejemplar> ejemplares) {
if (ejemplar.getSerie() == null) {
return new ValidationResult("La serie del libro " + ejemplar.getLibro().toString() + " es nula");
}
if (ejemplar.getSerie().isEmpty()) {
if (ejemplar.getSerie().isBlank()) {
return new ValidationResult("La serie del libro " + ejemplar.getLibro().toString() + " esta vacia");
}
if (this.ejemplarRepository.exists(ejemplar.getSerie(), ejemplar.getLibro().getId())) {

View File

@@ -12,16 +12,33 @@ public class EmpresaValidator {
this.empresaRespository = empresaRespository;
}
/**
* Valida un nombre, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateNombre(String nombre) {
if (nombre == null) {
return new ValidationResult("El nombre es nulo");
} else if (nombre.isEmpty()) {
} else if (nombre.isBlank()) {
return new ValidationResult("El nombre esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida una empresa, comprobando que:
* <ul>
* <li>No sea nula</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Empresa empresa) {
if (empresa == null) {
return new ValidationResult("El empresa es nula");

View File

@@ -12,6 +12,15 @@ public class FacturaValidator {
this.facturaRepository = facturaRepository;
}
/**
* Valida un folio, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateFolio(String folio) {
if (folio == null) {
return new ValidationResult("La folio es nulo");
@@ -23,6 +32,16 @@ public class FacturaValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida un precio, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>sea un numero</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validatePrecio(String precioNeto) {
if (precioNeto == null) {
return new ValidationResult("El precio neto es nulo");
@@ -39,6 +58,14 @@ public class FacturaValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una fecha de emision, comprobando que:
* <ul>
* <li>No sea nula</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateFechaEmision(LocalDate fechaEmision) {
if (fechaEmision == null) {
return new ValidationResult("La fecha emision es nula");

View File

@@ -13,6 +13,14 @@ public class IdiomaValidator {
}
/**
* Valida un idioma, comprobando que:
* <ul>
* <li>No sea nulo</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Idioma original) {
if (original == null) {
return new ValidationResult("No hay Idioma seleccionado");
@@ -20,15 +28,32 @@ public class IdiomaValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida un nombre, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateNombre(String nombre) {
if (nombre == null) {
return new ValidationResult("El nombre es nulo");
} else if (nombre.isEmpty()) {
} else if (nombre.isBlank()) {
return new ValidationResult("El nombre esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida que un idoma se pueda eliminar, comprobando que:
* <ul>
* <li>No tenga libros asociados</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult isDeleteable(Idioma idioma) {
if (!idioma.getLibros().isEmpty()) {
return new ValidationResult("No se puede eliminar el idioma ya que tiene libros asociados");

View File

@@ -19,6 +19,14 @@ public class LibroValidator {
this.libroRepository = libroRepository;
}
/**
* Valida un libro, comprobando que:
* <ul>
* <li>No sea nulo</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateLibro(Libro libro) {
if (libro == null) {
return new ValidationResult("No hay Libro seleccionado");
@@ -26,15 +34,28 @@ public class LibroValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida un ISBN, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>Que si su largo es 13 el checksum de ISBN13 sea valido</li>
* <li>Que si su largo es 10 el checksum de ISBN10 sea valido</li>
* <li>Que su laro sea de 10 o 13</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateISBN(String isbn) {
if (isbn == null) {
return new ValidationResult("El ISBN es nulo");
}
if (isbn.isEmpty()) {
if (isbn.isBlank()) {
return new ValidationResult("El ISBN esta vacio");
}
isbn = isbn.replaceAll("[^\\d]", "");
if ((isbn.length() == 13 && !this.ISBN13CheckSum(isbn))
|| (isbn.length() == 10 && !this.ISBN10CheckSum(isbn))
|| (isbn.length() != 10 && isbn.length() != 13)) {
@@ -43,6 +64,12 @@ public class LibroValidator {
return ValidationResult.NON_ERROR;
}
/**
* Realiza el checksum sobre un ISBN de largo 13
*
* @param isbn ISBN al que realizarle el checksum
* @return Si la validacion fue correcta
*/
private boolean ISBN13CheckSum(String isbn) {
if (isbn.length() != 13)
return false;
@@ -66,6 +93,12 @@ public class LibroValidator {
return (10 - (sum % 10) == last - '0');
}
/**
* Realiza el checksum sobre un ISBN de largo 10
*
* @param isbn ISBN al que realizarle el checksum
* @return Si la validacion fue correcta
*/
private boolean ISBN10CheckSum(String isbn) {
if (isbn.length() != 10)
return false;
@@ -90,21 +123,40 @@ public class LibroValidator {
return (sum % 11 == 0);
}
/**
* Valida un titulo, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateTitulo(String titulo) {
if (titulo == null) {
return new ValidationResult("El titulo es nulo");
}
if (titulo.isEmpty()) {
if (titulo.isBlank()) {
return new ValidationResult("El titulo esta vacio");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida el numero de paginas, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>Sea un numero</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateNumeroPaginas(String numeroPaginas) {
if (numeroPaginas == null) {
return new ValidationResult("El numero de paginas es nulo");
}
if (numeroPaginas.isEmpty()) {
if (numeroPaginas.isBlank()) {
return new ValidationResult("El numero de paginas esta vacio");
}
if (!GeneralValidator.isInteger(numeroPaginas)) {
@@ -113,6 +165,16 @@ public class LibroValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida el precio de referencia, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>Sea un numero</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validatePrecioReferencia(String precioReferencia) {
if (precioReferencia == null) {
return new ValidationResult("El precio referencial es nulo");
@@ -127,6 +189,17 @@ public class LibroValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida el año de publicacion, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>Sea un numero</li>
* <li>Sea un año</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateAnoPublicacion(String anoPublicacion) {
if (anoPublicacion == null) {
return new ValidationResult("El año de publicacion es nulo");
@@ -143,6 +216,15 @@ public class LibroValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una lista de idiomas, comprobando que:
* <ul>
* <li>No este vacia</li>
* <li>Ninguno sea null</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateIdiomas(List<Idioma> idiomas) {
if (idiomas.isEmpty()) {
return new ValidationResult("No hay idiomas seleccionados");
@@ -154,6 +236,15 @@ public class LibroValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una lista de autores, comprobando que:
* <ul>
* <li>No este vacia</li>
* <li>Ninguno sea null</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateAutores(List<Autor> autores) {
if (autores.isEmpty()) {
return new ValidationResult("No hay autores seleccionados");
@@ -165,6 +256,15 @@ public class LibroValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una lista de categorias, comprobando que:
* <ul>
* <li>No este vacia</li>
* <li>Ninguno sea null</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateCategorias(List<Categoria> categorias) {
if (categorias.isEmpty()) {
return new ValidationResult("No hay categorias seleccionadas");
@@ -176,6 +276,14 @@ public class LibroValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una editorial, comprobando que:
* <ul>
* <li>No sea nula</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateEditorial(Editorial editorial) {
if (editorial == null) {
return new ValidationResult("No hay editorial seleccionada");
@@ -183,5 +291,4 @@ public class LibroValidator {
return ValidationResult.NON_ERROR;
}
}

View File

@@ -8,6 +8,16 @@ import xyz.danielcortes.models.Libro;
public class OrdenCompraValidator {
/**
* Valida un estado, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>Sea igual a "En Curso", "Recibida" o "Cancelada"</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateEstado(String estado) {
if (estado == null) {
return new ValidationResult("No hay estado");
@@ -27,6 +37,16 @@ public class OrdenCompraValidator {
}
}
/**
* Valida una lista de libros, comprobando que:
* <ul>
* <li>No sea nula</li>
* <li>No este vacia</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateLibros(List<Libro> libros) {
if (libros == null || libros.isEmpty()) {
return new ValidationResult("No hay libros");
@@ -34,6 +54,14 @@ public class OrdenCompraValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida un distribuidor, comprobando que:
* <ul>
* <li>No sea nulo</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateDistribuidor(Distribuidor distribuidor) {
if (distribuidor == null) {
return new ValidationResult("No hay distribuidor");
@@ -41,6 +69,14 @@ public class OrdenCompraValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una compra, comprobando que:
* <ul>
* <li>No sea nula</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateCompra(Compra compra) {
if (compra == null) {
return new ValidationResult("No hay compra");

View File

@@ -12,18 +12,35 @@ public class TelefonoValidator {
this.telefonoRepository = telefonoRepository;
}
/**
* Valida un string de telefono, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateTelefono(String telefono) {
if (telefono == null) {
return new ValidationResult("El abstract_telefono es nulo");
return new ValidationResult("El telefono es nulo");
} else if (telefono.isEmpty()) {
return new ValidationResult("El abstract_telefono esta vacio");
return new ValidationResult("El telefono esta vacio");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un telefono, comprobando que:
* <ul>
* <li>No sea nulo</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Telefono original) {
if (original == null) {
return new ValidationResult("El abstract_telefono seleccionado no existe");
return new ValidationResult("El telefono seleccionado no existe");
}
return ValidationResult.NON_ERROR;
}

View File

@@ -12,37 +12,75 @@ public class TrabajadorValidator {
this.trabajadorRespository = trabajadorRespository;
}
/**
* Valida un nombre, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateNombre(String nombre) {
if (nombre == null) {
return new ValidationResult("El nombre es nulo");
} else if (nombre.isEmpty()) {
} else if (nombre.isBlank()) {
return new ValidationResult("El nombre esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un apellidoPaterno, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateApellidoPaterno(String apellidoPaterno) {
if (apellidoPaterno == null) {
return new ValidationResult("El apellido paterno es nulo");
} else if (apellidoPaterno.isEmpty()) {
} else if (apellidoPaterno.isBlank()) {
return new ValidationResult("El apellido paterno esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un apellidoMaterno, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateApellidoMaterno(String apellidoMaterno) {
if (apellidoMaterno == null) {
return new ValidationResult("El apellido materno es nulo");
} else if (apellidoMaterno.isEmpty()) {
} else if (apellidoMaterno.isBlank()) {
return new ValidationResult("El apellido materno esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida un rut, comprobando que:
* <ul>
* <li>No sea nulo</li>
* <li>No este vacio</li>
* <li>Su largo sea mayor que 4</li>
* <li>El checksum sea valido</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateRut(String rut) {
if (rut == null) {
return new ValidationResult("El rut es nulo");
} else if (rut.isEmpty()) {
} else if (rut.isBlank()) {
return new ValidationResult("El rut esta vacío");
} else if (rut.length() < 4) {
return new ValidationResult("El rut es muy corto");
@@ -54,6 +92,12 @@ public class TrabajadorValidator {
return ValidationResult.NON_ERROR;
}
/**
* Realiza el checksum mod11 de un rut
*
* @param rut rut a realizar el checksum
* @return si el checksum fue valido
*/
private boolean rutChecksum(String rut) {
char lastchar = rut.charAt(rut.length() - 1);
rut = rut.toLowerCase().replaceAll("[^\\dkK]", "");
@@ -77,6 +121,13 @@ public class TrabajadorValidator {
return lastchar == digitoVerificador;
}
/**
* Valida la fecha de contrato, comprobando que:
* <ul>
* <li>No sea nula</li>
* </ul>
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateFechaContrato(LocalDate date) {
if (date == null) {
return new ValidationResult("La fecha es nula");

View File

@@ -12,15 +12,34 @@ public class UsuarioValidator {
this.usuarioRepository = usuarioRepository;
}
/**
* Valida el nombre de usuario, comprobando que:
* <ul>
* <li>No sea null</li>
* <li>No este vacio</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateUsername(String username) {
if (username == null) {
return new ValidationResult("El nombre de usuario es nulo");
} else if (username.isEmpty()) {
} else if (username.isBlank()) {
return new ValidationResult("El nombre de usuario esta vacío");
}
return ValidationResult.NON_ERROR;
}
/**
* Valida una contraseña, comprobando que:
* <ul>
* <li>No sea null</li>
* <li>No este vacia</li>
* <li>Tenga mas de 6 caracteres</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validatePassword(char[] password) {
if (password == null) {
return new ValidationResult("La contraseña es nula");
@@ -32,6 +51,14 @@ public class UsuarioValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida un usuario, comprobando que:
* <ul>
* <li>No sea null</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateOriginal(Usuario usuario) {
if (usuario == null) {
return new ValidationResult("El usuario no existe");

View File

@@ -8,6 +8,14 @@ import xyz.danielcortes.models.Trabajador;
public class VentaValidator {
/**
* Valida un cliente, comprobando que:
* <ul>
* <li>No sea null</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateCliente(Cliente cliente) {
if (cliente == null) {
return new ValidationResult("No hay cliente");
@@ -16,6 +24,14 @@ public class VentaValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida un trabajador, comprobando que:
* <ul>
* <li>No sea null</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateTrabajador(Trabajador trabajador) {
if (trabajador == null) {
return new ValidationResult("No hay trabajador, no deberia pasar!!!");
@@ -24,6 +40,16 @@ public class VentaValidator {
return ValidationResult.NON_ERROR;
}
/**
* Valida una lista de ejemplares, comprobando que:
* <ul>
* <li>No sea null</li>
* <li>No este vacia</li>
* <li>Todos esten disponibles</li>
* </ul>
*
* @return <code>ValidationResult</code> conteniendo si la validacion fallo o no, con un mensaje indicando cual fue el error
*/
public ValidationResult validateEjemplares(List<Ejemplar> ejemplares) {
if (ejemplares == null) {
return new ValidationResult("No hay ejemplares, no deberia pasar!!!");