/* * oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text. * * Copyright (c) 2014, Gluu */ package org.xdi.oxauth.model.common; import java.util.List; import org.codehaus.jettison.json.JSONArray; import org.xdi.oxauth.model.exception.InvalidClaimException; /** * @author Javier Rojas Blum Date: 11.25.2011 */ public class SimpleUser extends org.xdi.ldap.model.SimpleUser { private static final long serialVersionUID = -2634191420188575733L; public Object getAttribute(String userAttribute, boolean optional) throws InvalidClaimException { Object attribute = null; for (org.xdi.ldap.model.CustomAttribute customAttribute : customAttributes) { if (customAttribute.getName().equals(userAttribute)) { List<String> values = customAttribute.getValues(); if (values != null) { if (values.size() == 1) { attribute = values.get(0); } else { JSONArray array = new JSONArray(); for (String v : values) { array.put(v); } attribute = array; } } break; } } if (attribute != null) { return attribute; } else if (optional) { return attribute; } else { throw new InvalidClaimException("The claim " + userAttribute + " was not found."); } } }