domingogallardo / mads-todolist-inicial-playframework Goto Github PK
View Code? Open in Web Editor NEWVersión inicial de la práctica de la asignatura MADS
License: Other
Versión inicial de la práctica de la asignatura MADS
License: Other
Trata de los métodos 'addUsuarioEquipo' y 'deleteUsuarioEquipo' de la clase 'JPAEquipoRepository'.
El problema era que el método 'merge' del entity manager también actualiza la base de datos. Si nos pasan un equipo o un usuario con alguna modificación (o algún campo sin rellenar) se propagaría a la base de datos. No es correcto, lo que hay que hacer es un 'find' para recuperar el equipo y el usuario de la BD.
Debería ser posible cambiar el fichero de configuración que se usa al lanzar tests o run en sbt
.
Si construimos un ArrayList o un Set de usuarios no funcionan los métodos de búsqueda. El equals se debe basar en el identificador, suponemos que las listas o conjuntos de usuarios son usuarios recuperados de la base de datos.
Probando la visualización de la tabla de tareas, se puede comprobar que el método getTitulo() devuelve null.
Historia de usuario: SGT-1 Login
Al realizar el registro será posible darse de alta como usuario administrador.
Hacer un casting a long
, ahora mismo compara las referencias de los Long
.
Falta añadir el código @before para que antes de cada test se cargue el dataset
Crear acciones, vistas y métodos de servicio para el login de usuarios registrados.
Historia de usuario: SGT-1 Login
Vamos a preparar la guía para añadir una relación muchos-a-muchos entre usuarios y equipos.
La aplicación generada con $sbt dist
no funciona. Hay que arreglar varias cosas en las que el modo producción es más estricto:
persistence.xml
En IntelliJ aparece el error de que deberían estar en el paquete correspondiente al directorio.
GestionTareasController
por TareasController
List
por Set
en las relaciones a-muchos para evitar el error de Hibernate "cannot simultaneously fetch multiple bags:" (https://blog.eyallupu.com/2010/06/hibernate-exception-simultaneously.html)injector.instanceOf
en todos los testsTravis debe hacer lo siguiente:
Usuario
y la clase UsuarioRepository
que encapsule las operaciones mínimas: creación de un usuario en la BD y búsqueda de un usuario por id y por login.Historia de usuario: SGT-1 Login
Un usuario tiene una relación a-muchos con tareas. Vamos a hacer que cuando se recupera un usuario, se traiga a memoria todas sus tareas y se queden guardadas en su atributo tareas
. Para ello basta con poner en la entidad el atributo de JPA fetch=FetchType.EAGER
.
De esta forma evitamos el método findAllTareas(usuarioId)
en el TareaRepository.
En términos de Domain-Driven Design estamos hablando de que Usuario y Tareas son entidades agregadas. Siempre tendremos en memoria en los objetos usuario su lista completa de tareas.
stage.conf
con conexión a base de datos MySQL y definición del secret
Crear acciones, vistas y métodos de servicio para el registro de nuevos usuarios.
Historia de usuario: SGT-1 Login
En el método se pasa un usuario y un equipo desconectados del entityManager
. Para recuperarlos de la base de datos se debería llamar a find
en lugar de llamar a merge
.
Lo que hace merge
es actualizar la BD con el objeto que recibimos. No es correcto usarlo aquí, porque si pasamos un equipo o un usuario no existente se añaden a la BD en lugar de lanzar una excepción.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.