Project

General

Profile

1
package eu.dnetlib.data.claims.migration.handler;
2

    
3
import eu.dnetlib.data.claims.migration.Result;
4
import eu.dnetlib.data.claims.migration.parser.ExternalRecordParser;
5
import eu.dnetlib.data.claimsDemo.SearchUtils;
6

    
7
/**
8
 * Created by kiatrop on 8/2/2016.
9
 */
10
public class ExternalRecordHandler {
11

    
12
    SearchUtils searchUtils;
13
    ExternalRecordParser externalRecordParser = null;
14

    
15
    private String fetchCrossrefRecord(String doi) {
16
        return searchUtils.getCrossrefJsonRecord(doi);
17
    }
18

    
19
    /**
20
     *
21
     * @param id  of author - not the full one with work
22
     * @return
23
     * @throws Exception
24
     */
25
    private String fetchOrcidRecord(String id) throws Exception {
26
        return searchUtils.fetchResultXMLFromOrcid(id);
27

    
28
    }
29

    
30
    private String fetchDataciteRecord(String id) throws Exception {
31
        return  searchUtils.fetchResultXMLFromDatacite(id);
32

    
33
    }
34

    
35
    public Result fetchResultfromCrossref(String doi) {
36
        return externalRecordParser.crossref2Result(fetchCrossrefRecord(doi));
37
    }
38

    
39
    public Result fetchResultfromOrcid(String id) throws Exception {
40
        Result result = externalRecordParser.orcid2Result(fetchOrcidRecord(id.substring(0,19)), id);
41

    
42
        return result;
43
    }
44

    
45
    public Result fetchResultfromDatacite(String id) throws Exception {
46
        return externalRecordParser.datacite2Result(fetchDataciteRecord(id));
47
    }
48

    
49
    public SearchUtils getSearchUtils() {
50
        return searchUtils;
51
    }
52

    
53
    public void setSearchUtils(SearchUtils searchUtils) {
54
        this.searchUtils = searchUtils;
55
    }
56

    
57
    public ExternalRecordParser getExternalRecordParser() {
58
        return externalRecordParser;
59
    }
60

    
61
    public void setExternalRecordParser(ExternalRecordParser externalRecordParser) {
62
        this.externalRecordParser = externalRecordParser;
63
    }
64
}
(5-5/9)