Clase: |
net.hrider.api.usecases.CRUDEmployees.java |
En este ejemplo veremos cómo crear, actualizar y eliminar empleados. Después de crearlos
actualizaremos uno de ellos y comprobaremos que los cambios se han efectuado
imprimiendo las lista de empleados antes y después.
Como en el caso de uso anterior, creamos inicialmente una instancia de
HRiderService '
service' que
realizará todo el código de peticiones y respuestas con nuestro cliente Jersey.
Tras crear la compañía fictícia 'company' creamos tres empleados cualquiera:
Link employeesLink = company.getLinks().getEmployees();
Employee emp1 = service.create(employeesLink, buildEmployee("EMP1", "Employee 1", "[email protected]"));
Employee emp2 = service.create(employeesLink, buildEmployee("EMP2", "Employee 2", "[email protected]"));
Employee emp3 = service.create(employeesLink, buildEmployee("EMP3", "Employee 3", "[email protected]"));
Para actualizar un empleado modificamos sus atributos y realizamos un PUT a su enlace.
En este caso, podemos aprovechar el enlace a si mismo
self que todo recurso tiene
para cambiar su código de empleado por 'NEW':
emp1.setCode("NEW");
service.put(emp1.getLinks().getSelf(), emp1);
Para confirmar que los cambios se han realizado obtenemos todos los empleados y los imprimimos
por pantalla. Para obtener los empleados realizamos el GET al enlace 'employees' de la compañía:
EmployeesCollection collection = service.get(EmployeesCollection.class,
company.getLinks().getEmployees());
printEmployees(collection.getEmbedded().getEmployees());
El resultado que obtenemos es el esperado, el código de 'EMPLOYEE 1' es ahora 'NEW':
ID Code Email Name
------------------- --------- ------------------ ------------------
184908605578806810 NEW [email protected] EMPLOYEE 1
184908605705684507 EMP2 [email protected] EMPLOYEE 2
184908605795862044 EMP3 [email protected] EMPLOYEE 3
Ahora eliminamos EMPLOYEE1 y volvemos a imprimir los empleados:
service.delete(emp1.getLinks().getSelf());
collection = service.get(EmployeesCollection.class, company.getLinks().getEmployees());
printEmployees(collection.getEmbedded().getEmployees());
Vemos que efectivamente el empleado con código 'NEW' ya no aparece:
ID Code Email Name
------------------- --------- ------------------ ------------------
184908605705684507 EMP2 [email protected] EMPLOYEE 2
184908605795862044 EMP3 [email protected] EMPLOYEE 3