Project

General

Profile

1 57029 argiro.kok
package eu.dnetlib.data.claims.handler;
2 46884 konstantin
3 57029 argiro.kok
import eu.dnetlib.data.claims.entity.Project;
4
import eu.dnetlib.data.claims.sql.SQLStoreException;
5
import eu.dnetlib.data.claims.sql.SqlDAO;
6 62526 katerina.i
import eu.dnetlib.data.claims.utils.QueryGenerator;
7
import org.apache.logging.log4j.LogManager;
8
import org.apache.logging.log4j.Logger;
9 46884 konstantin
10
import java.sql.ResultSet;
11 62526 katerina.i
import java.util.ArrayList;
12
import java.util.HashMap;
13
import java.util.List;
14
import java.util.Map;
15 46884 konstantin
16
/**
17
 * Created by konstantina on 10/4/2017.
18
 */
19
public class FetchProjectHandler {
20 62526 katerina.i
    private Logger log = LogManager.getLogger(this.getClass());
21 46884 konstantin
22
    SqlDAO sqlDAO = null;
23
    QueryGenerator queryGenerator = null;
24
25
    public FetchProjectHandler(){
26
27
    }
28 53199 konstantin
/*
29 52619 konstantin
    public String fetchProjectIdByTokenAndEmail(String token, String email) throws Exception, SQLStoreException {
30 47059 konstantin
        String openaireId = null;
31 48012 tsampikos.
        ArrayList<Object> params = new ArrayList<>();
32 52619 konstantin
        String query = queryGenerator.generateSelectProjectIdByTokenAndEmailQuery(token, email, params);
33 48012 tsampikos.
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
34 47059 konstantin
35
        if(rs.next()) {
36
            openaireId = rs.getString(1);
37
        }
38
        rs.close();
39
        return openaireId;
40
    }
41
42 52619 konstantin
    public String fetchProjectIdByToken(String token) throws Exception, SQLStoreException {
43
        String openaireId = null;
44
        ArrayList<Object> params = new ArrayList<>();
45
        String query = queryGenerator.generateSelectProjectIdByTokenQuery(token, params);
46
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
47
48
        if(rs.next()) {
49
            openaireId = rs.getString(1);
50
        }
51
        rs.close();
52
        return openaireId;
53
    }
54 53199 konstantin
*/
55 47219 argiro.kok
    public Project fetchProjectById(String projectId) throws Exception, SQLStoreException {
56 48012 tsampikos.
        ArrayList<Object> params = new ArrayList<>();
57
        String query = queryGenerator.generateSelectProjectByIdQuery(projectId, params);
58
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
59 46884 konstantin
60
        Project project = fetchProjectByResultSet(rs);
61
        if(project == null) {
62
            log.info("No project with id : "+ projectId+"\n");
63
        }
64
65
        return project;
66
    }
67
68 47219 argiro.kok
    public List<String> fetchContactEmailsByProjectId(String projectId) throws Exception, SQLStoreException {
69 48012 tsampikos.
        ArrayList<Object> params = new ArrayList<>();
70
        String query = queryGenerator.generateSelectContactEmailsByProjectIdQuery(projectId, params);
71
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
72 46884 konstantin
73 53199 konstantin
        List<String> mails = null;
74 46918 argiro.kok
75 53199 konstantin
        while(rs.next()) {
76
            if(mails == null) {
77
                mails = new ArrayList<String>();
78 46918 argiro.kok
            }
79 53199 konstantin
            mails.add(rs.getString(1));
80 46884 konstantin
        }
81 53199 konstantin
        return mails;
82 46884 konstantin
    }
83
84 53199 konstantin
    public Map<String, String> fetchProjectIdsAndNamesByProjectManagerMail(String userMail) throws Exception, SQLStoreException {
85
        ArrayList<Object> params = new ArrayList<>();
86
        String query = queryGenerator.generateSelectProjectIdsAndNamesByProjectManagerMail(userMail, params);
87
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
88
89
        Map<String, String> projectIdsAndNames = null;
90
        while(rs.next()) {
91
            if(projectIdsAndNames == null) {
92
                projectIdsAndNames = new HashMap<String, String>();
93
            }
94
            projectIdsAndNames.put(rs.getString(1), rs.getString(2));
95
        }
96
        return projectIdsAndNames;
97
    }
98
99 46884 konstantin
    public Project fetchProjectByResultSet(ResultSet rs) throws Exception {
100
        Project project = null;
101
        while(rs.next()) {
102
            project = new Project();
103
            project.setOpenaireId(rs.getString(1));
104
            project.setName(rs.getString(2));
105
            project.setAcronym(rs.getString(3));
106
            project.setFunderId(rs.getString(4));
107
            project.setFunderName(rs.getString(5));
108
            project.setFunderShortName(rs.getString(6));
109
            //project.setContactEmails((List<String>)rs.getArray(7));
110
        }
111
        return project;
112
    }
113
114
    public SqlDAO getSqlDAO() {
115
        return sqlDAO;
116
    }
117
118
    public void setSqlDAO(SqlDAO sqlDAO) {
119
        this.sqlDAO = sqlDAO;
120
    }
121
122
    public QueryGenerator getQueryGenerator() {
123
        return queryGenerator;
124
    }
125
126
    public void setQueryGenerator(QueryGenerator queryGenerator) {
127
        this.queryGenerator = queryGenerator;
128
    }
129
}