if (!Arrays.asList(PARAMETER_NAMES).contains(name)) {
throw new ConfigurationException("The attribute [" + name + "] is not supported!");
}
Identity identity = null;
if (session != null) {
identity = (Identity) session.getAttribute(Identity.class.getName());
}
User user = getUser(request, parameters, identity);
if (user != null) {
if (name.equals(USER_NAME)) {
value = user.getName();
} else if (name.equals(USER_EMAIL)) {
value = user.getEmail();
}
}
if (identity != null) {
if (name.equals(USER_ID)) {
User currentUser = identity.getUser();
if (currentUser != null) {
value = currentUser.getId();
}
} else if (name.equals(IP_ADDRESS)) {
Machine machine = identity.getMachine();
if (machine != null) {
value = machine.getIp();
}
} else if (name.equals(ROLE_IDS)) {
try {