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.utils.QueryGenerator;
6
import eu.dnetlib.data.claims.sql.SQLStoreException;
7
import eu.dnetlib.data.claims.utils.SearchUtils;
8
import eu.dnetlib.data.claims.sql.SqlDAO;
9
import org.apache.log4j.Logger;
10

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

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

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

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

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

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

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

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

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

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

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

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

    
87

    
88
}
(11-11/12)