Project

General

Profile

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

    
3
import eu.dnetlib.data.claims.migration.entity.Relation;
4
import eu.dnetlib.data.claims.migration.parser.RelationParser;
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 kiatrop on 5/2/2016.
15
 */
16
public class RelationHandler {
17

    
18
    SqlDAO sqlDAO = null;
19
    QueryGenerator queryGenerator = null;
20
    RelationParser relationParser = null;
21

    
22
    public List<Relation> fetchAllRelations() throws Exception, SQLStoreException {
23
        List<Relation> relations = null;
24

    
25
        ResultSet rs = sqlDAO.executePreparedQuery(queryGenerator.generateSelectRelationEnrichedWithDMFClaimsQuery(-1));
26
//        ResultSet rs = sqlDAO.executePreparedQuery(queryGenerator.generateSelectRelationClaimsQueryForLattestClaims(-1));
27
//        ResultSet rs = sqlDAO.executePreparedQuery(queryGenerator.generateSelectRelationClaimByIDEnrichedWithDMFClaimsQuery(-1,"169590"));
28
        relations = new ArrayList<Relation>();
29

    
30
        while(rs.next()) {
31
            Relation relation = relationParser.xml2Relation(rs.getString("xml"));
32

    
33
            relation.setClaimId(rs.getString("id"));
34
            relation.setClaimedBy(rs.getString("agent"));
35
            relation.setClaimDate(rs.getDate("date"));
36
            String dmf=rs.getString("dmf");
37
            if(dmf!=null){
38
                relation.setDmf(dmf);
39
                relation.setHasDMF(true);
40
                relation.setCollectedFrom(DMFResultHandler.identifyCollectedFrom(rs.getString("resultid")));
41

    
42
            }
43

    
44
            relations.add(relation);
45
        }
46

    
47
        return relations;
48
    }
49
    public List<Relation> fetchRelationbyID(String id) throws Exception, SQLStoreException {
50
        List<Relation> relations = null;
51
        ResultSet rs = sqlDAO.executePreparedQuery(queryGenerator.generateSelectRelationClaimByIDEnrichedWithDMFClaimsQuery(-1,id));
52
         relations = new ArrayList<Relation>();
53

    
54
        while(rs.next()) {
55
            Relation relation = relationParser.xml2Relation(rs.getString("xml"));
56

    
57
            relation.setClaimId(rs.getString("id"));
58
            relation.setClaimedBy(rs.getString("agent"));
59
            relation.setClaimDate(rs.getDate("date"));
60
            String dmf=rs.getString("dmf");
61
            if(dmf!=null){
62
                relation.setDmf(dmf);
63
                relation.setHasDMF(true);
64
                relation.setCollectedFrom(DMFResultHandler.identifyCollectedFrom(rs.getString("resultid")));
65

    
66
            }
67

    
68
            relations.add(relation);
69
        }
70

    
71
        return relations;
72
    }
73
    public SqlDAO getSqlDAO() {
74
        return sqlDAO;
75
    }
76

    
77
    public void setSqlDAO(SqlDAO sqlDAO) {
78
        this.sqlDAO = sqlDAO;
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 RelationParser getRelationParser() {
90
        return relationParser;
91
    }
92

    
93
    public void setRelationParser(RelationParser relationParser) {
94
        this.relationParser = relationParser;
95
    }
96
}
(11-11/12)