Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public String save() {
- boolean isDatavalid = validateData();
- if (isDatavalid) {
- //clearRoles remove all user roles
- userService.clearRoles(selectedUser);
- List<UserRole> roles= userService.assignRolesToUser(selectedUser, rolesToAdd);
- selectedUser.setRoles(roles);
- userService.updateUser(selectedUser);
- manageFormsVisibility(true, false, false);
- }
- return null;
- }
- public List<UserRole> assignRolesToUser(User user, List<Role> roles) {
- List<UserRole> userRoles = new ArrayList<UserRole>();
- for(Role r:roles){
- UserRole role = new UserRole(user, r);
- userRoles.add(role);
- em.persist(role);
- }
- return userRoles;
- }
- @Entity
- public class User implements Serializable {
- //other properties
- private List<UserRole> roles = new ArrayList<UserRole>();
- @OneToMany(mappedBy = "user", cascade = CascadeType.REMOVE)
- public List<UserRole> getRoles() {
- roles.size();
- return roles;
- }
- }
- @Entity
- public class Role implements Serializable {
- //other properties
- private List<UserRole> users = new ArrayList<UserRole>();
- @OneToMany(mappedBy = "role", cascade = CascadeType.REMOVE)
- public List<UserRole> getUsers() {
- users.size();
- return users;
- }
- }
- @Entity
- @Table(name="User_Role")
- public class UserRole implements Serializable {
- private IdUserRole idUserRole = new IdUserRole();
- private Date activationDate;
- private Date deactivationDate;
- private User user;
- private Role role;
- private static final long serialVersionUID = 1L;
- public UserRole() {
- super();
- }
- @EmbeddedId
- public IdUserRole getIdUserRole() {
- return this.idUserRole;
- }
- public void setIdUserRole(IdUserRole idUserRole) {
- this.idUserRole = idUserRole;
- }
- @Temporal(TemporalType.DATE)
- public Date getActivationDate() {
- return this.activationDate;
- }
- public void setActivationDate(Date activationDate) {
- this.activationDate = activationDate;
- }
- @Temporal(TemporalType.DATE)
- public Date getDeactivationDate() {
- return this.deactivationDate;
- }
- public void setDeactivationDate(Date deactivationDate) {
- this.deactivationDate = deactivationDate;
- }
- public void setUser(User user) {
- this.user = user;
- }
- @ManyToOne
- @JoinColumn(name = "user_id", insertable = false, updatable = false)
- public User getUser() {
- return user;
- }
- public void setRole(Role role) {
- this.role = role;
- }
- @ManyToOne
- @JoinColumn(name = "role_id", insertable = false, updatable = false)
- public Role getRole() {
- return role;
- }
- public UserRole(User user, Role role) {
- getIdUserRole().setRoleId(role.getRoleId());
- getIdUserRole().setUserId(user.getUserId());
- this.setUser(user);
- this.setRole(role);
- user.getRoles().add(this);
- role.getUsers().add(this);
- }
- }
Add Comment
Please, Sign In to add comment