Project

General

Profile

« Previous | Next » 

Revision 49735

Fixed ENA Resolver

View differences:

modules/dnet-dli/trunk/src/test/java/eu/dnetlib/resolver/DLIResolverTest.java
10 10
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
11 11
import eu.dnetlib.pid.resolver.PIDResolver;
12 12
import eu.dnetlib.pid.resolver.store.ResolverStore;
13
import eu.dnetlib.resolver.store.ConfigurationResolverStoreTestConfig;
13 14
import eu.dnetlib.rmi.enabling.ISLookUpService;
14 15
import org.apache.commons.io.IOUtils;
15 16
import org.apache.commons.logging.Log;
......
19 20
import org.junit.Before;
20 21
import org.junit.Ignore;
21 22
import org.junit.Test;
23
import org.junit.runner.RunWith;
22 24
import org.mockito.Mock;
23 25
import org.mockito.Mockito;
24 26
import org.springframework.beans.factory.annotation.Autowired;
27
import org.springframework.test.context.ContextConfiguration;
28
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
25 29

  
26 30
import javax.annotation.Resource;
27 31
import java.io.InputStream;
......
34 38
/**
35 39
 * Created by sandro on 9/8/16.
36 40
 */
37
//@RunWith(SpringJUnit4ClassRunner.class)
38
//@ContextConfiguration(classes = { ConfigurationTestConfig.class, ConfigurationResolverStoreTestConfig.class })
39
@Ignore
41
@RunWith(SpringJUnit4ClassRunner.class)
42
@ContextConfiguration(classes = { ConfigurationTestConfig.class, ConfigurationResolverStoreTestConfig.class })
43

  
40 44
public class DLIResolverTest {
41 45

  
42 46
	private static final Log log = LogFactory.getLog(DLIResolverTest.class);
modules/dnet-dli/trunk/src/test/java/eu/dnetlib/resolver/store/ConfigurationResolverStoreTestConfig.java
1 1
package eu.dnetlib.resolver.store;
2 2

  
3
import java.io.IOException;
3 4
import java.net.UnknownHostException;
4 5

  
5 6
import com.mongodb.MongoClient;
6 7

  
8
import de.flapdoodle.embed.mongo.MongodExecutable;
9
import de.flapdoodle.embed.mongo.MongodStarter;
10
import de.flapdoodle.embed.mongo.config.IMongodConfig;
11
import de.flapdoodle.embed.mongo.config.MongoCmdOptionsBuilder;
12
import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
13
import de.flapdoodle.embed.mongo.config.Net;
14
import de.flapdoodle.embed.mongo.distribution.Version;
15
import de.flapdoodle.embed.process.runtime.Network;
16
import eu.dnetlib.dli.resolver.DLIResolvedObjectFactory;
7 17
import eu.dnetlib.pid.resolver.store.ResolverStore;
8 18
import org.springframework.context.annotation.Bean;
9 19
import org.springframework.context.annotation.Configuration;
......
12 22
public class ConfigurationResolverStoreTestConfig {
13 23

  
14 24
	@Bean
15
	public MongoClient client() throws UnknownHostException {
16
		final MongoClient mongo = new MongoClient("localhost", 27017);
17
		return mongo;
25
	public MongoClient mongoClient() throws IOException {
26
		MongodStarter starter = MongodStarter.getDefaultInstance();
27
		String bindIp = "localhost";
28
		int port = 54321;
29
		IMongodConfig mongodConfig = new MongodConfigBuilder()
30
				.version(Version.Main.PRODUCTION)
31
				.net(new Net(bindIp, port, Network.localhostIsIPv6()))
32
				.cmdOptions(new MongoCmdOptionsBuilder()
33
						.useNoJournal(false)
34
						.build())
35
				.build();
36
		MongodExecutable mongodExecutable = starter.prepare(mongodConfig);
37
		mongodExecutable.start();
38

  
39
		return new MongoClient(bindIp, port);
18 40
	}
19 41

  
20 42
	@Bean
21
	public ResolverStore resolverStore() throws UnknownHostException {
43
	public ResolverStore resolverStore() throws IOException {
22 44

  
23 45
		ResolverStore store = new ResolverStore();
24
		store.setMongoClient(client());
46
		store.setMongoClient(mongoClient());
25 47
		store.setDatabaseName("mdstore_test");
26 48
		store.setCollectionName("resolverStore");
27 49

  
28 50
		return store;
29 51
	}
30 52

  
53
	@Bean
54
	public DLIResolvedObjectFactory resolvedObjectFactory() {
55
		return new DLIResolvedObjectFactory();
56
	}
57

  
31 58
}
modules/dnet-dli/trunk/src/test/java/eu/dnetlib/resolver/ConfigurationTestConfig.java
53 53
		return serializer;
54 54
	}
55 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("testCacheFactory");
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 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("testCacheFactory");
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 143
}
144 144

  
145 145

  
modules/dnet-dli/trunk/src/main/java/eu/dnetlib/dli/resolver/ENAResolver.java
25 25
    protected DLIResolvedObject resolve(String pid, String pidType) {
26 26
        if (canResolvePid(pidType)) {
27 27
            try {
28
                URL r = new URL(String.format(link, pid, pid));
29
                final String xmlInput = IOUtils.toString(r.openStream());
28
//                System.out.println("url = " + String.format(link, pid, pid));
29
//                URL r = new URL(String.format(link, pid, pid));
30
                final String xmlInput =  requestURL(String.format(link, pid, pid));
30 31
                return new ENAParser().parser(xmlInput, pid, pidType);
31 32

  
32 33
            } catch (Throwable e) {
modules/dnet-dli/trunk/pom.xml
75 75
            <artifactId>junit</artifactId>
76 76
            <version>4.12</version>
77 77
        </dependency>
78
        <dependency>
79
            <groupId>de.flapdoodle.embed</groupId>
80
            <artifactId>de.flapdoodle.embed.mongo</artifactId>
81
            <version>2.0.0</version>
82
			<scope>test</scope>
83
        </dependency>
78 84

  
79 85

  
80 86
    </dependencies>

Also available in: Unified diff