Project

General

Profile

1
package eu.dnetlib.resolver;
2

    
3
import java.io.IOException;
4

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

    
18
@Configuration
19
public class ConfigurationTestConfig {
20

    
21
	@Bean
22
	public UniqueServiceLocator serviceLocator() {
23
		return null;
24
	}
25

    
26
	@Bean
27
	public DLIUtils dliUtils() {
28

    
29
		DLIUtils dliUtils = new DLIUtils();
30
		dliUtils.datasources.put("r3d100010464", new ImmutablePair<>("ANDS ID", "ANDS datasource"));
31

    
32
		return dliUtils;
33

    
34
	}
35

    
36
	@Bean
37
	public StringTemplate pmfSerializerTemplate() throws IOException {
38
		final String template = IOUtils.toString(getClass().getResourceAsStream("/eu/dnetlib/dli/templates/PMFXML.st"));
39
		final StringTemplate st = new StringTemplate(template);
40
		return st;
41
	}
42

    
43
	@Bean
44
	public StringTemplate dmfSerializerTemplate() throws IOException {
45
		final String template = IOUtils.toString(getClass().getResourceAsStream("/eu/dnetlib/dli/templates/DMFXML.st"));
46
		final StringTemplate st = new StringTemplate(template);
47
		return st;
48
	}
49

    
50
	@Bean
51
	public StringTemplate scholixSerializerTemplate() throws IOException {
52
		final String template = IOUtils.toString(getClass().getResourceAsStream("/eu/dnetlib/dli/templates/ScholixXML.st"));
53
		final StringTemplate st = new StringTemplate(template);
54
		return st;
55
	}
56

    
57
	@Bean
58
	public ResolverSerializer resolverSerializer() throws IOException {
59
		final ResolverSerializer serializer = new ResolverSerializer();
60
		serializer.setDmfTemplate(dmfSerializerTemplate());
61
		serializer.setPmfTemplate(pmfSerializerTemplate());
62
		serializer.setScholixTemplate(scholixSerializerTemplate());
63
		return serializer;
64
	}
65

    
66

    
67
	@Bean
68
	public ANDSResolver andsResolver() {
69
		final ANDSResolver resolver = new ANDSResolver();
70
		resolver.setCache((Cache) ResolverCache().getObject());
71
		resolver.setName("ANDSDataciteResolver");
72
		return resolver;
73
	}
74

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

    
83
	@Bean
84
	public CrossRefParserJSON crossRefParser() {
85
		return new CrossRefParserJSON();
86
	}
87

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

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

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

    
112
	@Bean
113
	public RCSBParser rcsbParser() {
114
		return new RCSBParser();
115
	}
116

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

    
125
	@Bean
126
	public EhCacheManagerFactoryBean cacheFactory() {
127
		EhCacheManagerFactoryBean cacheFactory = new EhCacheManagerFactoryBean();
128
		cacheFactory.setCacheManagerName("testCacheFactory");
129
		return cacheFactory;
130
	}
131

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

    
145
}
146

    
147

    
148

    
149

    
150

    
(1-1/4)