* @throws IdentityException
*/
public MessageExtension getMessageExtension(OpenIDAuthenticationRequest request)
throws IdentityException {
FetchRequest fetchReq = null;
OpenIDAxAttribute attr = null;
try {
fetchReq = FetchRequest.createFetchRequest();
if (request != null && request.getRequiredClaims() != null
&& request.getRequiredClaims().size() > 0) {
for (Object requiredClaim : request.getRequiredClaims()) {
if (requiredClaim instanceof OpenIDAxAttribute) {
attr = (OpenIDAxAttribute) requiredClaim;
fetchReq.addAttribute(attr.getAttributeName(), attr.getNamespace(), true);
}
}
}
if (request != null && request.getOptionalClaims() != null
&& request.getOptionalClaims().size() > 0) {
for (Object optionalClaim : request.getOptionalClaims()) {
if (optionalClaim instanceof OpenIDAxAttribute) {
attr = (OpenIDAxAttribute) optionalClaim;
fetchReq.addAttribute(attr.getAttributeName(), attr.getNamespace(), false);
}
}
}
} catch (MessageException e) {
log.error("Error while creating the message extension for OpenIDAttributeExchange", e);