Project

General

Profile

1
package eu.dnetlib.resolver;
2

    
3
import java.io.IOException;
4

    
5
import eu.dnetlib.dli.resolver.*;
6
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
7
import eu.dnetlib.dli.resolver.model.serializer.DLIResolverSerializer;
8
import net.sf.ehcache.Cache;
9
import org.antlr.stringtemplate.StringTemplate;
10
import org.apache.commons.io.IOUtils;
11
import org.springframework.cache.ehcache.EhCacheFactoryBean;
12
import org.springframework.cache.ehcache.EhCacheManagerFactoryBean;
13
import org.springframework.context.annotation.Bean;
14
import org.springframework.context.annotation.Configuration;
15

    
16
@Configuration
17
public class ConfigurationTestConfig {
18

    
19
	@Bean
20
	public UniqueServiceLocator serviceLocator() {
21
		return null;
22
	}
23

    
24

    
25

    
26
	@Bean
27
	public StringTemplate pmfSerializerTemplate() throws IOException {
28
		final String template = IOUtils.toString(getClass().getResourceAsStream("/eu/dnetlib/dli/templates/PMFXML.st"));
29
		final StringTemplate st = new StringTemplate(template);
30
		return st;
31
	}
32

    
33
	@Bean
34
	public StringTemplate dmfSerializerTemplate() throws IOException {
35
		final String template = IOUtils.toString(getClass().getResourceAsStream("/eu/dnetlib/dli/templates/DMFXML.st"));
36
		final StringTemplate st = new StringTemplate(template);
37
		return st;
38
	}
39

    
40
	@Bean
41
	public StringTemplate scholixSerializerTemplate() throws IOException {
42
		final String template = IOUtils.toString(getClass().getResourceAsStream("/eu/dnetlib/dli/templates/ScholixXML.st"));
43
		final StringTemplate st = new StringTemplate(template);
44
		return st;
45
	}
46

    
47
	@Bean
48
    public DLIResolverSerializer resolverSerializer() throws IOException {
49
        final DLIResolverSerializer serializer = new DLIResolverSerializer();
50
        serializer.setDmfTemplate(dmfSerializerTemplate());
51
		serializer.setPmfTemplate(pmfSerializerTemplate());
52
		serializer.setScholixTemplate(scholixSerializerTemplate());
53
		return serializer;
54
	}
55

    
56

    
57
	@Bean
58
	public ANDSResolver andsResolver() {
59
		final ANDSResolver resolver = new ANDSResolver();
60
		resolver.setCache((Cache) ResolverCache().getObject());
61
		resolver.setName("ANDSDataciteResolver");
62
		return resolver;
63
	}
64

    
65
    @Bean
66
    public ENAResolver enaResolver() {
67
        final ENAResolver resolver = new ENAResolver();
68
        resolver.setCache((Cache) ResolverCache().getObject());
69
        resolver.setName("ENAResolver");
70
        return resolver;
71
    }
72

    
73
	@Bean
74
	public CrossrefResolver crossrefResolver() {
75
		final CrossrefResolver resolver = new CrossrefResolver();
76
		resolver.setCache((Cache) ResolverCache().getObject());
77
		resolver.setName("CrossrefResolver");
78
		return resolver;
79
	}
80

    
81
	@Bean
82
	public CrossRefParserJSON crossRefParser() {
83
		return new CrossRefParserJSON();
84
	}
85

    
86
	@Bean
87
	public PubMedResolver pubMedResolver() {
88
		final PubMedResolver resolver = new PubMedResolver();
89
		resolver.setCache((Cache) ResolverCache().getObject());
90
		resolver.setName("PubMedResolver");
91
		return resolver;
92
	}
93

    
94
	@Bean
95
	public DataciteResolver dataciteResolver() {
96
		final DataciteResolver resolver = new DataciteResolver();
97
		resolver.setCache((Cache) ResolverCache().getObject());
98
		resolver.setName("DataciteResolver");
99
		return resolver;
100
	}
101

    
102
	@Bean
103
	public RCSBResolver rcsbResolver() {
104
		final RCSBResolver resolver = new RCSBResolver();
105
		resolver.setCache((Cache) ResolverCache().getObject());
106
		resolver.setName("RCSBResolver");
107
		return resolver;
108
	}
109

    
110
	@Bean
111
	public RCSBParser rcsbParser() {
112
		return new RCSBParser();
113
	}
114

    
115
	@Bean
116
	public OpenaireResolver openaireResolver() {
117
		final OpenaireResolver resolver = new OpenaireResolver();
118
		resolver.setCache((Cache) ResolverCache().getObject());
119
		resolver.setName("OpenaireResolver");
120
		return resolver;
121
	}
122

    
123
	@Bean
124
	public EhCacheManagerFactoryBean cacheFactory() {
125
		EhCacheManagerFactoryBean cacheFactory = new EhCacheManagerFactoryBean();
126
		cacheFactory.setCacheManagerName("DLItestCacheFactory");
127
		return cacheFactory;
128
	}
129

    
130
	@Bean
131
	public EhCacheFactoryBean ResolverCache() {
132
		EhCacheFactoryBean doiCacheFactoryBean = new EhCacheFactoryBean();
133
		doiCacheFactoryBean.setEternal(false);
134
		doiCacheFactoryBean.setTimeToLive(0);
135
		doiCacheFactoryBean.setTimeToIdle(36000);
136
		doiCacheFactoryBean.setMaxEntriesLocalHeap(10000);
137
		doiCacheFactoryBean.setMaxEntriesLocalDisk(20000);
138
		doiCacheFactoryBean.setCacheManager(cacheFactory().getObject());
139
		doiCacheFactoryBean.setCacheName("TestResolverCache");
140
		return doiCacheFactoryBean;
141
	}
142

    
143
}
144

    
145

    
146

    
147

    
148

    
(1-1/6)