From c8ba5a3239ae255e1414fa8b90d44f150ebeeab9 Mon Sep 17 00:00:00 2001 From: Breixo Senra Date: Sat, 25 Oct 2025 18:59:55 +0200 Subject: [PATCH] =?UTF-8?q?Env=C3=ADo=20de=20email=20a=20owner=20de=20masc?= =?UTF-8?q?ota=20vacunada?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/es/uvigo/esei/xcs/domain/entities/Pet.java | 4 ++++ .../java/es/uvigo/esei/xcs/jsf/PetDetailsManagedBean.java | 4 ++++ jsf/src/main/webapp/vet/petDetails.xhtml | 3 +++ .../main/java/es/uvigo/esei/xcs/service/PetService.java | 5 ++++- .../es/uvigo/esei/xcs/service/VaccinationService.java | 8 ++++++++ 5 files changed, 23 insertions(+), 1 deletion(-) diff --git a/domain/src/main/java/es/uvigo/esei/xcs/domain/entities/Pet.java b/domain/src/main/java/es/uvigo/esei/xcs/domain/entities/Pet.java index c344c92..53adddf 100644 --- a/domain/src/main/java/es/uvigo/esei/xcs/domain/entities/Pet.java +++ b/domain/src/main/java/es/uvigo/esei/xcs/domain/entities/Pet.java @@ -221,6 +221,10 @@ public class Pet implements Serializable { this.vaccinations.remove(vaccination); } + public Collection getIdentifiers() { + return this.identifiers; + } + public void addIdentifier(Identifier identifier) { requireNonNull(identifier, "Identifier can't be null"); identifier.setPet(this); diff --git a/jsf/src/main/java/es/uvigo/esei/xcs/jsf/PetDetailsManagedBean.java b/jsf/src/main/java/es/uvigo/esei/xcs/jsf/PetDetailsManagedBean.java index 2515eb6..beb9948 100644 --- a/jsf/src/main/java/es/uvigo/esei/xcs/jsf/PetDetailsManagedBean.java +++ b/jsf/src/main/java/es/uvigo/esei/xcs/jsf/PetDetailsManagedBean.java @@ -18,6 +18,7 @@ import java.util.Map; import es.uvigo.esei.xcs.domain.entities.Pet; import es.uvigo.esei.xcs.domain.entities.Vaccine; import es.uvigo.esei.xcs.domain.entities.Vaccination; +import es.uvigo.esei.xcs.service.EmailService; import es.uvigo.esei.xcs.service.PetService; import es.uvigo.esei.xcs.service.VaccinationService; import es.uvigo.esei.xcs.service.VaccineService; @@ -36,6 +37,9 @@ public class PetDetailsManagedBean implements Serializable{ @Inject private VaccinationService vaccinationService; + + @Inject + private EmailService emailService; private Pet pet; diff --git a/jsf/src/main/webapp/vet/petDetails.xhtml b/jsf/src/main/webapp/vet/petDetails.xhtml index d5bc8ff..dd4aec7 100644 --- a/jsf/src/main/webapp/vet/petDetails.xhtml +++ b/jsf/src/main/webapp/vet/petDetails.xhtml @@ -25,6 +25,9 @@ + + +

Vacunas

diff --git a/service/src/main/java/es/uvigo/esei/xcs/service/PetService.java b/service/src/main/java/es/uvigo/esei/xcs/service/PetService.java index 47bd9eb..6ea6125 100644 --- a/service/src/main/java/es/uvigo/esei/xcs/service/PetService.java +++ b/service/src/main/java/es/uvigo/esei/xcs/service/PetService.java @@ -8,6 +8,7 @@ import java.util.List; import javax.annotation.security.PermitAll; import javax.annotation.security.RolesAllowed; +import javax.ejb.EJB; import javax.ejb.EJBAccessException; import javax.ejb.Stateless; import javax.inject.Inject; @@ -32,6 +33,9 @@ public class PetService { @Inject private Principal currentUser; + @EJB + private EmailService emailService; + @PersistenceContext private EntityManager em; @@ -242,6 +246,5 @@ public class PetService { return count > 0; } - } diff --git a/service/src/main/java/es/uvigo/esei/xcs/service/VaccinationService.java b/service/src/main/java/es/uvigo/esei/xcs/service/VaccinationService.java index 55b7fa3..70b5c98 100644 --- a/service/src/main/java/es/uvigo/esei/xcs/service/VaccinationService.java +++ b/service/src/main/java/es/uvigo/esei/xcs/service/VaccinationService.java @@ -8,6 +8,7 @@ import java.text.SimpleDateFormat; import java.util.List; import javax.annotation.security.PermitAll; +import javax.ejb.EJB; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @@ -24,6 +25,8 @@ public class VaccinationService { @PersistenceContext EntityManager em; + @EJB + private EmailService emailService; public Vaccination get(int vaccinationId) { return em.find(Vaccination.class, vaccinationId); @@ -72,6 +75,11 @@ public class VaccinationService { Vaccination vaccination = new Vaccination(pet, vaccine, date); em.persist(vaccination); + emailService.send( + pet.getOwner().getLogin(), + pet.getName() + " ha sido vacunado con " + vaccine.getName(), + pet.getName() + " ha sido vacunado con " + vaccine.getName() + ); return vaccination; } -- 2.18.1