Project

General

Profile

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

    
3
import eu.dnetlib.data.claims.migration.entity.Context;
4
import eu.dnetlib.data.claimsDemo.QueryGenerator;
5
import eu.dnetlib.data.claimsDemo.SQLStoreException;
6
import eu.dnetlib.data.claimsDemo.SqlDAO;
7
import org.apache.log4j.Logger;
8

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

    
12
public class FetchContextHandler {
13

    
14
    private Logger log = Logger.getLogger(this.getClass());
15

    
16
    SqlDAO sqlDAO = null;
17
    QueryGenerator queryGenerator = null;
18

    
19
    public FetchContextHandler(){
20

    
21
    }
22

    
23
    public Context fetchFirstContextByCommunityId(String communityId) throws Exception, SQLStoreException {
24
        ArrayList<Object> params = new ArrayList<>();
25
        String query = queryGenerator.generateSelectFirstContextByCommunityIdQuery(communityId, params);
26
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
27

    
28
        Context context = fetchContextByResultSet(rs);
29
        if(context == null) {
30
            log.info("No context with community id : "+ communityId+"\n");
31
        }
32

    
33
        return context;
34
    }
35

    
36

    
37
    public Context fetchContextByResultSet(ResultSet rs) throws Exception {
38
        Context context = null;
39
        while(rs.next()) {
40
            context = new Context();
41
            context.setOpenaireId(rs.getString("openaire_id"));
42
            context.setTitle(rs.getString("context_title"));
43
        }
44
        return context;
45
    }
46

    
47
    public SqlDAO getSqlDAO() {
48
        return sqlDAO;
49
    }
50

    
51
    public void setSqlDAO(SqlDAO sqlDAO) {
52
        this.sqlDAO = sqlDAO;
53
    }
54

    
55
    public QueryGenerator getQueryGenerator() {
56
        return queryGenerator;
57
    }
58

    
59
    public void setQueryGenerator(QueryGenerator queryGenerator) {
60
        this.queryGenerator = queryGenerator;
61
    }
62
}
(8-8/15)