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 567707a3e11a8f642bbd8bf0129df535062b94b0..2a8ca46de0284701d6cfe3ece02ebeaee0257118 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
@@ -35,7 +35,7 @@ import javax.xml.bind.annotation.XmlTransient;
@Entity(name = "Pet")
-@XmlRootElement(name = "pet", namespace = "http://entities.domain.xcs.esei.uvigo.es")
+@XmlRootElement(name = "pett", namespace = "http://entities.domain.xcs.esei.uvigo.es")
@XmlAccessorType(XmlAccessType.FIELD)
public class Pet implements Serializable {
private static final long serialVersionUID = 1L;
@@ -69,7 +69,7 @@ public class Pet implements Serializable {
private Owner owner;
@ManyToMany(
- fetch = FetchType.LAZY,
+ fetch = FetchType.LAZY, //es LAZY
cascade = { CascadeType.PERSIST, CascadeType.MERGE }
)
@JoinTable(
diff --git a/jsf/pom.xml b/jsf/pom.xml
index 90c38e238fcc5c204a66f5d3270189159cd4d9dc..029093bfdf969ad00376315b378b6d5bea2301ce 100644
--- a/jsf/pom.xml
+++ b/jsf/pom.xml
@@ -13,6 +13,16 @@
XCS Sample - JSF
+
+
+ org.primefaces
+ primefaces
+
+
+ org.primefaces.themes
+ bootstrap
+
+
javax
diff --git a/jsf/src/main/java/es/uvigo/esei/xcs/jsf/PetManagedBean.java b/jsf/src/main/java/es/uvigo/esei/xcs/jsf/PetManagedBean.java
index e6854fd65376670687095e0c11e4a8a3c4d6114b..d22c2c1e5a9f40cdd2a55e1c0a4a1c43ce21e76c 100644
--- a/jsf/src/main/java/es/uvigo/esei/xcs/jsf/PetManagedBean.java
+++ b/jsf/src/main/java/es/uvigo/esei/xcs/jsf/PetManagedBean.java
@@ -74,7 +74,9 @@ public class PetManagedBean {
}
public List getPets() {
- return this.service.list(0, 100);
+ List list = this.service.getAll(0, 100);
+ System.out.println(list);
+ return list;
}
public String edit(Long petId) {
@@ -138,4 +140,34 @@ public class PetManagedBean {
private String getViewId() {
return FacesContext.getCurrentInstance().getViewRoot().getViewId();
}
+
+ public void assignToMe(Long petId) {
+ try {
+ service.assignVetToPet(petId);
+ } catch (Exception e) {
+ this.errorMessage = e.getMessage();
+ }
+ }
+
+ public void unassignFromMe(Long petId) {
+ try {
+ service.unassignVetFromPet(petId);
+ } catch (Exception e) {
+ this.errorMessage = e.getMessage();
+ }
+ }
+
+ public boolean isAssignedToMe(Pet pet) {
+ return this.service.isAssignedToCurrentVet(pet.getId());
+ }
+
+ public void toggleAssignment(Pet pet) {
+ if (isAssignedToMe(pet)) {
+ unassignFromMe(pet.getId());
+ } else {
+ assignToMe(pet.getId());
+ }
+ }
+
+
}
diff --git a/jsf/src/main/webapp/WEB-INF/template.xhtml b/jsf/src/main/webapp/WEB-INF/template.xhtml
index 85c07dd026bd3892493f474a6f77bb4324733bc6..01fc39dfb27fba01f27ab51bb986f5d68187020c 100644
--- a/jsf/src/main/webapp/WEB-INF/template.xhtml
+++ b/jsf/src/main/webapp/WEB-INF/template.xhtml
@@ -41,7 +41,7 @@
-
+