aboutsummaryrefslogtreecommitdiff
path: root/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eid4u/FieldOfStudyAttrBuilder.java
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2019-08-05 14:39:22 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2019-08-05 14:39:22 +0200
commit67ca77e89aef7e75d43eb29f7be24ad68d2d5c8a (patch)
tree27690901339483321fb4e5584e218a8ab4f30f46 /id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eid4u/FieldOfStudyAttrBuilder.java
parent062816757bf3f436fd03c2bdad1e8e6711411c3f (diff)
downloadmoa-id-spss-67ca77e89aef7e75d43eb29f7be24ad68d2d5c8a.tar.gz
moa-id-spss-67ca77e89aef7e75d43eb29f7be24ad68d2d5c8a.tar.bz2
moa-id-spss-67ca77e89aef7e75d43eb29f7be24ad68d2d5c8a.zip
fix eID4U attribute processing with multi-value results
Diffstat (limited to 'id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eid4u/FieldOfStudyAttrBuilder.java')
-rw-r--r--id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eid4u/FieldOfStudyAttrBuilder.java23
1 files changed, 21 insertions, 2 deletions
diff --git a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eid4u/FieldOfStudyAttrBuilder.java b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eid4u/FieldOfStudyAttrBuilder.java
index ba486079e..28023a219 100644
--- a/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eid4u/FieldOfStudyAttrBuilder.java
+++ b/id/server/modules/moa-id-module-eIDAS/src/main/java/at/gv/egovernment/moa/id/protocols/eidas/attributes/builder/eid4u/FieldOfStudyAttrBuilder.java
@@ -13,15 +13,34 @@ import at.gv.egovernment.moa.id.protocols.eidas.attributes.builder.eIDASMetadata
@eIDASMetadata
public class FieldOfStudyAttrBuilder implements IeIDASAttribute {
+ private static final String DELIMITER = ";";
+ private static final String UNDEFINED_CODE = "9999";
+
@Override
public <ATT> ATT build(ISPConfiguration oaParam, IAuthData authData, IAttributeGenerator<ATT> g)
throws AttributeBuilderException {
String idType= authData.getGenericData(getName(), String.class);
- if (StringUtils.isNotEmpty(idType))
+ if (StringUtils.isNotEmpty(idType)) {
+ String[] split = idType.split(DELIMITER);
+ if (split.length > 1) {
+ String currentSelected = UNDEFINED_CODE;
+ for (String el : split) {
+ if (!el.equals(currentSelected)) {
+ //select first that is not undefined code
+ currentSelected = el;
+ break;
+ }
+
+ }
+
+ idType = currentSelected;
+ }
+
+
return g.buildStringAttribute(Definitions.FIELDOFSTUDY_FRIENDLYNAME, getName(), idType);
- else
+ } else
throw new AttributeBuilderException("Attribute '" + getName() + "' is not available");
}