package at.gv.egovernment.moa.id.protocols.pvp2x.builder.attributes; import org.opensaml.saml2.core.Attribute; import org.w3c.dom.Element; import at.gv.e_government.reference.namespace.mandates._20040701_.Mandate; import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; import at.gv.egovernment.moa.id.protocols.pvp2x.exceptions.ResponderErrorException; import at.gv.egovernment.moa.id.util.MandateBuilder; public class MandateTypeAttributeBuilder extends BaseAttributeBuilder { public String getName() { return MANDATE_TYPE_NAME; } public Attribute build(AuthenticationSession authSession) throws ResponderErrorException { if(authSession.getUseMandate()) { Element mandate = authSession.getMandate(); if(mandate == null) { throw new ResponderErrorException("No mandate data available", null); } Mandate mandateObject = MandateBuilder.buildMandate(mandate); if(mandateObject == null) { throw new ResponderErrorException("No mandate data available", null); } return buildStringAttribute(MANDATE_TYPE_FRIENDLY_NAME, MANDATE_TYPE_NAME, mandateObject.getAnnotation()); } return null; } public Attribute buildEmpty() { return buildemptyAttribute(MANDATE_TYPE_FRIENDLY_NAME, MANDATE_TYPE_NAME); } }