From 81877a6524d8721ec30debb771e050886c37c861 Mon Sep 17 00:00:00 2001 From: Jacek Kowalski <Jacek@jacekk.info> Date: Fri, 24 Nov 2023 12:17:22 +0000 Subject: [PATCH] ContextTypeHelper: do account for the "Accept" header (per CAS specs) --- src/main/java/org/keycloak/protocol/cas/utils/AttributesMapAdapter.java | 21 +++++++++++---------- 1 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/keycloak/protocol/cas/utils/AttributesMapAdapter.java b/src/main/java/org/keycloak/protocol/cas/utils/AttributesMapAdapter.java index bf9b148..3da76a9 100644 --- a/src/main/java/org/keycloak/protocol/cas/utils/AttributesMapAdapter.java +++ b/src/main/java/org/keycloak/protocol/cas/utils/AttributesMapAdapter.java @@ -1,15 +1,16 @@ package org.keycloak.protocol.cas.utils; -import org.keycloak.protocol.cas.representations.CasServiceResponse; +import jakarta.xml.bind.JAXBElement; +import jakarta.xml.bind.annotation.XmlAccessType; +import jakarta.xml.bind.annotation.XmlAccessorType; +import jakarta.xml.bind.annotation.XmlAnyElement; +import jakarta.xml.bind.annotation.XmlSchema; +import jakarta.xml.bind.annotation.adapters.XmlAdapter; +import org.keycloak.protocol.cas.representations.CASServiceResponse; -import javax.xml.bind.JAXBElement; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlSchema; -import javax.xml.bind.annotation.adapters.XmlAdapter; import javax.xml.namespace.QName; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Map; @@ -37,8 +38,8 @@ AttributeWrapperType(Map<String, Object> attributes) { this.elements = new ArrayList<>(); for (Map.Entry<String, Object> entry : attributes.entrySet()) { - if (entry.getValue() instanceof List) { - for (Object item : ((List) entry.getValue())) { + if (entry.getValue() instanceof Collection) { + for (Object item : ((Collection) entry.getValue())) { addElement(entry.getKey(), item); } } else { @@ -49,7 +50,7 @@ private void addElement(String name, Object value) { if (value != null) { - String namespace = CasServiceResponse.class.getPackage().getAnnotation(XmlSchema.class).namespace(); + String namespace = CASServiceResponse.class.getPackage().getAnnotation(XmlSchema.class).namespace(); elements.add(new JAXBElement<>(new QName(namespace, name), String.class, value.toString())); } } -- Gitblit v1.9.1