* Actualización de script para crear tablas (Todo a minusculas, no case sensitive) * Script de datos de pruebas de especialides médicas. * Nuevo bean para registro de usuarios (Quidato de filtro de seguridad de login, acceso sin login). * Actualización de entidades JPA con campos Identity. * Enumerado para gestionar tipos de usuarios (Paciente, Medico Familia, Especialista y Administrador) * Clase común para realizar validaciones (función para validar nif).
63 lines
1.8 KiB
Java
63 lines
1.8 KiB
Java
package ejb.systemAdmin;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Collection;
|
|
|
|
import javax.ejb.Stateless;
|
|
import javax.persistence.EntityManager;
|
|
import javax.persistence.PersistenceContext;
|
|
import javax.persistence.Query;
|
|
|
|
import TO.MedicalSpecialtyTO;
|
|
import jpa.MedicalSpecialtyJPA;
|
|
|
|
/**
|
|
* EJB Session Bean Class para la Practica 2, Ejercicio 1 (ISCSD) Implementa los
|
|
* métodos de la capa de negocio que implementan la logica de negocio y la
|
|
* interacción con la capa de persistencia.
|
|
*
|
|
* @author mark
|
|
*
|
|
*/
|
|
@Stateless
|
|
public class SystemAdminFacadeBean implements SystemAdminFacadeRemote {
|
|
|
|
// Persistence Unit Context
|
|
@PersistenceContext(unitName = "MyHealth")
|
|
private EntityManager entman;
|
|
|
|
/**
|
|
* Metodo que devuelve todas las especialidades medicas
|
|
*/
|
|
public Collection<MedicalSpecialtyTO> listAllMedicalSpecialities() {
|
|
return this.listPagedMedicalSpecialities(0, 0);
|
|
}
|
|
|
|
/**
|
|
* Metodo que devuelve las especialidades médicas de forma paginada
|
|
*
|
|
* Acepta como parametro la página (comenzando en 0) y el número de elementos de
|
|
* cada página
|
|
*
|
|
*/
|
|
public Collection<MedicalSpecialtyTO> listPagedMedicalSpecialities(int pageNumber, int pageSize) {
|
|
Query query = entman.createQuery("from MedicalSpecialtyJPA order by name");
|
|
|
|
if (pageSize > 0) {
|
|
query.setFirstResult(pageNumber * pageSize);
|
|
query.setMaxResults(pageSize);
|
|
}
|
|
|
|
@SuppressWarnings("unchecked")
|
|
Collection<MedicalSpecialtyJPA> allJPA = query.getResultList();
|
|
Collection<MedicalSpecialtyTO> allSpecialities = new ArrayList<MedicalSpecialtyTO>();
|
|
|
|
for (MedicalSpecialtyJPA ms : allJPA) {
|
|
allSpecialities.add(new MedicalSpecialtyTO(ms.getName(), ms.getDescription()));
|
|
}
|
|
|
|
return allSpecialities;
|
|
}
|
|
|
|
}
|