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.resolver;
18
19 import java.util.List;
20 import java.util.Map;
21
22 import javax.xml.namespace.QName;
23
24 import org.opensaml.xml.util.XMLHelper;
25 import org.springframework.beans.factory.config.BeanDefinition;
26 import org.springframework.beans.factory.xml.BeanDefinitionParser;
27 import org.springframework.beans.factory.xml.ParserContext;
28 import org.w3c.dom.Element;
29
30 import edu.internet2.middleware.shibboleth.common.config.SpringConfigurationUtils;
31
32
33 public class AttributeResolverBeanDefinitionParser implements BeanDefinitionParser {
34
35
36 public static final QName SCHEMA_TYPE = new QName(AttributeResolverNamespaceHandler.NAMESPACE,
37 "AttributeResolverType");
38
39
40 public static final QName ELEMENT_NAME = new QName(AttributeResolverNamespaceHandler.NAMESPACE,
41 "AttributeResolver");
42
43
44 public BeanDefinition parse(Element config, ParserContext context) {
45 Map<QName, List<Element>> configChildren = XMLHelper.getChildElements(config);
46 List<Element> children;
47
48 children = configChildren.get(new QName(AttributeResolverNamespaceHandler.NAMESPACE, "PrincipalConnector"));
49 SpringConfigurationUtils.parseCustomElements(children, context);
50
51 children = configChildren.get(new QName(AttributeResolverNamespaceHandler.NAMESPACE, "DataConnector"));
52 SpringConfigurationUtils.parseCustomElements(children, context);
53
54 children = configChildren.get(new QName(AttributeResolverNamespaceHandler.NAMESPACE, "AttributeDefinition"));
55 SpringConfigurationUtils.parseCustomElements(children, context);
56
57 return null;
58 }
59 }