1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package edu.internet2.middleware.shibboleth.common.config.service;
18
19 import org.opensaml.xml.util.DatatypeHelper;
20 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
21 import org.springframework.beans.factory.xml.ParserContext;
22 import org.w3c.dom.Element;
23
24
25
26
27 public abstract class AbstractReloadableServiceBeanDefinitionParser extends AbstractServiceBeanDefinitionParser {
28
29
30 protected void doParse(Element configElement, ParserContext parserContext, BeanDefinitionBuilder builder) {
31 super.doParse(configElement, parserContext, builder);
32
33 if (configElement.hasAttributeNS(null, "configurationResourcePollingFrequency")
34 && configElement.hasAttributeNS(null, "configurationResourcePollingRetryAttempts")) {
35
36 builder.addPropertyReference("pollingTimer", configElement.getAttributeNS(null, "timerId"));
37
38 long frequency = Integer.parseInt(DatatypeHelper.safeTrimOrNullString(configElement.getAttributeNS(null,
39 "configurationResourcePollingFrequency")));
40 builder.addPropertyValue("pollingFrequency", frequency);
41
42 int retryAttempts = 0;
43 if(configElement.hasAttributeNS(null, "configurationResourcePollingRetryAttempts")){
44 retryAttempts = Integer.parseInt(DatatypeHelper.safeTrimOrNullString(configElement.getAttributeNS(null,
45 "configurationResourcePollingRetryAttempts")));
46 }
47 if(retryAttempts < 1){
48 retryAttempts = 3;
49 }
50 builder.addPropertyValue("pollingRetryAttempts", retryAttempts);
51 }
52 }
53 }