Mejoras en la gestión de excepciones.
This commit is contained in:
@@ -124,14 +124,23 @@ public class ManagedBeanBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void manageException(Exception ex) {
|
protected void manageException(Exception ex) {
|
||||||
String strType = "";
|
// TODO: Registrar en el log las exception
|
||||||
|
String strType = "runtime";
|
||||||
|
|
||||||
if (ex.getClass().equals(ViewExpiredException.class)) {
|
if (ex.getClass().equals(ViewExpiredException.class)) {
|
||||||
// Sessión expirada
|
// Sessión expirada
|
||||||
strType = "expired";
|
strType = "expired";
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Su sesión ha caducado", "Su sesión ha caducado, vuelva a logarse en el sistema.");
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Su sesión ha caducado", "Su sesión ha caducado, vuelva a logarse en el sistema.");
|
||||||
} else {
|
} else {
|
||||||
this.addFacesMessageKeep(FacesMessage.SEVERITY_ERROR, "Se ha producido un error inesperado", "Descripción del error: " + ex.getLocalizedMessage());
|
String msg = "";
|
||||||
|
Throwable th = ex.getCause();
|
||||||
|
|
||||||
|
if (th != null)
|
||||||
|
msg = th.getLocalizedMessage();
|
||||||
|
else
|
||||||
|
msg = ex.getLocalizedMessage();
|
||||||
|
|
||||||
|
this.addFacesMessageKeep(FacesMessage.SEVERITY_ERROR, "Se ha producido un error inesperado", "Descripción del error: ".concat(msg));
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -50,12 +50,10 @@ public class ChangeFamilyDoctorMBean extends ManagedBeanBase implements Serializ
|
|||||||
// Recuperamos el usuario logeado actual
|
// Recuperamos el usuario logeado actual
|
||||||
LoggedUserTO usr = null;
|
LoggedUserTO usr = null;
|
||||||
this.lastUIQuery = "";
|
this.lastUIQuery = "";
|
||||||
try {
|
|
||||||
usr = SessionUtils.getloggedOnUser();
|
usr = SessionUtils.getloggedOnUser();
|
||||||
|
|
||||||
if (usr == null)
|
if (usr == null)
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida",
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida", "Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema.");
|
||||||
"Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema.");
|
|
||||||
else {
|
else {
|
||||||
this.id = Integer.valueOf(usr.getId());
|
this.id = Integer.valueOf(usr.getId());
|
||||||
|
|
||||||
@@ -67,10 +65,6 @@ public class ChangeFamilyDoctorMBean extends ManagedBeanBase implements Serializ
|
|||||||
} else
|
} else
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Perfil no válido", "Su tipo de usuario no permite que pueda tener acceso a esta página.");
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Perfil no válido", "Su tipo de usuario no permite que pueda tener acceso a esta página.");
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
this.manageException(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -49,12 +49,10 @@ public class ChangePrimaryHealthCareCenterMBean extends ManagedBeanBase implemen
|
|||||||
LoggedUserTO usr = null;
|
LoggedUserTO usr = null;
|
||||||
this.lastUIQuery = "";
|
this.lastUIQuery = "";
|
||||||
|
|
||||||
try {
|
|
||||||
usr = SessionUtils.getloggedOnUser();
|
usr = SessionUtils.getloggedOnUser();
|
||||||
|
|
||||||
if (usr == null)
|
if (usr == null)
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida",
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida", "Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema.");
|
||||||
"Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema.");
|
|
||||||
else {
|
else {
|
||||||
this.id = Integer.valueOf(usr.getId());
|
this.id = Integer.valueOf(usr.getId());
|
||||||
|
|
||||||
@@ -67,10 +65,6 @@ public class ChangePrimaryHealthCareCenterMBean extends ManagedBeanBase implemen
|
|||||||
} else
|
} else
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Perfil no válido", "Su tipo de usuario no permite que pueda tener acceso a esta página.");
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Perfil no válido", "Su tipo de usuario no permite que pueda tener acceso a esta página.");
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
this.manageException(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<PrimaryHealthCareCenterTO> getPhcList() {
|
public List<PrimaryHealthCareCenterTO> getPhcList() {
|
||||||
|
|||||||
@@ -90,22 +90,14 @@ public class RegisterUserMBean extends ManagedBeanBase implements Serializable {
|
|||||||
public void onUserTypeChange() {
|
public void onUserTypeChange() {
|
||||||
switch (this.userType) {
|
switch (this.userType) {
|
||||||
case SPECIALIST_DOCTOR:
|
case SPECIALIST_DOCTOR:
|
||||||
try {
|
|
||||||
// El usuario queire registrarse como médico especialista, lanzamos un evento AJAX de cliente para que la interfaz refleje el cambio en el tipo de usuario
|
// El usuario queire registrarse como médico especialista, lanzamos un evento AJAX de cliente para que la interfaz refleje el cambio en el tipo de usuario
|
||||||
// seleccionado: Se muestra la lista de especialidades médicas para obligar a seleccionar una.
|
// seleccionado: Se muestra la lista de especialidades médicas para obligar a seleccionar una.
|
||||||
PrimeFaces.current().ajax().addCallbackParam("specs", true);
|
PrimeFaces.current().ajax().addCallbackParam("specs", true);
|
||||||
} catch (Exception e) {
|
|
||||||
this.manageException(e);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case FAMILY_DOCTOR:
|
case FAMILY_DOCTOR:
|
||||||
try {
|
|
||||||
// El usuario queire registrarse como médico especialista, lanzamos un evento AJAX de cliente para que la interfaz refleje el cambio en el tipo de usuario
|
// El usuario queire registrarse como médico especialista, lanzamos un evento AJAX de cliente para que la interfaz refleje el cambio en el tipo de usuario
|
||||||
// seleccionado: Se muestra la lista de CAPs para obligar a seleccionar uno.
|
// seleccionado: Se muestra la lista de CAPs para obligar a seleccionar uno.
|
||||||
PrimeFaces.current().ajax().addCallbackParam("caps", true);
|
PrimeFaces.current().ajax().addCallbackParam("caps", true);
|
||||||
} catch (Exception e) {
|
|
||||||
this.manageException(e);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case ADMINISTRATOR:
|
case ADMINISTRATOR:
|
||||||
case PATIENT:
|
case PATIENT:
|
||||||
@@ -234,7 +226,7 @@ public class RegisterUserMBean extends ManagedBeanBase implements Serializable {
|
|||||||
* No se permite el registro de administradores a través de la página de registro pública.
|
* No se permite el registro de administradores a través de la página de registro pública.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void addNewUser() {
|
public void addNewUser() throws Exception {
|
||||||
int error = 0;
|
int error = 0;
|
||||||
|
|
||||||
this.nif = ValidationUtils.normalizeNIF(this.nif);
|
this.nif = ValidationUtils.normalizeNIF(this.nif);
|
||||||
@@ -258,7 +250,6 @@ public class RegisterUserMBean extends ManagedBeanBase implements Serializable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (error == 0) {
|
if (error == 0) {
|
||||||
try {
|
|
||||||
switch (this.userType) {
|
switch (this.userType) {
|
||||||
case PATIENT:
|
case PATIENT:
|
||||||
PatientTO pat = this.getRemoteManagerProfile().registerPatient(nif, name, surname, password, email);
|
PatientTO pat = this.getRemoteManagerProfile().registerPatient(nif, name, surname, password, email);
|
||||||
@@ -281,10 +272,6 @@ public class RegisterUserMBean extends ManagedBeanBase implements Serializable {
|
|||||||
|
|
||||||
this.registered = true;
|
this.registered = true;
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Registro realizado", "El usuario " + name + " " + surname + " se ha registrado correctamente.");
|
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Registro realizado", "El usuario " + name + " " + surname + " se ha registrado correctamente.");
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
this.manageException(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,12 +78,10 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
|
|
||||||
// Recuperamos el usuario logeado actual
|
// Recuperamos el usuario logeado actual
|
||||||
LoggedUserTO usr = null;
|
LoggedUserTO usr = null;
|
||||||
try {
|
|
||||||
usr = SessionUtils.getloggedOnUser();
|
usr = SessionUtils.getloggedOnUser();
|
||||||
|
|
||||||
if (usr == null)
|
if (usr == null)
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida",
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Sesión no válida", "Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema.");
|
||||||
"Su sesión actual no es válida, por favor cierre su sesión y vuelva a logearse en el sistema.");
|
|
||||||
else {
|
else {
|
||||||
this.userType = usr.getUserType();
|
this.userType = usr.getUserType();
|
||||||
this.id = Integer.valueOf(usr.getId());
|
this.id = Integer.valueOf(usr.getId());
|
||||||
@@ -102,15 +100,10 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
this.setFamilyDoctorData(this.getRemoteManagerCommon().findFamilyDoctorById(this.id));
|
this.setFamilyDoctorData(this.getRemoteManagerCommon().findFamilyDoctorById(this.id));
|
||||||
break;
|
break;
|
||||||
case ADMINISTRATOR:
|
case ADMINISTRATOR:
|
||||||
// TODO: Recuperar usuario administrador para editar su perfil ¿?
|
|
||||||
// this.getRemoteManagerProfile().retrievePatient(usr.getId());
|
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Usuario sin perfil", "Usted es un usuario de tipo administrador y no puede editar su perfil de usuario.");
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Usuario sin perfil", "Usted es un usuario de tipo administrador y no puede editar su perfil de usuario.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
this.manageException(e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -309,10 +302,16 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
if (this.userType == null)
|
if (this.userType == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
try {
|
||||||
this.nif = ValidationUtils.normalizeNIF(this.nif);
|
this.nif = ValidationUtils.normalizeNIF(this.nif);
|
||||||
|
|
||||||
boolean changePassword = (this.oldPassword != null && this.oldPassword.equals("") == false) || (this.password != null && this.password.equals("") == false);
|
boolean changePassword = (this.oldPassword != null && this.oldPassword.equals("") == false) || (this.password != null && this.password.equals("") == false);
|
||||||
|
|
||||||
|
if (this.userType == UserType.ADMINISTRATOR) {
|
||||||
|
this.addFacesMessage(FacesMessage.SEVERITY_ERROR, "Perfil de usuario incorrecto", "Su perfil es de un usuario de tipo administrador y no puede editar su perfil.");
|
||||||
|
error++;
|
||||||
|
}
|
||||||
|
|
||||||
if (this.isUserTypeFamilyDoctor() && this.primaryHealthCareCenter == null) {
|
if (this.isUserTypeFamilyDoctor() && this.primaryHealthCareCenter == null) {
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Centro de atención primaria no seleccionado", "Por favor, especifique un centro de atención primaria.");
|
this.addFacesMessage(FacesMessage.SEVERITY_WARN, "Centro de atención primaria no seleccionado", "Por favor, especifique un centro de atención primaria.");
|
||||||
error++;
|
error++;
|
||||||
@@ -343,9 +342,7 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (error == 0) {
|
if (error == 0) {
|
||||||
try {
|
|
||||||
LoggedUserTO usr = null;
|
LoggedUserTO usr = null;
|
||||||
|
|
||||||
switch (this.userType) {
|
switch (this.userType) {
|
||||||
case PATIENT:
|
case PATIENT:
|
||||||
PatientTO pat = this.getRemoteManagerProfile().updatePatientData(id, nif, name, surname, password, email);
|
PatientTO pat = this.getRemoteManagerProfile().updatePatientData(id, nif, name, surname, password, email);
|
||||||
@@ -366,7 +363,7 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
case ADMINISTRATOR:
|
case ADMINISTRATOR:
|
||||||
throw new NotSupportedException("No se soporta la edición de perfiles de tipo administrador.");
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changePassword == true) {
|
if (changePassword == true) {
|
||||||
@@ -379,9 +376,9 @@ public class UpdateProfileMBean extends ManagedBeanBase implements Serializable
|
|||||||
SessionUtils.createOrUpdateSession(usr);
|
SessionUtils.createOrUpdateSession(usr);
|
||||||
|
|
||||||
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos de su perfil se han guardado correctamente.");
|
this.addFacesMessage(FacesMessage.SEVERITY_INFO, "Los datos se han guardado", "Los datos de su perfil se han guardado correctamente.");
|
||||||
} catch (Exception e) {
|
|
||||||
this.manageException(e);
|
|
||||||
}
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
this.manageException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ public class AddVisitMBean extends ManagedBeanBase implements Serializable {
|
|||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init() {
|
public void init() {
|
||||||
// El usuario actual es un medico de familia, recuperamos su Id de la sessión actual
|
// El usuario actual es un medico de familia, recuperamos su Id de la sessión actual
|
||||||
try {
|
|
||||||
Integer patientId = Integer.valueOf(SessionUtils.getUserId());
|
Integer patientId = Integer.valueOf(SessionUtils.getUserId());
|
||||||
|
|
||||||
this.patient = this.getRemoteManagerCommon().findPatientById(patientId);
|
this.patient = this.getRemoteManagerCommon().findPatientById(patientId);
|
||||||
@@ -46,10 +45,6 @@ public class AddVisitMBean extends ManagedBeanBase implements Serializable {
|
|||||||
this.familyDoctorDisplayName = null;
|
this.familyDoctorDisplayName = null;
|
||||||
|
|
||||||
this.date = LocalDate.now();
|
this.date = LocalDate.now();
|
||||||
} catch (Exception e) {
|
|
||||||
this.manageException(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveData() {
|
public void saveData() {
|
||||||
@@ -58,7 +53,8 @@ public class AddVisitMBean extends ManagedBeanBase implements Serializable {
|
|||||||
LocalDate today = LocalDate.now();
|
LocalDate today = LocalDate.now();
|
||||||
|
|
||||||
if (this.patient.getFamilyDoctor() == null) {
|
if (this.patient.getFamilyDoctor() == null) {
|
||||||
this.addFacesMessage("visitForm:medico", FacesMessage.SEVERITY_ERROR, "Médico de familia no asignado", "Es necesario que tenga un médico de familia asignado, por favor, cambie el médico de familia que tiene asignado");
|
this.addFacesMessage("visitForm:medico", FacesMessage.SEVERITY_ERROR, "Médico de familia no asignado",
|
||||||
|
"Es necesario que tenga un médico de familia asignado, por favor, cambie el médico de familia que tiene asignado");
|
||||||
error++;
|
error++;
|
||||||
}
|
}
|
||||||
if (this.date.isBefore(today)) {
|
if (this.date.isBefore(today)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user