Project

General

Profile

1 57029 argiro.kok
package eu.dnetlib.data.claims.handler;
2 41213 katerina.i
3 57029 argiro.kok
import eu.dnetlib.data.claims.entity.Result;
4
import eu.dnetlib.data.claims.parser.OafParser;
5
import eu.dnetlib.data.claims.utils.SearchUtils;
6 58341 argiro.kok
import org.apache.log4j.Logger;
7 41213 katerina.i
8
/**
9
 * Created by kiatrop on 8/2/2016.
10
 */
11
public class IndexResultHandler {
12
13
    SearchUtils searchUtils;
14 58341 argiro.kok
    private Logger log = Logger.getLogger(this.getClass());
15 41213 katerina.i
16 57125 argiro.kok
    private String fetchPublicationResult(String id) throws Exception {
17
        return searchUtils.fetchPublicationXmlFromIndex(id);
18 41213 katerina.i
    }
19 57125 argiro.kok
    private String fetchSoftwareResult(String id) throws Exception {
20
        return  searchUtils.fetchSoftwareXmlFromIndex(id);
21 41213 katerina.i
    }
22 57125 argiro.kok
    private String fetchOtherResult(String id) throws Exception {
23
        return  searchUtils.fetchOtherXmlFromIndex(id);
24 52857 argiro.kok
    }
25 41213 katerina.i
26 57125 argiro.kok
    private String fetchDatasetResult(String id) throws Exception {
27 58341 argiro.kok
        if(searchUtils == null ){
28
            log.debug("searchUtils is null");
29
        }
30
        if(id == null ){
31
            log.debug("id is null");
32
        }
33 57125 argiro.kok
        return searchUtils.fetchDatasetXmlFromIndex(id);
34 41450 argiro.kok
    }
35 41254 argiro.kok
    /**
36
     *Searches for both publications and datasets
37
     * @param id
38
     * @return Result or null
39
     * @throws Exception
40
     */
41 57125 argiro.kok
    public Result fetchResultById(String id) throws Exception {
42 41254 argiro.kok
43 57125 argiro.kok
        String oaf = fetchPublicationResult(id);
44 41213 katerina.i
45
        if (oaf == null) {
46 57125 argiro.kok
            oaf = fetchDatasetResult(id);
47 41213 katerina.i
        }
48
49
        if (oaf == null) {
50 41254 argiro.kok
            return null;
51
        }
52 41213 katerina.i
53
        return OafParser.oaf2Result(oaf);
54
    }
55 57125 argiro.kok
    public Result fetchPublicationById(String id) throws Exception {
56 41213 katerina.i
57 57125 argiro.kok
        String oaf = fetchPublicationResult(id);
58 41450 argiro.kok
59
        if (oaf == null) {
60 49865 argiro.kok
            return null;
61 41450 argiro.kok
        }
62
63 49865 argiro.kok
        return OafParser.oaf2Result(oaf);
64
    }
65 57125 argiro.kok
    public Result fetchDatasetById(String id) throws Exception {
66 49865 argiro.kok
67 57125 argiro.kok
        String oaf = fetchDatasetResult(id);
68 41450 argiro.kok
        if (oaf == null) {
69
            return null;
70
        }
71
72
        return OafParser.oaf2Result(oaf);
73
    }
74 57125 argiro.kok
    public Result fetchSoftwareById(String id) throws Exception {
75 49865 argiro.kok
76 57125 argiro.kok
        String oaf = fetchSoftwareResult(id);
77 49865 argiro.kok
        if (oaf == null) {
78
            return null;
79
        }
80
        return OafParser.oaf2Result(oaf);
81
    }
82 57125 argiro.kok
    public Result fetchOtherById(String id) throws Exception {
83 52857 argiro.kok
84 57125 argiro.kok
        String oaf = fetchOtherResult(id);
85 52857 argiro.kok
        if (oaf == null) {
86
            return null;
87
        }
88
        return OafParser.oaf2Result(oaf);
89
    }
90 41350 argiro.kok
    public SearchUtils getSearchUtils() {
91
        return searchUtils;
92
    }
93
94
    public void setSearchUtils(SearchUtils searchUtils) {
95
        this.searchUtils = searchUtils;
96
    }
97 41213 katerina.i
}