Adding some behavior to the models: updating relationships automatically when updating state.
Testing models and the update of the relationships.
Leveraging the behavior methods added to the models avoiding unnecessary calls when updating relationships. Using the constructors with parameters.
Using a new postgreSQL database for testing purposes. Using some test values to test application.
Controlling concurrent access to entity data with optimistic locking using version policy.
New mapper methods: to be able to create custom queries. For now on, the implementation of the mappers are tied to the Criteria API.
New mapper for the PlaylistContent entity.
Removing some unnecessary comments.
Separating the update action from the save action. Was created a method for each one. The update action only updates the contents list. The new list comes as a parameter.
New class responsible to access data from the Content entity. The first method is responsible for the deletion of the contents that are not present in any play list.
Separating the update action from the save action.
New internationalized messages.
Renamed method.
Always fill the user email with the information that comes from the oauth provider and not with the email registered in the logged in user.
Unit tests for the class that abstracts the accesses to the database for the Playlist entity. These tests show that we're having some concurrency problems when reading the data. The problems are still to resolve.