From ffcb235e69bb5e8e511bdcae8758fef5ec0549a6 Mon Sep 17 00:00:00 2001 From: mgarcianun Date: Wed, 20 Nov 2019 21:45:32 +0100 Subject: [PATCH] =?UTF-8?q?Subida=20incial=20del=20esqueleto=20del=20compo?= =?UTF-8?q?nente=20profile:=20*=20Clases=20de=20ejb=20FacadeBean=20y=20Fac?= =?UTF-8?q?adeRemote=20con=20implementaci=C3=B3n=20incial.=20*=20Clases=20?= =?UTF-8?q?de=20persistencia=20JPA=20necesarias=20para=20el=20componente?= =?UTF-8?q?=20con=20algunas=20relaciones=20configuradas=20(Necesaria=20rev?= =?UTF-8?q?isi=C3=B3n).=20*=20ClasesTO=20(Transfer=20Object)=20iniciales?= =?UTF-8?q?=20(Necesitan=20revisi=C3=B3n=20profunda).=20*=20Cambio=20de=20?= =?UTF-8?q?estrategia=20sobre=20paquetes=20para=20clases=20TO,=20es=20nece?= =?UTF-8?q?sario=20ubicarlas=20en=20el=20mismo=20paquete,=20ya=20que=20se?= =?UTF-8?q?=20comparten=20por=20varios=20componentes.=20Se=20sigue=20la=20?= =?UTF-8?q?misma=20estrategia=20que=20con=20las=20clases=20JPA.=20*=20Si?= =?UTF-8?q?=20alguien=20necesita=20utilizar=20alguna=20clase=20JPA=20debe?= =?UTF-8?q?=20revisarla=20(Seguro=20que=20faltan=20relaciones).=20*=20Crea?= =?UTF-8?q?das=20clases=20esqueleto=20(Dummy)=20para=20MBean=20del=20compo?= =?UTF-8?q?nente=20perfil.=20*=20Se=20ha=20eliminado=20paquetes=20no=20nec?= =?UTF-8?q?esarios=20(clases=20TO).=20*=20En=20principio=20el=20proyecto?= =?UTF-8?q?=20deber=C3=ADa=20compilar.=20*=20Se=20asume=20que=20el=20equem?= =?UTF-8?q?a=20de=20base=20de=20datos=20se=20llamar=C3=A1=20"MyHealth"=20(?= =?UTF-8?q?Ver=20anotaci=C3=B3n=20en=20clases=20JPA.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1.sources/MyHealth/src/TO/FamilyDoctorTO.java | 84 ++++++++++ .../MyHealth/src/TO/MedicalSpecialtyTO.java | 44 +++++ 1.sources/MyHealth/src/TO/MedicalTestTO.java | 23 +++ 1.sources/MyHealth/src/TO/PatientTO.java | 91 ++++++++++ .../src/TO/PrimaryHealthCareCenterTO.java | 23 +++ .../MyHealth/src/TO/SpecialistDoctorTO.java | 84 ++++++++++ .../TO/{systemAdmin => }/SystemAdminTO.java | 4 +- .../MyHealth/src/TO/{visit => }/VisitTO.java | 4 +- .../src/TO/medicalTest/MedicalTestTO.java | 29 ---- .../MyHealth/src/TO/profile/ProfileTO.java | 29 ---- .../src/ejb/profile/ProfileFacadeBean.java | 155 +++++++++++++++++- .../src/ejb/profile/ProfileFacadeRemote.java | 32 +++- .../MyHealth/src/jpa/FamilyDoctorJPA.java | 125 ++++++++++++++ ...TableJPA.java => MedicalSpecialtyJPA.java} | 14 +- 1.sources/MyHealth/src/jpa/PatientJPA.java | 107 ++++++++++++ .../src/jpa/PrimaryHealthCareCenterJPA.java | 52 ++++++ .../MyHealth/src/jpa/SpecialistDoctorJPA.java | 105 ++++++++++++ .../profile/AddFamilyDoctorMBean.java | 49 ++++++ ...ProfileMBean.java => AddPatientMBean.java} | 6 +- .../profile/AddSpecialistDoctorMBean.java | 49 ++++++ .../profile/ChangeFamilyDoctorMBean.java | 49 ++++++ .../ChangePrimaryHealthCareCenterMBean.java | 49 ++++++ .../profile/ShowFamilyDoctorMBean.java | 49 ++++++ .../managedbean/profile/ShowPatientMBean.java | 49 ++++++ .../profile/ShowSpecialistDoctorMBean.java | 49 ++++++ .../profile/UpdateFamilyDoctorMBean.java | 49 ++++++ .../profile/UpdatePatientMBean.java | 49 ++++++ .../profile/UpdateSpecialistDoctorMBean.java | 49 ++++++ 28 files changed, 1417 insertions(+), 84 deletions(-) create mode 100644 1.sources/MyHealth/src/TO/FamilyDoctorTO.java create mode 100644 1.sources/MyHealth/src/TO/MedicalSpecialtyTO.java create mode 100644 1.sources/MyHealth/src/TO/MedicalTestTO.java create mode 100644 1.sources/MyHealth/src/TO/PatientTO.java create mode 100644 1.sources/MyHealth/src/TO/PrimaryHealthCareCenterTO.java create mode 100644 1.sources/MyHealth/src/TO/SpecialistDoctorTO.java rename 1.sources/MyHealth/src/TO/{systemAdmin => }/SystemAdminTO.java (86%) rename 1.sources/MyHealth/src/TO/{visit => }/VisitTO.java (87%) delete mode 100644 1.sources/MyHealth/src/TO/medicalTest/MedicalTestTO.java delete mode 100644 1.sources/MyHealth/src/TO/profile/ProfileTO.java create mode 100644 1.sources/MyHealth/src/jpa/FamilyDoctorJPA.java rename 1.sources/MyHealth/src/jpa/{TestTableJPA.java => MedicalSpecialtyJPA.java} (66%) create mode 100644 1.sources/MyHealth/src/jpa/PatientJPA.java create mode 100644 1.sources/MyHealth/src/jpa/PrimaryHealthCareCenterJPA.java create mode 100644 1.sources/MyHealth/src/jpa/SpecialistDoctorJPA.java create mode 100644 1.sources/MyHealth/src/managedbean/profile/AddFamilyDoctorMBean.java rename 1.sources/MyHealth/src/managedbean/profile/{ProfileMBean.java => AddPatientMBean.java} (84%) create mode 100644 1.sources/MyHealth/src/managedbean/profile/AddSpecialistDoctorMBean.java create mode 100644 1.sources/MyHealth/src/managedbean/profile/ChangeFamilyDoctorMBean.java create mode 100644 1.sources/MyHealth/src/managedbean/profile/ChangePrimaryHealthCareCenterMBean.java create mode 100644 1.sources/MyHealth/src/managedbean/profile/ShowFamilyDoctorMBean.java create mode 100644 1.sources/MyHealth/src/managedbean/profile/ShowPatientMBean.java create mode 100644 1.sources/MyHealth/src/managedbean/profile/ShowSpecialistDoctorMBean.java create mode 100644 1.sources/MyHealth/src/managedbean/profile/UpdateFamilyDoctorMBean.java create mode 100644 1.sources/MyHealth/src/managedbean/profile/UpdatePatientMBean.java create mode 100644 1.sources/MyHealth/src/managedbean/profile/UpdateSpecialistDoctorMBean.java diff --git a/1.sources/MyHealth/src/TO/FamilyDoctorTO.java b/1.sources/MyHealth/src/TO/FamilyDoctorTO.java new file mode 100644 index 0000000..965392c --- /dev/null +++ b/1.sources/MyHealth/src/TO/FamilyDoctorTO.java @@ -0,0 +1,84 @@ +package TO; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@XmlRootElement(name = "FamilyDoctor") +public class FamilyDoctorTO implements Serializable { + + private static final long serialVersionUID = 1L; + private String id; + private String nif; + private String name; + private String surname; + private String password; + private String email; + + public FamilyDoctorTO() { + super(); + } + + public FamilyDoctorTO(String id, String nif, String name, String surname, String password, String email) { + this.setId(id); + this.setNif(nif); + this.setName(name); + this.setSurname(surname); + this.setPassword(password); + this.setEmail(email); + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getSurname() { + return surname; + } + + public void setSurname(String surname) { + this.surname = surname; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNif() { + return nif; + } + + public void setNif(String nif) { + this.nif = nif; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + +} diff --git a/1.sources/MyHealth/src/TO/MedicalSpecialtyTO.java b/1.sources/MyHealth/src/TO/MedicalSpecialtyTO.java new file mode 100644 index 0000000..31269bc --- /dev/null +++ b/1.sources/MyHealth/src/TO/MedicalSpecialtyTO.java @@ -0,0 +1,44 @@ +package TO; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@XmlRootElement(name = "medicalspeciality") +public class MedicalSpecialtyTO implements Serializable { + + private static final long serialVersionUID = 1L; + + private String name; + private String description; + + public MedicalSpecialtyTO() { + super(); + } + + public MedicalSpecialtyTO(String name, String description) { + this.name = name; + this.description = description; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/1.sources/MyHealth/src/TO/MedicalTestTO.java b/1.sources/MyHealth/src/TO/MedicalTestTO.java new file mode 100644 index 0000000..98537ad --- /dev/null +++ b/1.sources/MyHealth/src/TO/MedicalTestTO.java @@ -0,0 +1,23 @@ +package TO; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@XmlRootElement(name = "MedicalTest") +public class MedicalTestTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + public MedicalTestTO() { + super(); + } + + +} diff --git a/1.sources/MyHealth/src/TO/PatientTO.java b/1.sources/MyHealth/src/TO/PatientTO.java new file mode 100644 index 0000000..cca8509 --- /dev/null +++ b/1.sources/MyHealth/src/TO/PatientTO.java @@ -0,0 +1,91 @@ +package TO; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +import jpa.FamilyDoctorJPA; + +/** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@XmlRootElement(name = "Patient") +public class PatientTO implements Serializable { + + private static final long serialVersionUID = 1L; + private String id; + private String nif; + private String name; + private String surname; + private String password; + private String email; + private FamilyDoctorTO familyDoctor; + + /** + * Class constructor methods + */ + public PatientTO() { + super(); + } + + public PatientTO(String id, String nif, String name, String surname, String password, String email) { + this.setId(id); + this.setNif(nif); + this.setName(name); + this.setSurname(surname); + this.setPassword(password); + this.setEmail(email); + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getSurname() { + return surname; + } + + public void setSurname(String surname) { + this.surname = surname; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNif() { + return nif; + } + + public void setNif(String nif) { + this.nif = nif; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + +} diff --git a/1.sources/MyHealth/src/TO/PrimaryHealthCareCenterTO.java b/1.sources/MyHealth/src/TO/PrimaryHealthCareCenterTO.java new file mode 100644 index 0000000..b890698 --- /dev/null +++ b/1.sources/MyHealth/src/TO/PrimaryHealthCareCenterTO.java @@ -0,0 +1,23 @@ +package TO; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@XmlRootElement(name = "PrimaryHealthCareCenter") +public class PrimaryHealthCareCenterTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + public PrimaryHealthCareCenterTO() { + super(); + } + + +} diff --git a/1.sources/MyHealth/src/TO/SpecialistDoctorTO.java b/1.sources/MyHealth/src/TO/SpecialistDoctorTO.java new file mode 100644 index 0000000..fe2bd22 --- /dev/null +++ b/1.sources/MyHealth/src/TO/SpecialistDoctorTO.java @@ -0,0 +1,84 @@ +package TO; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@XmlRootElement(name = "SpecialistDoctor") +public class SpecialistDoctorTO implements Serializable { + + private static final long serialVersionUID = 1L; + private String id; + private String nif; + private String name; + private String surname; + private String password; + private String email; + + public SpecialistDoctorTO() { + super(); + } + + public SpecialistDoctorTO(String id, String nif, String name, String surname, String password, String email) { + this.setId(id); + this.setNif(nif); + this.setName(name); + this.setSurname(surname); + this.setPassword(password); + this.setEmail(email); + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getSurname() { + return surname; + } + + public void setSurname(String surname) { + this.surname = surname; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNif() { + return nif; + } + + public void setNif(String nif) { + this.nif = nif; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + +} diff --git a/1.sources/MyHealth/src/TO/systemAdmin/SystemAdminTO.java b/1.sources/MyHealth/src/TO/SystemAdminTO.java similarity index 86% rename from 1.sources/MyHealth/src/TO/systemAdmin/SystemAdminTO.java rename to 1.sources/MyHealth/src/TO/SystemAdminTO.java index 17ccfea..bd33a1d 100644 --- a/1.sources/MyHealth/src/TO/systemAdmin/SystemAdminTO.java +++ b/1.sources/MyHealth/src/TO/SystemAdminTO.java @@ -1,4 +1,4 @@ -package TO.systemAdmin; +package TO; import java.io.Serializable; @@ -15,7 +15,7 @@ import javax.xml.bind.annotation.XmlRootElement; * @author mark * */ -@XmlRootElement(name = "SystemAdminTO") +@XmlRootElement(name = "SystemAdmin") public class SystemAdminTO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/1.sources/MyHealth/src/TO/visit/VisitTO.java b/1.sources/MyHealth/src/TO/VisitTO.java similarity index 87% rename from 1.sources/MyHealth/src/TO/visit/VisitTO.java rename to 1.sources/MyHealth/src/TO/VisitTO.java index 3ff705b..a2030fc 100644 --- a/1.sources/MyHealth/src/TO/visit/VisitTO.java +++ b/1.sources/MyHealth/src/TO/VisitTO.java @@ -1,4 +1,4 @@ -package TO.visit; +package TO; import java.io.Serializable; @@ -15,7 +15,7 @@ import javax.xml.bind.annotation.XmlRootElement; * @author mark * */ -@XmlRootElement(name = "TestClass") +@XmlRootElement(name = "Visit") public class VisitTO implements Serializable { private static final long serialVersionUID = 1L; diff --git a/1.sources/MyHealth/src/TO/medicalTest/MedicalTestTO.java b/1.sources/MyHealth/src/TO/medicalTest/MedicalTestTO.java deleted file mode 100644 index 62d3a86..0000000 --- a/1.sources/MyHealth/src/TO/medicalTest/MedicalTestTO.java +++ /dev/null @@ -1,29 +0,0 @@ -package TO.medicalTest; - -import java.io.Serializable; - -import javax.xml.bind.annotation.XmlRootElement; - -/** - * Transfer object (TO) MedicalSpecialtyTO Para el intercambio de datos entre la - * capa de interfaz y la capa de negocio - * - * Además esta clase facilita la implementación futura de una Capa SOA (Se - * define la anotación para la serialización de esta clase: @XmlRootElement(name - * = "medicalspeciality") - * - * @author mark - * - */ -@XmlRootElement(name = "MedicalTestTO") -public class MedicalTestTO implements Serializable { - - private static final long serialVersionUID = 1L; - - - public MedicalTestTO() { - super(); - } - - -} diff --git a/1.sources/MyHealth/src/TO/profile/ProfileTO.java b/1.sources/MyHealth/src/TO/profile/ProfileTO.java deleted file mode 100644 index cee47c3..0000000 --- a/1.sources/MyHealth/src/TO/profile/ProfileTO.java +++ /dev/null @@ -1,29 +0,0 @@ -package TO.profile; - -import java.io.Serializable; - -import javax.xml.bind.annotation.XmlRootElement; - -/** - * Transfer object (TO) MedicalSpecialtyTO Para el intercambio de datos entre la - * capa de interfaz y la capa de negocio - * - * Además esta clase facilita la implementación futura de una Capa SOA (Se - * define la anotación para la serialización de esta clase: @XmlRootElement(name - * = "medicalspeciality") - * - * @author mark - * - */ -@XmlRootElement(name = "ProfileTO") -public class ProfileTO implements Serializable { - - private static final long serialVersionUID = 1L; - - - public ProfileTO() { - super(); - } - - -} diff --git a/1.sources/MyHealth/src/ejb/profile/ProfileFacadeBean.java b/1.sources/MyHealth/src/ejb/profile/ProfileFacadeBean.java index c2017f5..2a18d8b 100644 --- a/1.sources/MyHealth/src/ejb/profile/ProfileFacadeBean.java +++ b/1.sources/MyHealth/src/ejb/profile/ProfileFacadeBean.java @@ -4,13 +4,20 @@ import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; +import TO.FamilyDoctorTO; +import TO.MedicalSpecialtyTO; +import TO.PatientTO; +import TO.PrimaryHealthCareCenterTO; +import TO.SpecialistDoctorTO; +import jpa.FamilyDoctorJPA; +import jpa.MedicalSpecialtyJPA; +import jpa.PatientJPA; +import jpa.PrimaryHealthCareCenterJPA; +import jpa.SpecialistDoctorJPA; /** - * 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 + * @author Marcos García Núñez (mgarcianun@uoc.edu) * */ @Stateless @@ -20,9 +27,145 @@ public class ProfileFacadeBean implements ProfileFacadeRemote { @PersistenceContext(unitName = "MyHealth") private EntityManager entman; - public void ejbMethod(String parameter) - { + public PatientTO changeFamilyDoctor(String id, String ProfessionalNumberId) { + PatientTO paTO = null; + + FamilyDoctorJPA fd = entman.find(FamilyDoctorJPA.class, ProfessionalNumberId); + PatientJPA pa = entman.find(PatientJPA.class, id); + + if (fd != null && pa != null) { + pa.setFamilyDoctor(fd); + paTO = new PatientTO(); + + } + + return paTO; + } + + public PatientTO registerPacient(String id, String nif, String name, String surname, String password, String email) { + PatientTO paTO = null; + + PatientJPA ms = new PatientJPA(id, nif, name, surname, password, email); + entman.persist(ms); + paTO = new PatientTO(ms.getId(), ms.getNif(), ms.getName(), ms.getSurname(), ms.getPassword(), ms.getEmail()); + + return paTO; + } + + public SpecialistDoctorTO registerSpecialistDoctor(String id, String nif, String name, String surname, String password, String email, MedicalSpecialtyTO specialty) { + SpecialistDoctorTO sdTO = null; + + MedicalSpecialtyJPA ms = entman.find(MedicalSpecialtyJPA.class, specialty.getName()); + + // TODO: Lanzar error si no se encuentra la especialidad. + if (ms != null) { + SpecialistDoctorJPA sd = new SpecialistDoctorJPA(id, nif, name, surname, password, email); + entman.persist(sd); + sdTO = new SpecialistDoctorTO(sd.getId(), sd.getNif(), sd.getName(), sd.getSurname(), sd.getPassword(), sd.getEmail()); + } + return sdTO; + } + + public FamilyDoctorTO registerFamilyDoctor1(String id, String nif, String name, String surname, String password, String email, String cap) { + FamilyDoctorTO fdTO = null; + + PrimaryHealthCareCenterJPA phcC = entman.find(PrimaryHealthCareCenterJPA.class, cap); + + // TODO: Lanzar error si no encontramos el cap!!!!! + if (phcC != null) { + + FamilyDoctorJPA fd = new FamilyDoctorJPA(id, nif, name, surname, password, email); + fd.setPrimaryHealthCareCenter(phcC); + + entman.persist(fd); + + fdTO = new FamilyDoctorTO(fd.getId(), fd.getNif(), fd.getName(), fd.getSurname(), fd.getPassword(), fd.getEmail()); + } + + return fdTO; + } + + public PatientTO updatePacientData(String id, String nif, String name, String surname, String password, String email) { + PatientJPA fd = entman.find(PatientJPA.class, id); + PatientTO ptTO = null; + + if (fd != null) { + fd.setNif(nif); + fd.setName(name); + fd.setSurname(surname); + fd.setPassword(password); + fd.setEmail(email); + + entman.persist(fd); + + ptTO = new PatientTO(fd.getId(), fd.getNif(), fd.getName(), fd.getSurname(), fd.getPassword(), fd.getEmail()); + } + + return ptTO; + } + + public SpecialistDoctorTO updateSpecialistDoctorData(String id, String nif, String name, String surname, String password, String email, MedicalSpecialtyTO specialty) { + SpecialistDoctorTO sdTO = null; + + SpecialistDoctorJPA sd = entman.find(SpecialistDoctorJPA.class, id); + MedicalSpecialtyJPA ms = entman.find(MedicalSpecialtyJPA.class, specialty.getName()); + + // TODO: Lanzar error al no encontrar la especialidad indicada ????? + + if (sd != null && ms != null) { + sd.setNif(nif); + sd.setName(name); + sd.setSurname(surname); + sd.setPassword(password); + sd.setEmail(email); + sd.setMedicalSpecialty(ms); + + entman.persist(sd); + + sdTO = new SpecialistDoctorTO(sd.getId(), sd.getNif(), sd.getName(), sd.getSurname(), sd.getPassword(), sd.getEmail()); + } + + return sdTO; + } + + public FamilyDoctorTO updateFamilyDoctorData(String id, String nif, String name, String surname, String password, String email, String cap) { + FamilyDoctorJPA fd = entman.find(FamilyDoctorJPA.class, id); + FamilyDoctorTO fdTO = null; + + if (fd != null) { + fd.setNif(nif); + fd.setName(name); + fd.setSurname(surname); + fd.setPassword(password); + fd.setEmail(email); + + // TODO: Es posible actualizar el cap? ¿No debería utilizar el método + // changePrimaryHealthCareCenter? + // cap debería ser PrimaryHealthCareCenterTO newCenter + // fd.setPrimaryHealthCareCenter(cap); + + entman.persist(fd); + + fdTO = new FamilyDoctorTO(fd.getId(), fd.getNif(), fd.getName(), fd.getSurname(), fd.getPassword(), fd.getEmail()); + } + + return fdTO; + } + + public FamilyDoctorTO changePrimaryHealthCareCenter(String FamilyDoctorId, PrimaryHealthCareCenterTO newCenter) { + FamilyDoctorTO fdTO = null; + + PrimaryHealthCareCenterJPA phcC = entman.find(PrimaryHealthCareCenterJPA.class, newCenter); + FamilyDoctorJPA fd = entman.find(FamilyDoctorJPA.class, FamilyDoctorId); + + if (phcC != null && fd != null) { + fd.setPrimaryHealthCareCenter(phcC); + fdTO = new FamilyDoctorTO(fd.getId(), fd.getNif(), fd.getName(), fd.getSurname(), fd.getPassword(), fd.getEmail()); + + } + + return fdTO; } } diff --git a/1.sources/MyHealth/src/ejb/profile/ProfileFacadeRemote.java b/1.sources/MyHealth/src/ejb/profile/ProfileFacadeRemote.java index 6bbaf28..087f7e8 100644 --- a/1.sources/MyHealth/src/ejb/profile/ProfileFacadeRemote.java +++ b/1.sources/MyHealth/src/ejb/profile/ProfileFacadeRemote.java @@ -2,17 +2,35 @@ package ejb.profile; import javax.ejb.Remote; +import TO.FamilyDoctorTO; +import TO.MedicalSpecialtyTO; +import TO.PatientTO; +import TO.PrimaryHealthCareCenterTO; +import TO.SpecialistDoctorTO; + /** - * Interfaz remota del EJB Definimos los métodos que estarán disponibles para - * los clientes del EJB * - * @author mark + * @author Marcos García Núñez (mgarcianun@uoc.edu) * */ @Remote public interface ProfileFacadeRemote { - /** - * Definimos la interfaz remota - */ - public void ejbMethod(String parameter); + + public PatientTO changeFamilyDoctor(String id, String ProfessionalNumberId); + + public PatientTO registerPacient(String id, String nif, String name, String surname, String password, String email); + + public SpecialistDoctorTO registerSpecialistDoctor(String id, String nif, String name, String surname, String password, String email, + MedicalSpecialtyTO specialty); + + public FamilyDoctorTO registerFamilyDoctor1(String id, String nif, String name, String surname, String password, String email, String cap); + + public PatientTO updatePacientData(String id, String nif, String name, String surname, String password, String email); + + public SpecialistDoctorTO updateSpecialistDoctorData(String id, String nif, String name, String surname, String password, String email, + MedicalSpecialtyTO specialty); + + public FamilyDoctorTO updateFamilyDoctorData(String id, String nif, String name, String surname, String password, String email, String cap); + + public FamilyDoctorTO changePrimaryHealthCareCenter(String id, PrimaryHealthCareCenterTO newCenter); } \ No newline at end of file diff --git a/1.sources/MyHealth/src/jpa/FamilyDoctorJPA.java b/1.sources/MyHealth/src/jpa/FamilyDoctorJPA.java new file mode 100644 index 0000000..fffe263 --- /dev/null +++ b/1.sources/MyHealth/src/jpa/FamilyDoctorJPA.java @@ -0,0 +1,125 @@ +package jpa; + +import java.io.Serializable; +import java.util.Collection; + +import javax.persistence.CascadeType; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.persistence.Table; + +/** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@Entity +@Table(name = "MyHealth.FamilyDoctor") +public class FamilyDoctorJPA implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + private String id; + private String nif; + private String name; + private String surname; + private String password; + private String email; + private Collection patients; + private PrimaryHealthCareCenterJPA primaryHealthCareCenter; + + /** + * Class constructor methods + */ + public FamilyDoctorJPA() { + super(); + } + + public FamilyDoctorJPA(String id, String nif, String name, String surname, String password, String email) { + this.id = id; + this.nif = nif; + this.name = name; + this.surname = surname; + this.password = password; + this.email = email; + } + + @Id + public String getId() { + return id; + } + + public void setId(String value) { + this.id = value; + } + + public String getNif() { + return nif; + } + + public void setNif(String value) { + this.nif = value; + } + + public String getName() { + return name; + } + + public void setName(String value) { + this.name = value; + } + + public String getSurname() { + return surname; + } + + public void setSurname(String surname) { + this.surname = surname; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + /** + * Metodos para get/set de relaciones (pacientes) + * @return + */ + @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "FamilyDoctorId") + public Collection getPatients() { + return patients; + } + + public void setPatients(Collection patients) { + this.patients = patients; + } + + @ManyToOne + @JoinColumn (name="PrimaryHealthCareCenterId") + public PrimaryHealthCareCenterJPA getPrimaryHealthCareCenter() { + return primaryHealthCareCenter; + } + public void setPrimaryHealthCareCenter(PrimaryHealthCareCenterJPA center) { + this.primaryHealthCareCenter = center; + } +} + + diff --git a/1.sources/MyHealth/src/jpa/TestTableJPA.java b/1.sources/MyHealth/src/jpa/MedicalSpecialtyJPA.java similarity index 66% rename from 1.sources/MyHealth/src/jpa/TestTableJPA.java rename to 1.sources/MyHealth/src/jpa/MedicalSpecialtyJPA.java index 74c7372..92bd161 100644 --- a/1.sources/MyHealth/src/jpa/TestTableJPA.java +++ b/1.sources/MyHealth/src/jpa/MedicalSpecialtyJPA.java @@ -6,12 +6,14 @@ import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; -/** - * Calse JPA MedicalSpecialty, para interactuar con la base de datos. +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * */ @Entity -@Table(name = "TestTable") -public class TestTableJPA implements Serializable { +@Table(name = "MyHealth.MedicalSpecialty") +public class MedicalSpecialtyJPA implements Serializable { private static final long serialVersionUID = 1L; @@ -22,11 +24,11 @@ public class TestTableJPA implements Serializable { /** * Class constructor methods */ - public TestTableJPA() { + public MedicalSpecialtyJPA() { super(); } - public TestTableJPA(String name, String description) { + public MedicalSpecialtyJPA(String name, String description) { this.name = name; this.description = description; } diff --git a/1.sources/MyHealth/src/jpa/PatientJPA.java b/1.sources/MyHealth/src/jpa/PatientJPA.java new file mode 100644 index 0000000..59a6969 --- /dev/null +++ b/1.sources/MyHealth/src/jpa/PatientJPA.java @@ -0,0 +1,107 @@ +package jpa; + +import java.io.Serializable; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +/** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@Entity +@Table(name = "MyHealth.Patient") +public class PatientJPA implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + private String id; + private String nif; + private String name; + private String surname; + private String password; + private String email; + private FamilyDoctorJPA familyDoctor; + + /** + * Class constructor methods + */ + public PatientJPA() { + super(); + } + + public PatientJPA(String id, String nif, String name, String surname, String password, String email) { + this.id = id; + this.nif = nif; + this.name = name; + this.surname = surname; + this.password = password; + this.email = email; + } + + @Id + public String getId() { + return id; + } + + public void setId(String value) { + this.id = value; + } + + public String getNif() { + return nif; + } + + public void setNif(String value) { + this.nif = value; + } + + public String getName() { + return name; + } + + public void setName(String value) { + this.name = value; + } + + public String getSurname() { + return surname; + } + + public void setSurname(String surname) { + this.surname = surname; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + /** + * Methods get/set persistent relationships + */ + @ManyToOne + @JoinColumn (name="FamilyDoctorId") + public FamilyDoctorJPA getFamilyDoctor() { + return familyDoctor; + } + public void setFamilyDoctor(FamilyDoctorJPA familyDoc) { + this.familyDoctor = familyDoc; + } +} diff --git a/1.sources/MyHealth/src/jpa/PrimaryHealthCareCenterJPA.java b/1.sources/MyHealth/src/jpa/PrimaryHealthCareCenterJPA.java new file mode 100644 index 0000000..4e2e12f --- /dev/null +++ b/1.sources/MyHealth/src/jpa/PrimaryHealthCareCenterJPA.java @@ -0,0 +1,52 @@ +package jpa; + +import java.io.Serializable; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +/** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@Entity +@Table(name = "MyHealth.PrimaryHealthCareCenter") +public class PrimaryHealthCareCenterJPA implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + private String name; + private String description; + + /** + * Class constructor methods + */ + public PrimaryHealthCareCenterJPA() { + super(); + } + + public PrimaryHealthCareCenterJPA(String name, String description) { + this.name = name; + this.description = description; + } + + @Id + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } +} diff --git a/1.sources/MyHealth/src/jpa/SpecialistDoctorJPA.java b/1.sources/MyHealth/src/jpa/SpecialistDoctorJPA.java new file mode 100644 index 0000000..c929163 --- /dev/null +++ b/1.sources/MyHealth/src/jpa/SpecialistDoctorJPA.java @@ -0,0 +1,105 @@ +package jpa; + +import java.io.Serializable; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +/** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@Entity +@Table(name = "MyHealth.SpecialistDoctor") +public class SpecialistDoctorJPA implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + private String id; + private String nif; + private String name; + private String surname; + private String password; + private String email; + private MedicalSpecialtyJPA medicalSpecialty; + + /** + * Class constructor methods + */ + public SpecialistDoctorJPA() { + super(); + } + + public SpecialistDoctorJPA(String id, String nif, String name, String surname, String password, String email) { + this.id = id; + this.nif = nif; + this.name = name; + this.surname = surname; + this.password = password; + this.email = email; + } + + @Id + public String getId() { + return id; + } + + public void setId(String value) { + this.id = value; + } + + public String getNif() { + return nif; + } + + public void setNif(String value) { + this.nif = value; + } + + public String getName() { + return name; + } + + public void setName(String value) { + this.name = value; + } + + public String getSurname() { + return surname; + } + + public void setSurname(String surname) { + this.surname = surname; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + @ManyToOne + @JoinColumn(name = "MedicalSpecialtyName") + public MedicalSpecialtyJPA getMedicalSpecialty() { + return medicalSpecialty; + } + + public void setMedicalSpecialty(MedicalSpecialtyJPA specialty) { + this.medicalSpecialty = specialty; + } +} diff --git a/1.sources/MyHealth/src/managedbean/profile/AddFamilyDoctorMBean.java b/1.sources/MyHealth/src/managedbean/profile/AddFamilyDoctorMBean.java new file mode 100644 index 0000000..c3d147e --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/AddFamilyDoctorMBean.java @@ -0,0 +1,49 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@ManagedBean(name = "AddFamilyDoctorMBean") +@SessionScoped +public class AddFamilyDoctorMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public AddFamilyDoctorMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/profile/ProfileMBean.java b/1.sources/MyHealth/src/managedbean/profile/AddPatientMBean.java similarity index 84% rename from 1.sources/MyHealth/src/managedbean/profile/ProfileMBean.java rename to 1.sources/MyHealth/src/managedbean/profile/AddPatientMBean.java index 370dce1..e962daa 100644 --- a/1.sources/MyHealth/src/managedbean/profile/ProfileMBean.java +++ b/1.sources/MyHealth/src/managedbean/profile/AddPatientMBean.java @@ -18,9 +18,9 @@ import ejb.profile.ProfileFacadeRemote; * @author mark * */ -@ManagedBean(name = "ManagedBeanName") +@ManagedBean(name = "AddPatientMBean") @SessionScoped -public class ProfileMBean implements Serializable { +public class AddPatientMBean implements Serializable { private static final long serialVersionUID = 1L; @@ -32,7 +32,7 @@ public class ProfileMBean implements Serializable { * * @throws Exception */ - public ProfileMBean() throws Exception { + public AddPatientMBean() throws Exception { initializeAdminFacadeRemote(); } diff --git a/1.sources/MyHealth/src/managedbean/profile/AddSpecialistDoctorMBean.java b/1.sources/MyHealth/src/managedbean/profile/AddSpecialistDoctorMBean.java new file mode 100644 index 0000000..d9d460c --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/AddSpecialistDoctorMBean.java @@ -0,0 +1,49 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@ManagedBean(name = "AddSpecialistDoctorMBean") +@SessionScoped +public class AddSpecialistDoctorMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public AddSpecialistDoctorMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/profile/ChangeFamilyDoctorMBean.java b/1.sources/MyHealth/src/managedbean/profile/ChangeFamilyDoctorMBean.java new file mode 100644 index 0000000..c2a34b7 --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/ChangeFamilyDoctorMBean.java @@ -0,0 +1,49 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@ManagedBean(name = "ChangeFamilyDoctorMBean") +@SessionScoped +public class ChangeFamilyDoctorMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public ChangeFamilyDoctorMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/profile/ChangePrimaryHealthCareCenterMBean.java b/1.sources/MyHealth/src/managedbean/profile/ChangePrimaryHealthCareCenterMBean.java new file mode 100644 index 0000000..b8e8ed1 --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/ChangePrimaryHealthCareCenterMBean.java @@ -0,0 +1,49 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@ManagedBean(name = "ChangePrimaryHealthCareCenterMBean") +@SessionScoped +public class ChangePrimaryHealthCareCenterMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public ChangePrimaryHealthCareCenterMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/profile/ShowFamilyDoctorMBean.java b/1.sources/MyHealth/src/managedbean/profile/ShowFamilyDoctorMBean.java new file mode 100644 index 0000000..068d364 --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/ShowFamilyDoctorMBean.java @@ -0,0 +1,49 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@ManagedBean(name = "ShowFamilyDoctorMBean") +@SessionScoped +public class ShowFamilyDoctorMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public ShowFamilyDoctorMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/profile/ShowPatientMBean.java b/1.sources/MyHealth/src/managedbean/profile/ShowPatientMBean.java new file mode 100644 index 0000000..a4e2c5d --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/ShowPatientMBean.java @@ -0,0 +1,49 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@ManagedBean(name = "ShowPatientMBean") +@SessionScoped +public class ShowPatientMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public ShowPatientMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/profile/ShowSpecialistDoctorMBean.java b/1.sources/MyHealth/src/managedbean/profile/ShowSpecialistDoctorMBean.java new file mode 100644 index 0000000..ca65ec0 --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/ShowSpecialistDoctorMBean.java @@ -0,0 +1,49 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@ManagedBean(name = "ShowSpecialistDoctorMBean") +@SessionScoped +public class ShowSpecialistDoctorMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public ShowSpecialistDoctorMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/profile/UpdateFamilyDoctorMBean.java b/1.sources/MyHealth/src/managedbean/profile/UpdateFamilyDoctorMBean.java new file mode 100644 index 0000000..1c07c2a --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/UpdateFamilyDoctorMBean.java @@ -0,0 +1,49 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@ManagedBean(name = "UpdateFamilyDoctorMBean") +@SessionScoped +public class UpdateFamilyDoctorMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public UpdateFamilyDoctorMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/profile/UpdatePatientMBean.java b/1.sources/MyHealth/src/managedbean/profile/UpdatePatientMBean.java new file mode 100644 index 0000000..948a2dd --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/UpdatePatientMBean.java @@ -0,0 +1,49 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@ManagedBean(name = "UpdatePatientMBean") +@SessionScoped +public class UpdatePatientMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public UpdatePatientMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/profile/UpdateSpecialistDoctorMBean.java b/1.sources/MyHealth/src/managedbean/profile/UpdateSpecialistDoctorMBean.java new file mode 100644 index 0000000..ea6ed36 --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/UpdateSpecialistDoctorMBean.java @@ -0,0 +1,49 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/*** + * + * @author Marcos García Núñez (mgarcianun@uoc.edu) + * + */ +@ManagedBean(name = "UpdateSpecialistDoctorMBean") +@SessionScoped +public class UpdateSpecialistDoctorMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public UpdateSpecialistDoctorMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +}