if (null == request.getUsername() || request.getUsername().isEmpty() ||
null == request.getPassword() || request.getPassword().isEmpty()) {
throw new AmbariException("Username and password must be supplied.");
}
User user = users.getAnyUser(request.getUsername());
if (null != user)
throw new AmbariException("User already exists.");
users.createUser(request.getUsername(), request.getPassword());
if (0 != request.getRoles().size()) {
user = users.getAnyUser(request.getUsername());
if (null != user) {
for (String role : request.getRoles()) {
if (!user.getRoles().contains(role))
users.addRoleToUser(user, role);
}
}
}
}