• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

alibaba / jetcache / #380

04 Sep 2023 07:27AM UTC coverage: 88.931% (+0.002%) from 88.929%
#380

push

web-flow
for springboot3 remove javax (#813)

* for springboot3 remove javax

* CacheManager destroyMethod

* SpringConfigProvider destroyMethod

26 of 26 new or added lines in 2 files covered. (100.0%)

4684 of 5267 relevant lines covered (88.93%)

0.89 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/jetcache-anno/src/main/java/com/alicp/jetcache/anno/config/CacheAnnotationParser.java
1
/**
2
 * Created on  13-09-18 18:18
3
 */
4
package com.alicp.jetcache.anno.config;
5

6
import com.alicp.jetcache.anno.aop.CacheAdvisor;
7
import com.alicp.jetcache.anno.aop.JetCacheInterceptor;
8
import com.alicp.jetcache.anno.support.ConfigMap;
9
import org.springframework.aop.config.AopNamespaceUtils;
10
import org.springframework.beans.PropertyValue;
11
import org.springframework.beans.factory.config.BeanDefinition;
12
import org.springframework.beans.factory.config.RuntimeBeanReference;
13
import org.springframework.beans.factory.parsing.BeanComponentDefinition;
14
import org.springframework.beans.factory.parsing.CompositeComponentDefinition;
15
import org.springframework.beans.factory.support.RootBeanDefinition;
16
import org.springframework.beans.factory.xml.BeanDefinitionParser;
17
import org.springframework.beans.factory.xml.ParserContext;
18
import org.springframework.util.StringUtils;
19
import org.w3c.dom.Element;
20

21
import java.util.concurrent.ConcurrentHashMap;
22

23
/**
24
 * @author <a href="mailto:areyouok@gmail.com">huangli</a>
25
 */
26
public class CacheAnnotationParser implements BeanDefinitionParser {
×
27

28
    @Override
29
    public BeanDefinition parse(Element element, ParserContext parserContext) {
30
        doParse(element, parserContext);
×
31
        return null;
×
32
    }
33

34
    private synchronized void doParse(Element element, ParserContext parserContext) {
35
        String[] basePackages = StringUtils.tokenizeToStringArray(element.getAttribute("base-package"), ",; \t\n");
×
36
        AopNamespaceUtils.registerAutoProxyCreatorIfNecessary(parserContext, element);
×
37
        if (!parserContext.getRegistry().containsBeanDefinition(CacheAdvisor.CACHE_ADVISOR_BEAN_NAME)) {
×
38
            Object eleSource = parserContext.extractSource(element);
×
39

40
            RootBeanDefinition configMapDef = new RootBeanDefinition(ConfigMap.class);
×
41
            configMapDef.setSource(eleSource);
×
42
            configMapDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
×
43
            String configMapName = parserContext.getReaderContext().registerWithGeneratedName(configMapDef);
×
44

45
            RootBeanDefinition interceptorDef = new RootBeanDefinition(JetCacheInterceptor.class);
×
46
            interceptorDef.setSource(eleSource);
×
47
            interceptorDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
×
48
            interceptorDef.getPropertyValues().addPropertyValue(new PropertyValue("cacheConfigMap", new RuntimeBeanReference(configMapName)));
×
49
            String interceptorName = parserContext.getReaderContext().registerWithGeneratedName(interceptorDef);
×
50

51
            RootBeanDefinition advisorDef = new RootBeanDefinition(CacheAdvisor.class);
×
52
            advisorDef.setSource(eleSource);
×
53
            advisorDef.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
×
54
            advisorDef.getPropertyValues().addPropertyValue(new PropertyValue("adviceBeanName", interceptorName));
×
55
            advisorDef.getPropertyValues().addPropertyValue(new PropertyValue("cacheConfigMap", new RuntimeBeanReference(configMapName)));
×
56
            advisorDef.getPropertyValues().addPropertyValue(new PropertyValue("basePackages", basePackages));
×
57
            parserContext.getRegistry().registerBeanDefinition(CacheAdvisor.CACHE_ADVISOR_BEAN_NAME, advisorDef);
×
58

59
            CompositeComponentDefinition compositeDef = new CompositeComponentDefinition(element.getTagName(),
×
60
                    eleSource);
61
            compositeDef.addNestedComponent(new BeanComponentDefinition(configMapDef, configMapName));
×
62
            compositeDef.addNestedComponent(new BeanComponentDefinition(interceptorDef, interceptorName));
×
63
            compositeDef.addNestedComponent(new BeanComponentDefinition(advisorDef, CacheAdvisor.CACHE_ADVISOR_BEAN_NAME));
×
64
            parserContext.registerComponent(compositeDef);
×
65
        }
66
    }
×
67
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc