Project

General

Profile

« Previous | Next » 

Revision 54884

Ignored Test

View differences:

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