Project

General

Profile

1 43783 sandro.lab
package eu.dnetlib.resolver;
2 43618 sandro.lab
3 43939 sandro.lab
import java.io.IOException;
4
5 44352 sandro.lab
import eu.dnetlib.dli.DLIUtils;
6
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
7 43939 sandro.lab
import eu.dnetlib.resolver.model.serializer.ResolverSerializer;
8 43618 sandro.lab
import net.sf.ehcache.Cache;
9 43939 sandro.lab
import org.antlr.stringtemplate.StringTemplate;
10
import org.apache.commons.io.IOUtils;
11 44352 sandro.lab
import org.apache.commons.lang3.tuple.ImmutablePair;
12 43618 sandro.lab
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 44352 sandro.lab
	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 43939 sandro.lab
	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 43618 sandro.lab
	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