Project

General

Profile

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

    
3
import eu.dnetlib.data.claims.entity.Project;
4
import eu.dnetlib.data.claims.parser.OafParser;
5
import eu.dnetlib.data.claims.sql.SQLStoreException;
6
import eu.dnetlib.data.claims.sql.SqlDAO;
7
import eu.dnetlib.data.claims.utils.QueryGenerator;
8
import eu.dnetlib.data.claims.utils.SearchUtils;
9
import org.apache.logging.log4j.LogManager;
10
import org.apache.logging.log4j.Logger;
11

    
12
import java.util.ArrayList;
13
import java.util.List;
14

    
15
/**
16
 * Created by kiatrop on 5/2/2016.
17
 */
18
public class ProjectHandler {
19
    SearchUtils searchUtils = null;
20
    OafParser oafParser = null;
21
    SqlDAO sqlDAO = null;
22
    QueryGenerator queryGenerator = null;
23

    
24
    private static Logger logger = LogManager.getLogger(ProjectHandler.class);
25

    
26
    private String fetchProjectById(String id) throws Exception {
27
        return searchUtils.fetchProjectXmlFromIndex(id);
28
    }
29

    
30
    public Project fetchProjectByID(String id) throws Exception {
31
        return fetchProjectByOaf(fetchProjectById(id));
32
    }
33

    
34
    public Project fetchProjectByOaf(String oaf) throws Exception {
35
        return oafParser.oaf2Project(oaf);
36
    }
37
/*    public String generateSaveQueryForProject(Project project){
38
        return queryGenerator.generateInsertProjectQuery(project.getOpenaireId(),project.getName(),project.getAcronym(),project.getFunderId(),project.getFunderName(),project.getFunderShortName());
39
    }
40
    public void saveProject(Project project) throws Exception {
41
        sqlDAO.executePreparedQuery(generateSaveQueryForProject(project));
42
    }*/
43
    public OafParser getOafParser() {
44
        return oafParser;
45
    }
46

    
47
    public void setOafParser(OafParser oafParser) {
48
        this.oafParser = oafParser;
49
    }
50

    
51
    public SearchUtils getSearchUtils() {
52
        return searchUtils;
53
    }
54

    
55
    public void setSearchUtils(SearchUtils searchUtils) {
56
        this.searchUtils = searchUtils;
57
    }
58
    public QueryGenerator getQueryGenerator() {
59
        return queryGenerator;
60
    }
61

    
62
    public void setQueryGenerator(QueryGenerator queryGenerator) {
63
        this.queryGenerator = queryGenerator;
64
    }
65
/*
66
    public void updateTokenByProjectId(String projectId, String newToken) throws SQLStoreException,Exception {
67
        ArrayList<Object> params = new ArrayList<>();
68
        String query = queryGenerator.generateUpdateTokenByProjectId(projectId, newToken, params);
69
        sqlDAO.executeUpdateQuery(query, params);
70
    }
71
*/
72
    public void updateContactEmailsByProjectId(String projectId, List<String> contactEmails) throws SQLStoreException,Exception {
73
        ArrayList<Object> params = new ArrayList<>();
74
        String query = queryGenerator.generateUpdateContactEmailsByProjectIdByProjectId(projectId, contactEmails, params);
75
        logger.error("Query: " + query );
76
        logger.error("Size: " + params.size());
77
        sqlDAO.executeUpdateQuery(query, params);
78
    }
79

    
80
    public SqlDAO getSqlDAO() {
81
        return sqlDAO;
82
    }
83

    
84
    public void setSqlDAO(SqlDAO sqlDAO) {
85
        this.sqlDAO = sqlDAO;
86
    }
87

    
88

    
89
}
(12-12/13)