Subida incial del esqueleto del componente profile:

* Clases de ejb FacadeBean y FacadeRemote con implementación incial.
* Clases de persistencia JPA necesarias para el componente con algunas
relaciones configuradas (Necesaria revisión).
* ClasesTO (Transfer Object) iniciales (Necesitan revisión profunda).
* Cambio de estrategia sobre paquetes para clases TO, es necesario
ubicarlas en el mismo paquete, ya que se comparten por varios
componentes. Se sigue la misma estrategia que con las clases JPA.
* Si alguien necesita utilizar alguna clase JPA debe revisarla (Seguro
que faltan relaciones).
* Creadas clases esqueleto (Dummy) para MBean del componente perfil.
* Se ha eliminado paquetes no necesarios (clases TO).
* En principio el proyecto debería compilar.
* Se asume que el equema de base de datos se llamará "MyHealth" (Ver
anotación en clases JPA.
This commit is contained in:
mgarcianun
2019-11-20 21:45:32 +01:00
parent 2c96f0fef2
commit ffcb235e69
28 changed files with 1417 additions and 84 deletions

View File

@@ -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<PatientJPA> 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<PatientJPA> getPatients() {
return patients;
}
public void setPatients(Collection<PatientJPA> patients) {
this.patients = patients;
}
@ManyToOne
@JoinColumn (name="PrimaryHealthCareCenterId")
public PrimaryHealthCareCenterJPA getPrimaryHealthCareCenter() {
return primaryHealthCareCenter;
}
public void setPrimaryHealthCareCenter(PrimaryHealthCareCenterJPA center) {
this.primaryHealthCareCenter = center;
}
}

View File

@@ -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;
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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;
}
}