From 3d1868225aae20a2a7425becb19248bcdb974e05 Mon Sep 17 00:00:00 2001 From: PEDSF Date: Thu, 26 Nov 2020 19:41:41 +0100 Subject: [PATCH] add Privilege --- .../petclinic/controller/PetController.java | 7 ++-- .../petclinic/controller/UserController.java | 3 +- .../petclinic/model/common/Privilege.java | 42 +++++++++++++++++++ .../samples/petclinic/model/common/User.java | 5 +-- .../service/business/PetService.java | 2 - 5 files changed, 48 insertions(+), 11 deletions(-) create mode 100644 src/main/java/org/springframework/samples/petclinic/model/common/Privilege.java diff --git a/src/main/java/org/springframework/samples/petclinic/controller/PetController.java b/src/main/java/org/springframework/samples/petclinic/controller/PetController.java index b1bcec754..4cd91ea9b 100644 --- a/src/main/java/org/springframework/samples/petclinic/controller/PetController.java +++ b/src/main/java/org/springframework/samples/petclinic/controller/PetController.java @@ -60,12 +60,13 @@ class PetController extends WebSocketSender { @ModelAttribute("owner") public OwnerDTO findOwner(@PathVariable("ownerId") int ownerId) { - return this.ownerService.findById(ownerId); + OwnerDTO ownerDTO = ownerService.findById(ownerId); + return ownerDTO; } @InitBinder("owner") public void initOwnerBinder(WebDataBinder dataBinder) { - dataBinder.setDisallowedFields(CommonAttribute.OWNER_ID); + // dataBinder.setDisallowedFields(CommonAttribute.OWNER_ID); } @InitBinder("pet") @@ -125,7 +126,7 @@ class PetController extends WebSocketSender { return CommonView.PET_CREATE_OR_UPDATE; } else { - pet.setOwner(owner); + owner.addPet(pet); this.petService.save(pet); sendSuccessMessage(CommonWebSocket.PET_UPDATED); return CommonView.OWNER_OWNERS_ID_R; diff --git a/src/main/java/org/springframework/samples/petclinic/controller/UserController.java b/src/main/java/org/springframework/samples/petclinic/controller/UserController.java index 45cd8bb0b..394ccb6b4 100644 --- a/src/main/java/org/springframework/samples/petclinic/controller/UserController.java +++ b/src/main/java/org/springframework/samples/petclinic/controller/UserController.java @@ -59,8 +59,7 @@ public class UserController extends WebSocketSender { @InitBinder("user") public void setAllowedFields(WebDataBinder dataBinder) { - // dataBinder.setDisallowedFields(CommonAttribute.USER_ID,"roles"); - + dataBinder.setDisallowedFields(CommonAttribute.USER_ID,"roles"); } Map oauth2AuthenticationUrls = new HashMap<>(); diff --git a/src/main/java/org/springframework/samples/petclinic/model/common/Privilege.java b/src/main/java/org/springframework/samples/petclinic/model/common/Privilege.java new file mode 100644 index 000000000..7a063a6d6 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/model/common/Privilege.java @@ -0,0 +1,42 @@ +package org.springframework.samples.petclinic.model.common; + +import javax.persistence.*; +import java.util.Set; + + +@Entity +public class Privilege { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + private String name; + + @ManyToMany(mappedBy = "privileges") + private Set roles; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Set getRoles() { + return roles; + } + + public void setRoles(Set roles) { + this.roles = roles; + } +} diff --git a/src/main/java/org/springframework/samples/petclinic/model/common/User.java b/src/main/java/org/springframework/samples/petclinic/model/common/User.java index f7ae4fd38..19226b72b 100644 --- a/src/main/java/org/springframework/samples/petclinic/model/common/User.java +++ b/src/main/java/org/springframework/samples/petclinic/model/common/User.java @@ -1,7 +1,5 @@ package org.springframework.samples.petclinic.model.common; -import org.springframework.beans.support.MutableSortDefinition; -import org.springframework.beans.support.PropertyComparator; import org.springframework.samples.petclinic.common.CommonError; import org.springframework.samples.petclinic.common.CommonParameter; import org.springframework.security.core.GrantedAuthority; @@ -12,7 +10,6 @@ import javax.persistence.*; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; -import javax.xml.bind.annotation.XmlElement; import java.io.Serializable; import java.util.*; @@ -21,7 +18,7 @@ import java.util.*; * * @author Paul-Emmanuel DOS SANTOS FACAO */ -@Entity(name = "User") +@Entity @Table(name = "users") public class User extends Person implements Serializable, UserDetails { diff --git a/src/main/java/org/springframework/samples/petclinic/service/business/PetService.java b/src/main/java/org/springframework/samples/petclinic/service/business/PetService.java index a7e205959..82c43182b 100644 --- a/src/main/java/org/springframework/samples/petclinic/service/business/PetService.java +++ b/src/main/java/org/springframework/samples/petclinic/service/business/PetService.java @@ -123,9 +123,7 @@ public class PetService implements BaseService { @Override public PetDTO save(PetDTO petDTO) { Pet pet = dtoToEntity(petDTO); - Owner owner = pet.getOwner(); pet = petRepository.save(pet); - pet.setOwner(owner); return entityToDTO(pet); }