Project

General

Profile

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

    
3
import eu.dnetlib.data.claims.migration.JsonldBuilder;
4
import eu.dnetlib.data.claims.migration.entity.Claim;
5
import eu.dnetlib.data.claims.migration.entity.Project;
6
import eu.dnetlib.data.claimsDemo.QueryGenerator;
7
import eu.dnetlib.data.claimsDemo.SQLStoreException;
8
import eu.dnetlib.data.claimsDemo.SqlDAO;
9
import org.apache.log4j.Logger;
10

    
11
import java.sql.Array;
12
import java.sql.ResultSet;
13
import java.text.DateFormat;
14
import java.text.SimpleDateFormat;
15
import java.util.*;
16

    
17
/**
18
 * Created by konstantina on 10/4/2017.
19
 */
20
public class FetchProjectHandler {
21
    private Logger log = Logger.getLogger(this.getClass());
22

    
23
    SqlDAO sqlDAO = null;
24
    QueryGenerator queryGenerator = null;
25

    
26
    public FetchProjectHandler(){
27

    
28
    }
29
/*
30
    public String fetchProjectIdByTokenAndEmail(String token, String email) throws Exception, SQLStoreException {
31
        String openaireId = null;
32
        ArrayList<Object> params = new ArrayList<>();
33
        String query = queryGenerator.generateSelectProjectIdByTokenAndEmailQuery(token, email, params);
34
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
35

    
36
        if(rs.next()) {
37
            openaireId = rs.getString(1);
38
        }
39
        rs.close();
40
        return openaireId;
41
    }
42

    
43
    public String fetchProjectIdByToken(String token) throws Exception, SQLStoreException {
44
        String openaireId = null;
45
        ArrayList<Object> params = new ArrayList<>();
46
        String query = queryGenerator.generateSelectProjectIdByTokenQuery(token, params);
47
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
48

    
49
        if(rs.next()) {
50
            openaireId = rs.getString(1);
51
        }
52
        rs.close();
53
        return openaireId;
54
    }
55
*/
56
    public Project fetchProjectById(String projectId) throws Exception, SQLStoreException {
57
        ArrayList<Object> params = new ArrayList<>();
58
        String query = queryGenerator.generateSelectProjectByIdQuery(projectId, params);
59
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
60

    
61
        Project project = fetchProjectByResultSet(rs);
62
        if(project == null) {
63
            log.info("No project with id : "+ projectId+"\n");
64
        }
65

    
66
        return project;
67
    }
68

    
69
    public List<String> fetchContactEmailsByProjectId(String projectId) throws Exception, SQLStoreException {
70
        ArrayList<Object> params = new ArrayList<>();
71
        String query = queryGenerator.generateSelectContactEmailsByProjectIdQuery(projectId, params);
72
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
73

    
74
        List<String> mails = null;
75

    
76
        while(rs.next()) {
77
            if(mails == null) {
78
                mails = new ArrayList<String>();
79
            }
80
            mails.add(rs.getString(1));
81
        }
82
        return mails;
83
    }
84

    
85
    public Map<String, String> fetchProjectIdsAndNamesByProjectManagerMail(String userMail) throws Exception, SQLStoreException {
86
        ArrayList<Object> params = new ArrayList<>();
87
        String query = queryGenerator.generateSelectProjectIdsAndNamesByProjectManagerMail(userMail, params);
88
        ResultSet rs = sqlDAO.executePreparedQuery(query, params);
89

    
90
        Map<String, String> projectIdsAndNames = null;
91
        while(rs.next()) {
92
            if(projectIdsAndNames == null) {
93
                projectIdsAndNames = new HashMap<String, String>();
94
            }
95
            projectIdsAndNames.put(rs.getString(1), rs.getString(2));
96
        }
97
        return projectIdsAndNames;
98
    }
99

    
100
    public Project fetchProjectByResultSet(ResultSet rs) throws Exception {
101
        Project project = null;
102
        while(rs.next()) {
103
            project = new Project();
104
            project.setOpenaireId(rs.getString(1));
105
            project.setName(rs.getString(2));
106
            project.setAcronym(rs.getString(3));
107
            project.setFunderId(rs.getString(4));
108
            project.setFunderName(rs.getString(5));
109
            project.setFunderShortName(rs.getString(6));
110
            //project.setContactEmails((List<String>)rs.getArray(7));
111
        }
112
        return project;
113
    }
114

    
115
    public SqlDAO getSqlDAO() {
116
        return sqlDAO;
117
    }
118

    
119
    public void setSqlDAO(SqlDAO sqlDAO) {
120
        this.sqlDAO = sqlDAO;
121
    }
122

    
123
    public QueryGenerator getQueryGenerator() {
124
        return queryGenerator;
125
    }
126

    
127
    public void setQueryGenerator(QueryGenerator queryGenerator) {
128
        this.queryGenerator = queryGenerator;
129
    }
130
}
(10-10/15)