1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package edu.internet2.middleware.shibboleth.common.config.metadata;
18
19 import javax.xml.namespace.QName;
20
21 import org.opensaml.saml2.metadata.provider.SignatureValidationFilter;
22 import org.opensaml.xml.util.DatatypeHelper;
23 import org.opensaml.xml.util.XMLHelper;
24 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
25 import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
26 import org.w3c.dom.Element;
27
28
29
30
31 public class SignatureValidationFilterBeanDefinitionParser extends AbstractSingleBeanDefinitionParser {
32
33
34 public static final QName TYPE_NAME = new QName(MetadataNamespaceHandler.NAMESPACE, "SignatureValidation");
35
36
37 protected Class getBeanClass(Element element) {
38 return SignatureValidationFilter.class;
39 }
40
41
42 protected void doParse(Element element, BeanDefinitionBuilder builder) {
43 builder.addConstructorArgReference(DatatypeHelper.safeTrimOrNullString(element.getAttributeNS(null,
44 "trustEngineRef")));
45
46 if (element.hasAttributeNS(null, "requireSignedMetadata")) {
47 builder.addPropertyValue("requireSignature", XMLHelper.getAttributeValueAsBoolean(element
48 .getAttributeNodeNS(null, "requireSignedMetadata")));
49 }else{
50 builder.addPropertyValue("requireSignature", false);
51 }
52 }
53
54
55 protected boolean shouldGenerateId() {
56 return true;
57 }
58 }