Revision 54884
Added by Sandro La Bruzzo over 5 years ago
DLIResolverTest.java | ||
---|---|---|
6 | 6 |
import eu.dnetlib.data.proto.dli.ScholixObjectProtos; |
7 | 7 |
import eu.dnetlib.dli.resolver.*; |
8 | 8 |
|
9 |
import java.io.BufferedReader; |
|
10 |
import java.io.InputStreamReader; |
|
9 | 11 |
import java.net.URI; |
10 | 12 |
|
11 | 13 |
import eu.dnetlib.dli.resolver.model.DLIResolvedObject; |
... | ... | |
14 | 16 |
import org.apache.commons.logging.Log; |
15 | 17 |
import org.apache.commons.logging.LogFactory; |
16 | 18 |
import org.bson.Document; |
19 |
import org.junit.Assert; |
|
17 | 20 |
import org.junit.Test; |
18 | 21 |
|
19 | 22 |
import java.io.IOException; |
20 | 23 |
import java.io.InputStream; |
21 | 24 |
import java.net.URISyntaxException; |
22 | 25 |
import java.time.LocalDateTime; |
26 |
import java.util.ArrayList; |
|
23 | 27 |
import java.util.Arrays; |
24 | 28 |
import java.util.List; |
29 |
import java.util.stream.Collectors; |
|
25 | 30 |
|
26 | 31 |
/** |
27 | 32 |
* Created by sandro on 9/8/16. |
... | ... | |
37 | 42 |
NCBINResolver resolver = new NCBINResolver(); |
38 | 43 |
NCBINParser parser = new NCBINParser(); |
39 | 44 |
resolver.setNCBINParser(parser); |
45 |
|
|
46 |
|
|
40 | 47 |
DLIResolvedObject resolve = resolver.resolve("mg456816", "ncbi"); |
48 |
|
|
49 |
System.out.println(resolve); |
|
50 |
|
|
41 | 51 |
CrossRefParserJSON parserJSON = new CrossRefParserJSON(); |
42 | 52 |
final String json = IOUtils.toString(this.getClass().getResourceAsStream("/eu/dnetlib/dli/parser/crossRefItem.json")); |
43 | 53 |
|
... | ... | |
73 | 83 |
|
74 | 84 |
|
75 | 85 |
@Test |
86 |
public void TestResolveLotOfPid() throws IOException { |
|
87 |
final NCBINResolver resolver = new NCBINResolver(); |
|
88 |
NCBINParser parser = new NCBINParser(); |
|
89 |
resolver.setNCBINParser(parser); |
|
90 |
|
|
91 |
|
|
92 |
|
|
93 |
|
|
94 |
InputStream resourceAsStream = this.getClass().getResourceAsStream("/eu/dnetlib/dli/parser/pid_ncbi"); |
|
95 |
BufferedReader reader = new BufferedReader(new InputStreamReader(resourceAsStream)); |
|
96 |
String line = null; |
|
97 |
|
|
98 |
List<String> resolvePid = new ArrayList<>(); |
|
99 |
|
|
100 |
while ((line= reader.readLine())!=null) { |
|
101 |
resolvePid.add(line.trim().toLowerCase()); |
|
102 |
} |
|
103 |
long resolvedCNT = resolvePid.parallelStream() |
|
104 |
.map(it -> { |
|
105 |
DLIResolvedObject ncbi = resolver.resolve(it.trim().toLowerCase(), "ncbi"); |
|
106 |
if (ncbi == null) { |
|
107 |
log.error("Unable to Resolve " + it); |
|
108 |
return null; |
|
109 |
} |
|
110 |
return ncbi.getPid(); |
|
111 |
}).filter(it -> it != null).count(); |
|
112 |
|
|
113 |
System.out.printf("Total item resolved %d/%d",resolvedCNT, resolvePid.size()); |
|
114 |
|
|
115 |
|
|
116 |
} |
|
117 |
|
|
118 |
|
|
119 |
@Test |
|
76 | 120 |
public void testDataciteOfflineResolver() { |
77 |
MongoClient client = new MongoClient(); |
|
78 |
MongoCollection<Document> collection = client.getDatabase("datacite_resolver").getCollection("datacite"); |
|
79 | 121 |
|
80 | 122 |
|
81 | 123 |
List<String> dois = Arrays.asList( |
82 |
"10.1594/pangaea.230638");
|
|
124 |
"10.5072%2Fexample-full");
|
|
83 | 125 |
|
84 | 126 |
DataciteOfflineResolver resolver = new DataciteOfflineResolver(); |
85 |
resolver.setMongoClient(client); |
|
86 |
resolver.setDatabaseName("datacite_resolver"); |
|
87 |
resolver.setCollectionName("datacite"); |
|
88 | 127 |
dois.forEach(it -> System.out.println(resolver.resolve(it, "doi"))); |
89 | 128 |
|
90 | 129 |
|
Also available in: Unified diff
Ignored Test