Feature 01 - Implementado GET \task\{id}

Nos decuelve un Json con la información del recurso indicado. Como código obtenemos 200 y el conten-type es application/json
Feature 01 - Implementado POST /tasks

Cuando introducimos una tarea con el formulario, nos devolvera el json de la info introducida con el codigo de error 201. Para la rspuesta se ha usado el helper Created()
Feature 01 - Implementado GET /tasks

Al introducir la dirección /tasks obtenemos un array de objetos JSon. Como problema surge que las dobles comillas aparecen como '"'. Ya los olucionare más adelante
Feature 01 - Implementado DELETE /tasks/{id}

Para la implementación se ha añadido un método nuevo Application.deleteTask02(id:Long). Así lo diferenciamos por el usado en POST /tasks/:id/delete. Ambos llaman al método Task.delete(id:Long) pero esta vez el mñetodo devolvera un Int indicando si el borrado se ha llevado a cabo o no. Así podemos enviar 200 o 404 dependiendo del caso
Feature 01 - Pequeña modificación antes de mexclar ramas

Estuve cambiando algunas sangrías y espacio de la clase Application. No me deja git mezclar ramas si hay cambios sin subir :(
Añadir feature 01 a la rama principal
Feature 02 - Añadido nuevo script evolution 2.sql

El script añade una nueva tabla llamada userTask para guardar el login de los usuarios. También modifica la tabla task añadiendo una nueva columna e indicando que esta es una clave agena que apunta al login de usuario de la tabla userTask
Feature 02 - Cambiado GET /tasks

Ahora por defecto se obtendran las tareas del usuario Yourdon. Éste usuario será el usuario por defecto de la aplicación. Lo único que se ha hecho es cambiar el método Tasks.all. La sentencia SQL es 'select * from task where userLogin={userLogin}'
Feature 02 - Cambiado POST /tasks

Todas las tareas introducidas en la página se guardan con el usuario por defecto Yourdon. Simplemente en método Task.create hemos añadido en el insert el campo userLogin para Yourdon
Feature 02 - Implementado GET /{login}/tasks

Podemos ya obtener las tareas relacionadas con un usuario. Hemos cambiado el método controllers.Application.tasks(login: String*) para que aceptase parámetros por defecto. De esta forma se puede usar para GET /tasks y evitar hacer 2 métodos que hacen casi lo mismo. También se ha cambiado Tasks.all(login:String*) para que acepte parámetros por defecto. Habrá casos que tenga que devolver un usuario concreto y en otros el usuario por defecto.
Feature 02 - Modificando API Rest GET

En el commit anterior indicaba que la URL "GET /{login}/tasks" estaba bien
implementada. Finalmente no fue así y se han modificado las clases
Aplication y Task. Por empezar en el fichero "route" se ha modificado "GET
/tasks" indicando en Application.tasks reciba un parametro por defecto que
es eñ usuario por defecto "Yourdon". ésta solución es mucho mejor,
simplifica bastante la función Application.tasks.
 Feature 02 - Implementado POST /{login}/tasks

Se ha creado una nueva función Application.newTaskLogin(login:String) que tratará exclusivamente las peticiones de esta URL. Obtiene el cuerpo y estrae la información de la tarea. Posteriormente el recurso se crea invocando a Task.create(label:String, login:String = UserDefault) y se decuelve un mensaje 201. En caso contrario será un mensaje 404. Como se ha podido apreciar la función Task.create(...) se ha cambiado para que así pueda usarla la función Application.newTask sin necesidad de modificar el código gracias a su parámetro por defecto.
Fusionando feature2 con master
 Fix & Refact - Nuevas funciones Task->Json

Anteriormente habia una función que de forma 'chapucera' devolvia un aray de todas las tareas. Usaba StringBuffers y era muy engorrosa de manejar. Ahora hace uso de los métodos de la clase Json.
 Fix & Refact - Comentarios + REST + Option[JsValue]

Se ha comentado y organizado el código de las clases Application y Task. Había varios métodos Rest que no daban una respuesta cuando la operación sobre el recurso no tenía éxito. La función 'Task.obtain' se ha modificado para que devuelva 'Option[JsValue]' ya que podría darse el caso de que este estuviera vacio.
 Fix & Refact - Los objetos Json indican el usuario de la tarea

Se han modificado varios métodos para que a la hora de pedir los objetos Json, aparezca también el usuario que creo la tarea. Se han visto afectados obviamente los métodos 'Task.createJson' y 'Task.createCollectionJson'. También la variable de parseo 'Task.task'
Añadir correciones y refactorizaciones a la rama principal
 Feature 3 - Implementadas fechas en BBDD y en muchas funciones

Se ha creado un nuevo script llamado '3.sql'. Éste modifica la tabla
'task' insertando la columna 'dateCreation' para guardar las fechas.
también se han actualizado todas las filas de tasks insertando una fecha
(la de mi cumple XD). Por otro lado podemos obtener los datos e incluido
los json con sus fechas. Solo falta que al crear nuevas tareas también se
incluya la fecha de cración. Por ahora muestra el mensaje "undefinied" en
la fecha... Próximamente en la siguiente actualización!!!
 Feature 3 - Insertar tareas con la fecha actual

Se ha modificado el script 3.sql para que cuando se introduzca una tarea no haga falta indicar la fecha y meta por defecto la actual. De esta forma se evita controlar desde Task.scala que se meta la fecha actual, nos hace el trabajo la BBDD. El problema ahora es que cuando obtenemos la información de una tarea nos devuelve la hora 00:00:00, pero la fecha está bien.
 Feature 3 - Mejora del tratamiento de las fechas

Antes toda tarea tenia una fecha y por tanto, no podia verse como la aplicación se comportaba cuando esta fecha no existia. Para ello en el script 3.sql hemos borrado todas las fechas que insertabamos en el 2.sql. también se ha corregido 'la dada de baja' del script 3.sql, como se isnerta una columna en task pues en la baja del script la borramos (me explico fatal...). Se ha modificado diverss funciones para tratar los casos de Option[Dato] que resulten ser None. también se ha optimizado el código de Task.obtain. La verdad que deberia haber hecho commits más atómicos, ahora no recuerdo que otra cosa toque... bueno estoy aprendiendo. Domingo se piadoso conmigo XD