[Major] added firstname and lastname to certificate
Also renamed model attribute from surname to lastname
This commit is contained in:
parent
b47d3e3dcd
commit
d2faed1d2e
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
<User userId="1" username="admin" password="8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918">
|
<User userId="1" username="admin" password="8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918">
|
||||||
<Firstname>Application</Firstname>
|
<Firstname>Application</Firstname>
|
||||||
<Surname>Administrator</Surname>
|
<Lastname>Administrator</Lastname>
|
||||||
<State>ENABLED</State>
|
<State>ENABLED</State>
|
||||||
<Locale>en_GB</Locale>
|
<Locale>en_GB</Locale>
|
||||||
<Roles>
|
<Roles>
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
<User userId="2" username="system_admin">
|
<User userId="2" username="system_admin">
|
||||||
<Firstname>System User</Firstname>
|
<Firstname>System User</Firstname>
|
||||||
<Surname>Administrator</Surname>
|
<Lastname>Administrator</Lastname>
|
||||||
<State>SYSTEM</State>
|
<State>SYSTEM</State>
|
||||||
<Locale>en_GB</Locale>
|
<Locale>en_GB</Locale>
|
||||||
<Roles>
|
<Roles>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
<User userId="3" username="system_admin2">
|
<User userId="3" username="system_admin2">
|
||||||
<Firstname>System User</Firstname>
|
<Firstname>System User</Firstname>
|
||||||
<Surname>Administrator</Surname>
|
<Lastname>Administrator</Lastname>
|
||||||
<State>SYSTEM</State>
|
<State>SYSTEM</State>
|
||||||
<Locale>en_GB</Locale>
|
<Locale>en_GB</Locale>
|
||||||
<Roles>
|
<Roles>
|
||||||
|
|
|
@ -129,7 +129,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
String selUserId = selectorRep.getUserId();
|
String selUserId = selectorRep.getUserId();
|
||||||
String selUsername = selectorRep.getUsername();
|
String selUsername = selectorRep.getUsername();
|
||||||
String selFirstname = selectorRep.getFirstname();
|
String selFirstname = selectorRep.getFirstname();
|
||||||
String selSurname = selectorRep.getSurname();
|
String selLastname = selectorRep.getLastname();
|
||||||
UserState selUserState = selectorRep.getUserState();
|
UserState selUserState = selectorRep.getUserState();
|
||||||
Locale selLocale = selectorRep.getLocale();
|
Locale selLocale = selectorRep.getLocale();
|
||||||
Set<String> selRoles = selectorRep.getRoles();
|
Set<String> selRoles = selectorRep.getRoles();
|
||||||
|
@ -143,7 +143,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
boolean userIdSelected;
|
boolean userIdSelected;
|
||||||
boolean usernameSelected;
|
boolean usernameSelected;
|
||||||
boolean firstnameSelected;
|
boolean firstnameSelected;
|
||||||
boolean surnameSelected;
|
boolean lastnameSelected;
|
||||||
boolean userStateSelected;
|
boolean userStateSelected;
|
||||||
boolean localeSelected;
|
boolean localeSelected;
|
||||||
boolean roleSelected;
|
boolean roleSelected;
|
||||||
|
@ -173,13 +173,13 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
else
|
else
|
||||||
firstnameSelected = false;
|
firstnameSelected = false;
|
||||||
|
|
||||||
// surname
|
// lastname
|
||||||
if (selSurname == null)
|
if (selLastname == null)
|
||||||
surnameSelected = true;
|
lastnameSelected = true;
|
||||||
else if (selSurname.equals(user.getSurname()))
|
else if (selLastname.equals(user.getLastname()))
|
||||||
surnameSelected = true;
|
lastnameSelected = true;
|
||||||
else
|
else
|
||||||
surnameSelected = false;
|
lastnameSelected = false;
|
||||||
|
|
||||||
// user state
|
// user state
|
||||||
if (selUserState == null)
|
if (selUserState == null)
|
||||||
|
@ -203,7 +203,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
// properties
|
// properties
|
||||||
propertySelected = isSelectedByProperty(selPropertyMap, user.getProperties());
|
propertySelected = isSelectedByProperty(selPropertyMap, user.getProperties());
|
||||||
|
|
||||||
boolean selected = userIdSelected && usernameSelected && firstnameSelected && surnameSelected
|
boolean selected = userIdSelected && usernameSelected && firstnameSelected && lastnameSelected
|
||||||
&& userStateSelected && localeSelected && roleSelected && propertySelected;
|
&& userStateSelected && localeSelected && roleSelected && propertySelected;
|
||||||
|
|
||||||
if (selected)
|
if (selected)
|
||||||
|
@ -303,7 +303,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
|
|
||||||
// create new user
|
// create new user
|
||||||
User user = new User(userRep.getUserId(), userRep.getUsername(), passwordHash, userRep.getFirstname(),
|
User user = new User(userRep.getUserId(), userRep.getUsername(), passwordHash, userRep.getFirstname(),
|
||||||
userRep.getSurname(), userRep.getUserState(), userRep.getRoles(), userRep.getLocale(),
|
userRep.getLastname(), userRep.getUserState(), userRep.getRoles(), userRep.getLocale(),
|
||||||
userRep.getProperties());
|
userRep.getProperties());
|
||||||
|
|
||||||
// delegate to persistence handler
|
// delegate to persistence handler
|
||||||
|
@ -387,7 +387,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
newRoles.add(roleName);
|
newRoles.add(roleName);
|
||||||
|
|
||||||
User newUser = new User(user.getUserId(), user.getUsername(), user.getPassword(), user.getFirstname(),
|
User newUser = new User(user.getUserId(), user.getUsername(), user.getPassword(), user.getFirstname(),
|
||||||
user.getSurname(), user.getUserState(), newRoles, user.getLocale(), user.getProperties());
|
user.getLastname(), user.getUserState(), newRoles, user.getLocale(), user.getProperties());
|
||||||
|
|
||||||
// delegate user replacement to persistence handler
|
// delegate user replacement to persistence handler
|
||||||
this.persistenceHandler.addOrReplaceUser(newUser);
|
this.persistenceHandler.addOrReplaceUser(newUser);
|
||||||
|
@ -467,7 +467,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
Set<String> newRoles = new HashSet<String>(currentRoles);
|
Set<String> newRoles = new HashSet<String>(currentRoles);
|
||||||
newRoles.remove(roleName);
|
newRoles.remove(roleName);
|
||||||
User newUser = new User(user.getUserId(), user.getUsername(), user.getPassword(), user.getFirstname(),
|
User newUser = new User(user.getUserId(), user.getUsername(), user.getPassword(), user.getFirstname(),
|
||||||
user.getSurname(), user.getUserState(), newRoles, user.getLocale(), user.getProperties());
|
user.getLastname(), user.getUserState(), newRoles, user.getLocale(), user.getProperties());
|
||||||
|
|
||||||
// delegate user replacement to persistence handler
|
// delegate user replacement to persistence handler
|
||||||
this.persistenceHandler.addOrReplaceUser(newUser);
|
this.persistenceHandler.addOrReplaceUser(newUser);
|
||||||
|
@ -505,14 +505,14 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
|
|
||||||
// create new user
|
// create new user
|
||||||
User newUser = new User(user.getUserId(), user.getUsername(), user.getPassword(), user.getFirstname(),
|
User newUser = new User(user.getUserId(), user.getUsername(), user.getPassword(), user.getFirstname(),
|
||||||
user.getSurname(), user.getUserState(), user.getRoles(), locale, user.getProperties());
|
user.getLastname(), user.getUserState(), user.getRoles(), locale, user.getProperties());
|
||||||
|
|
||||||
// delegate user replacement to persistence handler
|
// delegate user replacement to persistence handler
|
||||||
this.persistenceHandler.addOrReplaceUser(newUser);
|
this.persistenceHandler.addOrReplaceUser(newUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setUserName(Certificate certificate, String username, String firstname, String surname) {
|
public void setUserName(Certificate certificate, String username, String firstname, String lastname) {
|
||||||
|
|
||||||
// validate who is doing this
|
// validate who is doing this
|
||||||
assertIsPrivilegeAdmin(certificate);
|
assertIsPrivilegeAdmin(certificate);
|
||||||
|
@ -524,7 +524,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
// create new user
|
// create new user
|
||||||
User newUser = new User(user.getUserId(), user.getUsername(), user.getPassword(), firstname, surname,
|
User newUser = new User(user.getUserId(), user.getUsername(), user.getPassword(), firstname, lastname,
|
||||||
user.getUserState(), user.getRoles(), user.getLocale(), user.getProperties());
|
user.getUserState(), user.getRoles(), user.getLocale(), user.getProperties());
|
||||||
|
|
||||||
// delegate user replacement to persistence handler
|
// delegate user replacement to persistence handler
|
||||||
|
@ -569,7 +569,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
|
|
||||||
// create new user
|
// create new user
|
||||||
User newUser = new User(user.getUserId(), user.getUsername(), passwordHash, user.getFirstname(),
|
User newUser = new User(user.getUserId(), user.getUsername(), passwordHash, user.getFirstname(),
|
||||||
user.getSurname(), user.getUserState(), user.getRoles(), user.getLocale(), user.getProperties());
|
user.getLastname(), user.getUserState(), user.getRoles(), user.getLocale(), user.getProperties());
|
||||||
|
|
||||||
// delegate user replacement to persistence handler
|
// delegate user replacement to persistence handler
|
||||||
this.persistenceHandler.addOrReplaceUser(newUser);
|
this.persistenceHandler.addOrReplaceUser(newUser);
|
||||||
|
@ -598,7 +598,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
|
|
||||||
// create new user
|
// create new user
|
||||||
User newUser = new User(user.getUserId(), user.getUsername(), user.getPassword(), user.getFirstname(),
|
User newUser = new User(user.getUserId(), user.getUsername(), user.getPassword(), user.getFirstname(),
|
||||||
user.getSurname(), state, user.getRoles(), user.getLocale(), user.getProperties());
|
user.getLastname(), state, user.getRoles(), user.getLocale(), user.getProperties());
|
||||||
|
|
||||||
// delegate user replacement to persistence handler
|
// delegate user replacement to persistence handler
|
||||||
this.persistenceHandler.addOrReplaceUser(newUser);
|
this.persistenceHandler.addOrReplaceUser(newUser);
|
||||||
|
@ -673,8 +673,8 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
String sessionId = nextSessionId();
|
String sessionId = nextSessionId();
|
||||||
|
|
||||||
// create a new certificate, with details of the user
|
// create a new certificate, with details of the user
|
||||||
certificate = new Certificate(sessionId, System.currentTimeMillis(), username, authToken, user.getLocale(),
|
certificate = new Certificate(sessionId, System.currentTimeMillis(), username, user.getFirstname(),
|
||||||
new HashMap<String, String>(user.getProperties()));
|
user.getLastname(), authToken, user.getLocale(), new HashMap<String, String>(user.getProperties()));
|
||||||
|
|
||||||
PrivilegeContext privilegeContext = buildPrivilegeContext(certificate, user);
|
PrivilegeContext privilegeContext = buildPrivilegeContext(certificate, user);
|
||||||
this.privilegeContextMap.put(sessionId, privilegeContext);
|
this.privilegeContextMap.put(sessionId, privilegeContext);
|
||||||
|
@ -1055,7 +1055,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler {
|
||||||
|
|
||||||
// create a new certificate, with details of the user
|
// create a new certificate, with details of the user
|
||||||
Certificate systemUserCertificate = new Certificate(sessionId, System.currentTimeMillis(), systemUsername,
|
Certificate systemUserCertificate = new Certificate(sessionId, System.currentTimeMillis(), systemUsername,
|
||||||
authToken, user.getLocale(), new HashMap<String, String>(user.getProperties()));
|
null, null, authToken, user.getLocale(), new HashMap<String, String>(user.getProperties()));
|
||||||
|
|
||||||
// create and save a new privilege context
|
// create and save a new privilege context
|
||||||
PrivilegeContext privilegeContext = buildPrivilegeContext(systemUserCertificate, user);
|
PrivilegeContext privilegeContext = buildPrivilegeContext(systemUserCertificate, user);
|
||||||
|
|
|
@ -256,7 +256,7 @@ public interface PrivilegeHandler {
|
||||||
throws AccessDeniedException, PrivilegeException;
|
throws AccessDeniedException, PrivilegeException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes the name of the user. This changes the first name and the surname. If either value is null, then that
|
* Changes the name of the user. This changes the first name and the lastname. If either value is null, then that
|
||||||
* value is not changed
|
* value is not changed
|
||||||
*
|
*
|
||||||
* @param certificate
|
* @param certificate
|
||||||
|
@ -265,15 +265,15 @@ public interface PrivilegeHandler {
|
||||||
* the username of the {@link User} for which the name is to be changed
|
* the username of the {@link User} for which the name is to be changed
|
||||||
* @param firstname
|
* @param firstname
|
||||||
* the new first name
|
* the new first name
|
||||||
* @param surname
|
* @param lastname
|
||||||
* the new surname
|
* the new lastname
|
||||||
*
|
*
|
||||||
* @throws AccessDeniedException
|
* @throws AccessDeniedException
|
||||||
* if the user for this certificate may not perform the action
|
* if the user for this certificate may not perform the action
|
||||||
* @throws PrivilegeException
|
* @throws PrivilegeException
|
||||||
* if there is anything wrong with this certificate
|
* if there is anything wrong with this certificate
|
||||||
*/
|
*/
|
||||||
public void setUserName(Certificate certificate, String username, String firstname, String surname)
|
public void setUserName(Certificate certificate, String username, String firstname, String lastname)
|
||||||
throws AccessDeniedException, PrivilegeException;
|
throws AccessDeniedException, PrivilegeException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -134,9 +134,9 @@ public class XmlConstants {
|
||||||
public static final String XML_FIRSTNAME = "Firstname";
|
public static final String XML_FIRSTNAME = "Firstname";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* XML_SURNAME = "Surname" :
|
* XML_LASTNAME = "Lastname" :
|
||||||
*/
|
*/
|
||||||
public static final String XML_SURNAME = "Surname";
|
public static final String XML_LASTNAME = "Lastname";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* XML_STATE = "State" :
|
* XML_STATE = "State" :
|
||||||
|
|
|
@ -40,6 +40,8 @@ public final class Certificate implements Serializable {
|
||||||
private final String sessionId;
|
private final String sessionId;
|
||||||
private final long loginTime;
|
private final long loginTime;
|
||||||
private final String username;
|
private final String username;
|
||||||
|
private final String firstname;
|
||||||
|
private final String lastname;
|
||||||
private final String authToken;
|
private final String authToken;
|
||||||
|
|
||||||
private Locale locale;
|
private Locale locale;
|
||||||
|
@ -59,6 +61,10 @@ public final class Certificate implements Serializable {
|
||||||
* the users session id
|
* the users session id
|
||||||
* @param username
|
* @param username
|
||||||
* the users login name
|
* the users login name
|
||||||
|
* @param firstname
|
||||||
|
* the users first name
|
||||||
|
* @param lastname
|
||||||
|
* the users last name
|
||||||
* @param authToken
|
* @param authToken
|
||||||
* the authentication token defining the users unique session and is a private field of this certificate.
|
* the authentication token defining the users unique session and is a private field of this certificate.
|
||||||
* @param locale
|
* @param locale
|
||||||
|
@ -67,8 +73,8 @@ public final class Certificate implements Serializable {
|
||||||
* a {@link Map} containing string value pairs of properties for the logged in user. These properties can
|
* a {@link Map} containing string value pairs of properties for the logged in user. These properties can
|
||||||
* be edited and can be used for the user to change settings of this session
|
* be edited and can be used for the user to change settings of this session
|
||||||
*/
|
*/
|
||||||
public Certificate(String sessionId, long loginTime, String username, String authToken, Locale locale,
|
public Certificate(String sessionId, long loginTime, String username, String firstname, String lastname,
|
||||||
Map<String, String> propertyMap) {
|
String authToken, Locale locale, Map<String, String> propertyMap) {
|
||||||
|
|
||||||
// validate arguments are not null
|
// validate arguments are not null
|
||||||
if (StringHelper.isEmpty(sessionId)) {
|
if (StringHelper.isEmpty(sessionId)) {
|
||||||
|
@ -84,6 +90,8 @@ public final class Certificate implements Serializable {
|
||||||
this.sessionId = sessionId;
|
this.sessionId = sessionId;
|
||||||
this.loginTime = loginTime;
|
this.loginTime = loginTime;
|
||||||
this.username = username;
|
this.username = username;
|
||||||
|
this.firstname = firstname;
|
||||||
|
this.lastname = lastname;
|
||||||
this.authToken = authToken;
|
this.authToken = authToken;
|
||||||
|
|
||||||
// if no locale is given, set default
|
// if no locale is given, set default
|
||||||
|
@ -147,6 +155,20 @@ public final class Certificate implements Serializable {
|
||||||
return this.username;
|
return this.username;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the firstname
|
||||||
|
*/
|
||||||
|
public String getFirstname() {
|
||||||
|
return this.firstname;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the lastname
|
||||||
|
*/
|
||||||
|
public String getLastname() {
|
||||||
|
return this.lastname;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the loginTime
|
* @return the loginTime
|
||||||
*/
|
*/
|
||||||
|
@ -176,6 +198,17 @@ public final class Certificate implements Serializable {
|
||||||
builder.append(this.sessionId);
|
builder.append(this.sessionId);
|
||||||
builder.append(", username=");
|
builder.append(", username=");
|
||||||
builder.append(this.username);
|
builder.append(this.username);
|
||||||
|
|
||||||
|
if (StringHelper.isNotEmpty(this.firstname)) {
|
||||||
|
builder.append(", firstname=");
|
||||||
|
builder.append(this.firstname);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StringHelper.isNotEmpty(this.lastname)) {
|
||||||
|
builder.append(", lastname=");
|
||||||
|
builder.append(this.lastname);
|
||||||
|
}
|
||||||
|
|
||||||
builder.append(", locale=");
|
builder.append(", locale=");
|
||||||
builder.append(this.locale);
|
builder.append(this.locale);
|
||||||
builder.append("]");
|
builder.append("]");
|
||||||
|
|
|
@ -39,7 +39,7 @@ public class UserRep implements Serializable {
|
||||||
private final String userId;
|
private final String userId;
|
||||||
private String username;
|
private String username;
|
||||||
private String firstname;
|
private String firstname;
|
||||||
private String surname;
|
private String lastname;
|
||||||
private UserState userState;
|
private UserState userState;
|
||||||
private Set<String> roles;
|
private Set<String> roles;
|
||||||
private Locale locale;
|
private Locale locale;
|
||||||
|
@ -54,8 +54,8 @@ public class UserRep implements Serializable {
|
||||||
* the user's login name
|
* the user's login name
|
||||||
* @param firstname
|
* @param firstname
|
||||||
* the user's first name
|
* the user's first name
|
||||||
* @param surname
|
* @param lastname
|
||||||
* the user's surname
|
* the user's last name
|
||||||
* @param userState
|
* @param userState
|
||||||
* the user's {@link UserState}
|
* the user's {@link UserState}
|
||||||
* @param roles
|
* @param roles
|
||||||
|
@ -65,12 +65,12 @@ public class UserRep implements Serializable {
|
||||||
* @param propertyMap
|
* @param propertyMap
|
||||||
* a {@link Map} containing string value pairs of properties for this user
|
* a {@link Map} containing string value pairs of properties for this user
|
||||||
*/
|
*/
|
||||||
public UserRep(String userId, String username, String firstname, String surname, UserState userState,
|
public UserRep(String userId, String username, String firstname, String lastname, UserState userState,
|
||||||
Set<String> roles, Locale locale, Map<String, String> propertyMap) {
|
Set<String> roles, Locale locale, Map<String, String> propertyMap) {
|
||||||
this.userId = userId;
|
this.userId = userId;
|
||||||
this.username = username;
|
this.username = username;
|
||||||
this.firstname = firstname;
|
this.firstname = firstname;
|
||||||
this.surname = surname;
|
this.lastname = lastname;
|
||||||
this.userState = userState;
|
this.userState = userState;
|
||||||
this.roles = roles;
|
this.roles = roles;
|
||||||
this.locale = locale;
|
this.locale = locale;
|
||||||
|
@ -97,8 +97,8 @@ public class UserRep implements Serializable {
|
||||||
if (StringHelper.isEmpty(this.firstname))
|
if (StringHelper.isEmpty(this.firstname))
|
||||||
throw new PrivilegeException("firstname is null or empty"); //$NON-NLS-1$
|
throw new PrivilegeException("firstname is null or empty"); //$NON-NLS-1$
|
||||||
|
|
||||||
if (StringHelper.isEmpty(this.surname))
|
if (StringHelper.isEmpty(this.lastname))
|
||||||
throw new PrivilegeException("surname is null or empty"); //$NON-NLS-1$
|
throw new PrivilegeException("lastname is null or empty"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.roles == null)
|
if (this.roles == null)
|
||||||
|
@ -143,18 +143,18 @@ public class UserRep implements Serializable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the surname
|
* @return the lastname
|
||||||
*/
|
*/
|
||||||
public String getSurname() {
|
public String getLastname() {
|
||||||
return this.surname;
|
return this.lastname;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param surname
|
* @param lastname
|
||||||
* the surname to set
|
* the lastname to set
|
||||||
*/
|
*/
|
||||||
public void setSurname(String surname) {
|
public void setLastname(String lastname) {
|
||||||
this.surname = surname;
|
this.lastname = lastname;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -259,8 +259,8 @@ public class UserRep implements Serializable {
|
||||||
builder.append(this.username);
|
builder.append(this.username);
|
||||||
builder.append(", firstname=");
|
builder.append(", firstname=");
|
||||||
builder.append(this.firstname);
|
builder.append(this.firstname);
|
||||||
builder.append(", surname=");
|
builder.append(", lastname=");
|
||||||
builder.append(this.surname);
|
builder.append(this.lastname);
|
||||||
builder.append(", userState=");
|
builder.append(", userState=");
|
||||||
builder.append(this.userState);
|
builder.append(this.userState);
|
||||||
builder.append(", locale=");
|
builder.append(", locale=");
|
||||||
|
|
|
@ -29,7 +29,7 @@ import ch.eitchnet.utils.helper.StringHelper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class defines the actual login information for a given user which can be granted privileges. Every user is
|
* This class defines the actual login information for a given user which can be granted privileges. Every user is
|
||||||
* granted a set of {@link Role}s and has a {@link UserState} including detail information like first name and surname
|
* granted a set of {@link Role}s and has a {@link UserState} including detail information like first name and lastname
|
||||||
*
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* Note: This is an internal object which is not to be serialized or passed to clients, {@link UserRep}s are used for
|
* Note: This is an internal object which is not to be serialized or passed to clients, {@link UserRep}s are used for
|
||||||
|
@ -46,7 +46,7 @@ public final class User {
|
||||||
private final String password;
|
private final String password;
|
||||||
|
|
||||||
private final String firstname;
|
private final String firstname;
|
||||||
private final String surname;
|
private final String lastname;
|
||||||
|
|
||||||
private final UserState userState;
|
private final UserState userState;
|
||||||
|
|
||||||
|
@ -67,8 +67,8 @@ public final class User {
|
||||||
* the user's password (hashed)
|
* the user's password (hashed)
|
||||||
* @param firstname
|
* @param firstname
|
||||||
* the user's first name
|
* the user's first name
|
||||||
* @param surname
|
* @param lastname
|
||||||
* the user's surname
|
* the user's lastname
|
||||||
* @param userState
|
* @param userState
|
||||||
* the user's {@link UserState}
|
* the user's {@link UserState}
|
||||||
* @param roles
|
* @param roles
|
||||||
|
@ -78,7 +78,7 @@ public final class User {
|
||||||
* @param propertyMap
|
* @param propertyMap
|
||||||
* a {@link Map} containing string value pairs of properties for this user
|
* a {@link Map} containing string value pairs of properties for this user
|
||||||
*/
|
*/
|
||||||
public User(String userId, String username, String password, String firstname, String surname, UserState userState,
|
public User(String userId, String username, String password, String firstname, String lastname, UserState userState,
|
||||||
Set<String> roles, Locale locale, Map<String, String> propertyMap) {
|
Set<String> roles, Locale locale, Map<String, String> propertyMap) {
|
||||||
|
|
||||||
if (StringHelper.isEmpty(userId)) {
|
if (StringHelper.isEmpty(userId)) {
|
||||||
|
@ -91,8 +91,8 @@ public final class User {
|
||||||
throw new PrivilegeException("No username defined!"); //$NON-NLS-1$
|
throw new PrivilegeException("No username defined!"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
if (userState != UserState.SYSTEM) {
|
if (userState != UserState.SYSTEM) {
|
||||||
if (StringHelper.isEmpty(surname)) {
|
if (StringHelper.isEmpty(lastname)) {
|
||||||
throw new PrivilegeException("No surname defined!"); //$NON-NLS-1$
|
throw new PrivilegeException("No lastname defined!"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
if (StringHelper.isEmpty(firstname)) {
|
if (StringHelper.isEmpty(firstname)) {
|
||||||
throw new PrivilegeException("No firstname defined!"); //$NON-NLS-1$
|
throw new PrivilegeException("No firstname defined!"); //$NON-NLS-1$
|
||||||
|
@ -111,7 +111,7 @@ public final class User {
|
||||||
this.userState = userState;
|
this.userState = userState;
|
||||||
|
|
||||||
this.firstname = firstname;
|
this.firstname = firstname;
|
||||||
this.surname = surname;
|
this.lastname = lastname;
|
||||||
|
|
||||||
if (roles == null)
|
if (roles == null)
|
||||||
this.roles = Collections.emptySet();
|
this.roles = Collections.emptySet();
|
||||||
|
@ -153,17 +153,17 @@ public final class User {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the firstname
|
* @return the first name
|
||||||
*/
|
*/
|
||||||
public String getFirstname() {
|
public String getFirstname() {
|
||||||
return this.firstname;
|
return this.firstname;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the surname
|
* @return the last name
|
||||||
*/
|
*/
|
||||||
public String getSurname() {
|
public String getLastname() {
|
||||||
return this.surname;
|
return this.lastname;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -233,7 +233,7 @@ public final class User {
|
||||||
* @return a {@link UserRep} which is a representation of this object used to serialize and view on clients
|
* @return a {@link UserRep} which is a representation of this object used to serialize and view on clients
|
||||||
*/
|
*/
|
||||||
public UserRep asUserRep() {
|
public UserRep asUserRep() {
|
||||||
return new UserRep(this.userId, this.username, this.firstname, this.surname, this.userState,
|
return new UserRep(this.userId, this.username, this.firstname, this.lastname, this.userState,
|
||||||
new HashSet<String>(this.roles), this.locale, new HashMap<String, String>(this.propertyMap));
|
new HashSet<String>(this.roles), this.locale, new HashMap<String, String>(this.propertyMap));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -252,8 +252,8 @@ public final class User {
|
||||||
builder.append(this.username);
|
builder.append(this.username);
|
||||||
builder.append(", firstname=");
|
builder.append(", firstname=");
|
||||||
builder.append(this.firstname);
|
builder.append(this.firstname);
|
||||||
builder.append(", surname=");
|
builder.append(", lastname=");
|
||||||
builder.append(this.surname);
|
builder.append(this.lastname);
|
||||||
builder.append(", locale=");
|
builder.append(", locale=");
|
||||||
builder.append(this.locale);
|
builder.append(this.locale);
|
||||||
builder.append(", userState=");
|
builder.append(", userState=");
|
||||||
|
|
|
@ -72,10 +72,10 @@ public class PrivilegeModelDomWriter {
|
||||||
firstnameElement.setTextContent(user.getFirstname());
|
firstnameElement.setTextContent(user.getFirstname());
|
||||||
userElement.appendChild(firstnameElement);
|
userElement.appendChild(firstnameElement);
|
||||||
|
|
||||||
// add surname element
|
// add lastname element
|
||||||
Element surnameElement = doc.createElement(XmlConstants.XML_SURNAME);
|
Element lastnameElement = doc.createElement(XmlConstants.XML_LASTNAME);
|
||||||
surnameElement.setTextContent(user.getSurname());
|
lastnameElement.setTextContent(user.getLastname());
|
||||||
userElement.appendChild(surnameElement);
|
userElement.appendChild(lastnameElement);
|
||||||
|
|
||||||
// add state element
|
// add state element
|
||||||
Element stateElement = doc.createElement(XmlConstants.XML_STATE);
|
Element stateElement = doc.createElement(XmlConstants.XML_STATE);
|
||||||
|
|
|
@ -206,7 +206,7 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
|
||||||
|
|
||||||
// <User userId="1" username="admin" password="8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918">
|
// <User userId="1" username="admin" password="8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918">
|
||||||
// <Firstname>Application</Firstname>
|
// <Firstname>Application</Firstname>
|
||||||
// <Surname>Administrator</Surname>
|
// <Lastname>Administrator</Lastname>
|
||||||
// <State>ENABLED</State>
|
// <State>ENABLED</State>
|
||||||
// <Locale>en_GB</Locale>
|
// <Locale>en_GB</Locale>
|
||||||
// <Roles>
|
// <Roles>
|
||||||
|
@ -227,7 +227,7 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
|
||||||
String username;
|
String username;
|
||||||
String password;
|
String password;
|
||||||
String firstName;
|
String firstName;
|
||||||
String surname;
|
String lastname;
|
||||||
UserState userState;
|
UserState userState;
|
||||||
Locale locale;
|
Locale locale;
|
||||||
Set<String> userRoles;
|
Set<String> userRoles;
|
||||||
|
@ -259,8 +259,8 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
|
||||||
|
|
||||||
if (qName.equals(XmlConstants.XML_FIRSTNAME)) {
|
if (qName.equals(XmlConstants.XML_FIRSTNAME)) {
|
||||||
this.firstName = this.text.toString().trim();
|
this.firstName = this.text.toString().trim();
|
||||||
} else if (qName.equals(XmlConstants.XML_SURNAME)) {
|
} else if (qName.equals(XmlConstants.XML_LASTNAME)) {
|
||||||
this.surname = this.text.toString().trim();
|
this.lastname = this.text.toString().trim();
|
||||||
} else if (qName.equals(XmlConstants.XML_STATE)) {
|
} else if (qName.equals(XmlConstants.XML_STATE)) {
|
||||||
this.userState = UserState.valueOf(this.text.toString().trim());
|
this.userState = UserState.valueOf(this.text.toString().trim());
|
||||||
} else if (qName.equals(XmlConstants.XML_LOCALE)) {
|
} else if (qName.equals(XmlConstants.XML_LOCALE)) {
|
||||||
|
@ -269,7 +269,7 @@ public class PrivilegeModelSaxReader extends DefaultHandler {
|
||||||
this.userRoles.add(this.text.toString().trim());
|
this.userRoles.add(this.text.toString().trim());
|
||||||
} else if (qName.equals(XmlConstants.XML_USER)) {
|
} else if (qName.equals(XmlConstants.XML_USER)) {
|
||||||
|
|
||||||
User user = new User(this.userId, this.username, this.password, this.firstName, this.surname,
|
User user = new User(this.userId, this.username, this.password, this.firstName, this.lastname,
|
||||||
this.userState, this.userRoles, this.locale, this.parameters);
|
this.userState, this.userRoles, this.locale, this.parameters);
|
||||||
logger.info(MessageFormat.format("New User: {0}", user)); //$NON-NLS-1$
|
logger.info(MessageFormat.format("New User: {0}", user)); //$NON-NLS-1$
|
||||||
getUsers().add(user);
|
getUsers().add(user);
|
||||||
|
|
|
@ -45,7 +45,7 @@ Copyright 2013 Robert von Burg <eitch@eitchnet.ch>
|
||||||
<sequence>
|
<sequence>
|
||||||
|
|
||||||
<element type="string" name="Firstname" minOccurs="1" maxOccurs="1" />
|
<element type="string" name="Firstname" minOccurs="1" maxOccurs="1" />
|
||||||
<element type="string" name="Surname" minOccurs="1" maxOccurs="1" />
|
<element type="string" name="Lastname" minOccurs="1" maxOccurs="1" />
|
||||||
<element type="string" name="State" minOccurs="1" maxOccurs="1" />
|
<element type="string" name="State" minOccurs="1" maxOccurs="1" />
|
||||||
<element type="string" name="Locale" minOccurs="0" maxOccurs="1" />
|
<element type="string" name="Locale" minOccurs="0" maxOccurs="1" />
|
||||||
|
|
||||||
|
|
|
@ -183,7 +183,7 @@ public class XmlTest {
|
||||||
assertEquals("admin", admin.getUsername());
|
assertEquals("admin", admin.getUsername());
|
||||||
assertEquals("8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918", admin.getPassword());
|
assertEquals("8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918", admin.getPassword());
|
||||||
assertEquals("Application", admin.getFirstname());
|
assertEquals("Application", admin.getFirstname());
|
||||||
assertEquals("Administrator", admin.getSurname());
|
assertEquals("Administrator", admin.getLastname());
|
||||||
assertEquals(UserState.ENABLED, admin.getUserState());
|
assertEquals(UserState.ENABLED, admin.getUserState());
|
||||||
assertEquals("en_gb", admin.getLocale().toString());
|
assertEquals("en_gb", admin.getLocale().toString());
|
||||||
assertThat(admin.getRoles(), containsInAnyOrder("PrivilegeAdmin", "AppUser"));
|
assertThat(admin.getRoles(), containsInAnyOrder("PrivilegeAdmin", "AppUser"));
|
||||||
|
@ -198,7 +198,7 @@ public class XmlTest {
|
||||||
assertEquals("system_admin", systemAdmin.getUsername());
|
assertEquals("system_admin", systemAdmin.getUsername());
|
||||||
assertEquals(null, systemAdmin.getPassword());
|
assertEquals(null, systemAdmin.getPassword());
|
||||||
assertEquals("System User", systemAdmin.getFirstname());
|
assertEquals("System User", systemAdmin.getFirstname());
|
||||||
assertEquals("Administrator", systemAdmin.getSurname());
|
assertEquals("Administrator", systemAdmin.getLastname());
|
||||||
assertEquals(UserState.SYSTEM, systemAdmin.getUserState());
|
assertEquals(UserState.SYSTEM, systemAdmin.getUserState());
|
||||||
assertEquals("en_gb", systemAdmin.getLocale().toString());
|
assertEquals("en_gb", systemAdmin.getLocale().toString());
|
||||||
assertThat(systemAdmin.getRoles(), containsInAnyOrder("system_admin_privileges"));
|
assertThat(systemAdmin.getRoles(), containsInAnyOrder("system_admin_privileges"));
|
||||||
|
@ -338,6 +338,6 @@ public class XmlTest {
|
||||||
configSaxWriter.write();
|
configSaxWriter.write();
|
||||||
|
|
||||||
String fileHash = StringHelper.getHexString(FileHelper.hashFileSha256(modelFile));
|
String fileHash = StringHelper.getHexString(FileHelper.hashFileSha256(modelFile));
|
||||||
assertEquals("a2127d20a61e00bcdbb61569cd2b200c4f0f111c972bac3b1e54df3b2fcdc8be", fileHash);
|
assertEquals("c9732a05bf0ed53d89b3d12e7c8d7216150b6a91412d1bf47fbe3e6f3be750ff", fileHash);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue