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.enabling.locators.UniqueServiceLocator;
7
import eu.dnetlib.resolver.model.serializer.ResolverSerializer;
8
import net.sf.ehcache.Cache;
9
import org.antlr.stringtemplate.StringTemplate;
10
import org.apache.commons.io.IOUtils;
11
import org.apache.commons.lang3.tuple.ImmutablePair;
12
import org.springframework.cache.ehcache.EhCacheFactoryBean;
13
import org.springframework.cache.ehcache.EhCacheManagerFactoryBean;
14
import org.springframework.context.annotation.Bean;
15
import org.springframework.context.annotation.Configuration;
16

    
17
@Configuration
18
public class ConfigurationTestConfig {
19

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

    
25
	@Bean
26
	public DLIUtils dliUtils() {
27

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

    
31
		return dliUtils;
32

    
33
	}
34

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

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

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

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

    
65

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

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

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

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

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

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

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

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

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

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

    
144
}
145

    
146

    
147

    
148

    
149

    
(1-1/4)