Caso de Uso: CRUD Empleados

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