1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package edu.internet2.middleware.shibboleth.common.config.attribute.filtering.match.basic;
18
19 import javax.xml.namespace.QName;
20
21 import org.opensaml.xml.util.DatatypeHelper;
22 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
23 import org.w3c.dom.Element;
24
25 import edu.internet2.middleware.shibboleth.common.attribute.filtering.provider.match.basic.NumOfAttributeValuesMatchFunctor;
26 import edu.internet2.middleware.shibboleth.common.config.attribute.filtering.BaseFilterBeanDefinitionParser;
27
28
29
30
31 public class NumOfAttributeValuesMatchFunctorBeanDefinitionParser extends BaseFilterBeanDefinitionParser {
32
33
34 public static final QName SCHEMA_TYPE = new QName(BasicMatchFunctorNamespaceHandler.NAMESPACE,
35 "NumberOfAttributeValues");
36
37
38 protected Class getBeanClass(Element arg0) {
39 return NumOfAttributeValuesMatchFunctor.class;
40 }
41
42
43 protected void doParse(Element configElement, BeanDefinitionBuilder builder) {
44 super.doParse(configElement, builder);
45
46 builder.addConstructorArgValue(DatatypeHelper.safeTrimOrNullString(configElement.getAttributeNS(null,
47 "attributeId")));
48
49 if (configElement.hasAttributeNS(null, "minimum")) {
50 builder.addConstructorArgValue(DatatypeHelper.safeTrimOrNullString(configElement.getAttributeNS(null,
51 "minimum")));
52 } else {
53 builder.addConstructorArgValue(0);
54 }
55
56 if (configElement.hasAttributeNS(null, "maximum")) {
57 builder.addConstructorArgValue(DatatypeHelper.safeTrimOrNullString(configElement.getAttributeNS(null,
58 "maximum")));
59 } else {
60 builder.addConstructorArgValue(Integer.MAX_VALUE);
61 }
62 }
63 }