1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package edu.internet2.middleware.shibboleth.idp.config.profile.saml2;
19
20 import javax.xml.namespace.QName;
21
22 import org.opensaml.saml2.core.AuthnContext;
23 import org.opensaml.xml.util.DatatypeHelper;
24 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
25 import org.w3c.dom.Element;
26
27 import edu.internet2.middleware.shibboleth.idp.config.profile.ProfileHandlerNamespaceHandler;
28 import edu.internet2.middleware.shibboleth.idp.config.profile.saml2.AbstractSAML2ProfileHandlerBeanDefinitionParser;
29 import edu.internet2.middleware.shibboleth.idp.profile.saml2.SAML2ECPProfileHandler;
30
31
32
33
34 public class SAML2ECPProfileHandlerBeanDefinitionParser
35 extends AbstractSAML2ProfileHandlerBeanDefinitionParser {
36
37
38 public static final QName SCHEMA_TYPE = new QName(ProfileHandlerNamespaceHandler.NAMESPACE, "SAML2ECP");
39
40
41 protected Class getBeanClass(Element arg0) {
42 return SAML2ECPProfileHandler.class;
43 }
44
45
46 protected void doParse(Element config, BeanDefinitionBuilder builder) {
47 super.doParse(config, builder);
48
49 builder.setInitMethodName("initialize");
50
51 if (config.hasAttributeNS(null, "authnContextClassRef")) {
52 builder.addPropertyValue("authnContextClassRef", DatatypeHelper.safeTrimOrNullString(config.getAttributeNS(null,
53 "authnContextClassRef")));
54 } else {
55 builder.addPropertyValue("authnContextClassRef", AuthnContext.PPT_AUTHN_CTX);
56 }
57 }
58 }