aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/EidSpMandateProfilesAttributeBuilder.java
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2020-04-06 10:22:31 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2020-04-06 10:22:31 +0200
commitaebaed0e889413491b5769babf39a200bd312992 (patch)
treeed6f6e115272ef918e16eda464cc8c3ba6b1fe0f /id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/EidSpMandateProfilesAttributeBuilder.java
parentf88e1049d4e22d4d4a168a30a997a479564aa7ff (diff)
parente82fd34793ae92e755f6b203fbcad53ee3d9581e (diff)
downloadmoa-id-spss-aebaed0e889413491b5769babf39a200bd312992.tar.gz
moa-id-spss-aebaed0e889413491b5769babf39a200bd312992.tar.bz2
moa-id-spss-aebaed0e889413491b5769babf39a200bd312992.zip
Merge branch 'current_development' into development_preview
# Conflicts: # id/history.txt
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/EidSpMandateProfilesAttributeBuilder.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/EidSpMandateProfilesAttributeBuilder.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/EidSpMandateProfilesAttributeBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/EidSpMandateProfilesAttributeBuilder.java
new file mode 100644
index 000000000..31563b267
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/builder/attributes/EidSpMandateProfilesAttributeBuilder.java
@@ -0,0 +1,50 @@
+package at.gv.egovernment.moa.id.protocols.builder.attributes;
+
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egiz.eaaf.core.api.data.ExtendedPVPAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.idp.IAttributeGenerator;
+import at.gv.egiz.eaaf.core.api.idp.IAuthData;
+import at.gv.egiz.eaaf.core.api.idp.IPVPAttributeBuilder;
+import at.gv.egiz.eaaf.core.api.idp.ISPConfiguration;
+import at.gv.egiz.eaaf.core.exceptions.AttributeBuilderException;
+import at.gv.egiz.eaaf.core.exceptions.UnavailableAttributeException;
+import at.gv.egovernment.moa.id.commons.api.IOAAuthParameters;
+
+public class EidSpMandateProfilesAttributeBuilder implements IPVPAttributeBuilder {
+ private static final Logger log = LoggerFactory.getLogger(EidSpMandateProfilesAttributeBuilder.class);
+
+ @Override
+ public <T> T build(final ISPConfiguration oaParam, final IAuthData authData, final IAttributeGenerator<T> g)
+ throws AttributeBuilderException {
+ if (oaParam instanceof IOAAuthParameters && ((IOAAuthParameters) oaParam).isShowMandateCheckBox()) {
+ return g.buildStringAttribute(getFriendlyName(), getName(),
+ StringUtils.join(
+ ((IOAAuthParameters) oaParam).getMandateProfiles(), ","));
+
+ } else {
+ log.info("{} is only available in AuthHandler context", getFriendlyName());
+
+ }
+ throw new UnavailableAttributeException(getName());
+
+ }
+
+ @Override
+ public <T> T buildEmpty(final IAttributeGenerator<T> g) {
+ return g.buildEmptyAttribute(getFriendlyName(), getName());
+
+ }
+
+ @Override
+ public String getName() {
+ return ExtendedPVPAttributeDefinitions.SP_USESMANDATES_NAME;
+ }
+
+ private String getFriendlyName() {
+ return ExtendedPVPAttributeDefinitions.SP_USESMANDATES_FRIENDLY_NAME;
+ }
+
+}