New button for the creation a new empty play list.
Using internationalized messages.
Added properties for id and name. Using this class to load the user play lists registered in this application.
Loading all the user play lists and loading contents of a selected play list. The contents of the play list aren't yet being loaded and displayed.
Few more localized/internationalized messages.
Following jQuery good practices: cache jQuery objects and chain whenever possible.
Passing the loading and load-empty items to the view. Just hide or show these items through javascript.
Removing the CascadeType to avoid unwanted operations in the related entities.
Implementing the delete play list operation. The contents aren't yet being contemplated.
Update all the parts of the bidirectional relationship between user and playlist to ensure that the collections are automatically updated.
When using data constraints for form binding, set the value of the message attribute to a Messages key, to be able to return externalized validation error messages.
Passing the list of contents when saving the play list.
Utility class where must be placed common code.
Classes that represent state to be passed to the presentation layer.
New entities for the representation of play list contents. A play list can have one or more contents and a content can be in one or more play lists.
Implementing the findById, findBy and getAll methods in the abstract mapper using the Criteria API to create the queries.
Implementing the save and load actions considering the contents.
Grabbing the contents passed to the save action using form binding.
Show the contents received from the server after loading a play list. Grab the media type and name from the contents loaded from the services. Don't show the contents that weren't found in the user contents list.
A few more internationalized messages.