Project

General

Profile

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

    
3
import eu.dnetlib.data.claims.migration.entity.ContextRelation;
4
import eu.dnetlib.data.claims.migration.parser.DMFParser;
5
import eu.dnetlib.data.claimsDemo.QueryGenerator;
6
import eu.dnetlib.data.claimsDemo.SQLStoreException;
7
import eu.dnetlib.data.claimsDemo.SqlDAO;
8

    
9
import java.sql.ResultSet;
10
import java.util.ArrayList;
11
import java.util.List;
12

    
13
/**
14
 * Created by argirok on 10/2/2016.
15
 */
16
public class ContextRelationHandler {
17

    
18
    QueryGenerator queryGenerator = null;
19
    SqlDAO sqlDAO = null;
20
    DMFParser dmfParser = null;
21

    
22

    
23
    public List<ContextRelation> fetchAllConceptRelations() throws Exception, SQLStoreException {
24
        List<ContextRelation> relations = null;
25
        ResultSet rs = sqlDAO.executePreparedQuery(queryGenerator.generateSelectConceptClaimsEnrichedWithDMFClaimsQuery(-1));
26
//        ResultSet rs = sqlDAO.executePreparedQuery(queryGenerator.generateSelectConceptClaimsForLattestClaimsQuery(-1));
27

    
28
        relations = new ArrayList<ContextRelation>();
29

    
30
        while(rs.next()) {
31
            ContextRelation relation = new ContextRelation();
32
            relation.setClaimId(rs.getString("id"));
33
            relation.setClaimedBy(rs.getString("agent"));
34
            relation.setClaimDate(rs.getDate("date"));
35
            String xml = rs.getString("xml");
36
            relation.setContextId( dmfParser.getContextIdFromDMF(xml));
37
            String resultId = rs.getString("resultid");
38
            relation.setResultId(resultId);
39
            relation.setContextDmf(xml);
40

    
41
            String dmf=rs.getString("dmf");
42
            if(dmf!=null){
43
                relation.setResultDmf(dmf);
44
                relation.setHasDMF(true);
45
                relation.setCollectedFrom(DMFResultHandler.identifyCollectedFrom(resultId));
46

    
47
            }
48

    
49
            relations.add(relation);
50
        }
51
        return relations;
52
    }
53
    public List<ContextRelation> fetchConceptRelationById(String id) throws Exception, SQLStoreException {
54
        List<ContextRelation> relations = null;
55
        ResultSet rs = sqlDAO.executePreparedQuery(queryGenerator.generateSelectConceptClaimByIDEnrichedWithDMFClaimsQuery(-1,id));
56
        relations = new ArrayList<ContextRelation>();
57

    
58
        while(rs.next()) {
59
            ContextRelation relation = new ContextRelation();
60
            relation.setClaimId(rs.getString("id"));
61
            relation.setClaimedBy(rs.getString("agent"));
62
            relation.setClaimDate(rs.getDate("date"));
63

    
64
            relation.setContextId( dmfParser.getContextIdFromDMF(rs.getString("xml")));
65
            relation.setResultId((rs.getString("resultid")));
66
            relation.setContextDmf(rs.getString("xml"));
67

    
68
            String dmf=rs.getString("dmf");
69
            if(dmf!=null){
70
                relation.setResultDmf(dmf);
71
                relation.setHasDMF(true);
72
                relation.setCollectedFrom(DMFResultHandler.identifyCollectedFrom(rs.getString("resultid")));
73

    
74
            }
75

    
76
            relations.add(relation);
77
        }
78
        return relations;
79
    }
80

    
81
    public QueryGenerator getQueryGenerator() {
82
        return queryGenerator;
83
    }
84

    
85
    public void setQueryGenerator(QueryGenerator queryGenerator) {
86
        this.queryGenerator = queryGenerator;
87
    }
88

    
89
    public SqlDAO getSqlDAO() {
90
        return sqlDAO;
91
    }
92

    
93
    public void setSqlDAO(SqlDAO sqlDAO) {
94
        this.sqlDAO = sqlDAO;
95
    }
96

    
97
    public DMFParser getDmfParser() {
98
        return dmfParser;
99
    }
100

    
101
    public void setDmfParser(DMFParser dmfParser) {
102
        this.dmfParser = dmfParser;
103
    }
104
}
(2-2/12)