aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2014-10-24 13:47:00 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2014-10-24 13:47:00 +0200
commitd553bf08d1c70d9a1705f38d9fe1c7c3a3730b0d (patch)
tree527d9753615f28a555040b328dd1edc26788ad33 /id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils
parenta9e03893056cf1b349148b0f1048c37c9073e557 (diff)
downloadmoa-id-spss-d553bf08d1c70d9a1705f38d9fe1c7c3a3730b0d.tar.gz
moa-id-spss-d553bf08d1c70d9a1705f38d9fe1c7c3a3730b0d.tar.bz2
moa-id-spss-d553bf08d1c70d9a1705f38d9fe1c7c3a3730b0d.zip
update STORK <-> PVP gateway functionality
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java27
1 files changed, 22 insertions, 5 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java
index a16fed9cd..c5ad26744 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/utils/AssertionAttributeExtractor.java
@@ -36,6 +36,7 @@ import org.opensaml.saml2.core.AuthnStatement;
import org.opensaml.saml2.core.Response;
import org.opensaml.saml2.core.StatusResponseType;
import org.opensaml.saml2.core.Subject;
+import org.opensaml.xml.XMLObject;
import eu.stork.peps.auth.commons.PersonalAttribute;
import eu.stork.peps.auth.commons.PersonalAttributeList;
@@ -48,7 +49,7 @@ import at.gv.egovernment.moa.util.MiscUtil;
public class AssertionAttributeExtractor {
private Assertion assertion = null;
- private Map<String, String> attributs = new HashMap<String, String>();
+ private Map<String, List<String>> attributs = new HashMap<String, List<String>>();
private PersonalAttributeList storkAttributes = new PersonalAttributeList();
private final List<String> minimalAttributeNameList = Arrays.asList(
@@ -74,13 +75,21 @@ public class AssertionAttributeExtractor {
for (Attribute attr : attrStat.getAttributes()) {
if (attr.getName().startsWith(PVPConstants.STORK_ATTRIBUTE_PREFIX)) {
List<String> storkAttrValues = new ArrayList<String>();
- storkAttrValues.add(attr.getAttributeValues().get(0).getDOM().getTextContent());
+ for (XMLObject el : attr.getAttributeValues())
+ storkAttrValues.add(el.getDOM().getTextContent());
+
PersonalAttribute storkAttr = new PersonalAttribute(attr.getName(),
false, storkAttrValues , "Available");
storkAttributes.put(attr.getName(), storkAttr );
- } else
- attributs.put(attr.getName(), attr.getAttributeValues().get(0).getDOM().getTextContent());
+ } else {
+ List<String> attrList = new ArrayList<String>();
+ for (XMLObject el : attr.getAttributeValues())
+ attrList.add(el.getDOM().getTextContent());
+
+ attributs.put(attr.getName(), attrList);
+
+ }
}
}
@@ -129,7 +138,15 @@ public class AssertionAttributeExtractor {
}
- public String getAttribute(String attributeName) {
+ public String getSingleAttributeValue(String attributeName) {
+ if (attributs.containsKey(attributeName))
+ return attributs.get(attributeName).get(0);
+ else
+ return null;
+
+ }
+
+ public List<String> getAttributeValues(String attributeName) {
return attributs.get(attributeName);
}