change role to enum

This commit is contained in:
Athou
2013-03-30 19:06:32 +01:00
parent 06aa9c4a6f
commit d8b8f6617a
15 changed files with 77 additions and 86 deletions

View File

@@ -18,8 +18,8 @@ import com.commafeed.backend.model.Feed;
import com.commafeed.backend.model.FeedCategory;
import com.commafeed.backend.model.FeedSubscription;
import com.commafeed.backend.model.User;
import com.commafeed.backend.model.UserRole.Role;
import com.commafeed.backend.security.PasswordEncryptionService;
import com.commafeed.backend.security.Role;
@Startup
@Singleton

View File

@@ -7,6 +7,7 @@ import javax.ejb.Stateless;
import com.commafeed.backend.model.User;
import com.commafeed.backend.model.UserRole;
import com.commafeed.backend.model.UserRole.Role;
import com.commafeed.frontend.utils.ModelFactory.MF;
import com.google.common.collect.Sets;
@@ -18,8 +19,8 @@ public class UserRoleService extends GenericDAO<UserRole> {
return findByField(MF.i(MF.p(UserRole.class).getUser()), user);
}
public Set<String> getRoles(User user) {
Set<String> list = Sets.newHashSet();
public Set<Role> getRoles(User user) {
Set<Role> list = Sets.newHashSet();
for (UserRole role : findByField(MF.i(proxy().getUser()), user)) {
list.add(role.getRole());
}

View File

@@ -8,8 +8,8 @@ import javax.inject.Inject;
import com.commafeed.backend.model.User;
import com.commafeed.backend.model.UserRole;
import com.commafeed.backend.model.UserRole.Role;
import com.commafeed.backend.security.PasswordEncryptionService;
import com.commafeed.backend.security.Role;
import com.commafeed.frontend.utils.ModelFactory.MF;
import com.google.common.collect.Iterables;
@@ -34,7 +34,7 @@ public class UserService extends GenericDAO<User> {
return null;
}
public User register(String name, String password, Collection<String> roles) {
public User register(String name, String password, Collection<Role> roles) {
List<User> users = findByField(MF.i(proxy().getName()), name);
if (!users.isEmpty()) {
return null;
@@ -45,7 +45,7 @@ public class UserService extends GenericDAO<User> {
user.setSalt(salt);
user.setPassword(encryptionService.getEncryptedPassword(password, salt));
user.getRoles().add(new UserRole(user, Role.USER));
for (String role : roles) {
for (Role role : roles) {
user.getRoles().add(new UserRole(user, role));
user.getRoles().add(new UserRole(user, role));
}

View File

@@ -2,6 +2,8 @@ package com.commafeed.backend.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@@ -11,18 +13,23 @@ import javax.persistence.Table;
@SuppressWarnings("serial")
public class UserRole extends AbstractModel {
public static enum Role {
USER, ADMIN
}
@OneToOne
@JoinColumn(name = "user_id", nullable = false)
private User user;
@Column(name = "roleName", nullable = false)
private String role;
@Enumerated(EnumType.STRING)
private Role role;
public UserRole() {
}
public UserRole(User user, String role) {
public UserRole(User user, Role role) {
this.user = user;
this.role = role;
}
@@ -35,11 +42,11 @@ public class UserRole extends AbstractModel {
this.user = user;
}
public String getRole() {
public Role getRole() {
return role;
}
public void setRole(String role) {
public void setRole(Role role) {
this.role = role;
}

View File

@@ -1,6 +0,0 @@
package com.commafeed.backend.security;
public class Role {
public static final String USER = "user";
public static final String ADMIN = "admin";
}