Project

General

Profile

1 41200 katerina.i
package eu.dnetlib.data.claims.migration.handler;
2
3 41791 argiro.kok
import eu.dnetlib.data.claims.migration.entity.Project;
4 41200 katerina.i
import eu.dnetlib.data.claims.migration.parser.OafParser;
5 41350 argiro.kok
import eu.dnetlib.data.claimsDemo.QueryGenerator;
6 47444 konstantin
import eu.dnetlib.data.claimsDemo.SQLStoreException;
7 41200 katerina.i
import eu.dnetlib.data.claimsDemo.SearchUtils;
8 41350 argiro.kok
import eu.dnetlib.data.claimsDemo.SqlDAO;
9 47265 katerina.i
import org.apache.log4j.Logger;
10 41200 katerina.i
11 48012 tsampikos.
import java.util.ArrayList;
12 47059 konstantin
import java.util.List;
13
14 41200 katerina.i
/**
15
 * Created by kiatrop on 5/2/2016.
16
 */
17
public class ProjectHandler {
18 41350 argiro.kok
    SearchUtils searchUtils = null;
19 41200 katerina.i
    OafParser oafParser = null;
20 41350 argiro.kok
    SqlDAO sqlDAO = null;
21
    QueryGenerator queryGenerator = null;
22 41200 katerina.i
23 47265 katerina.i
    private static Logger logger = Logger.getLogger(ProjectHandler.class);
24
25 41200 katerina.i
    private String fetchProjectById(String id) throws Exception {
26 41350 argiro.kok
        return searchUtils.fetchProjectXmlFromIndex(id);
27 41200 katerina.i
    }
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 41791 argiro.kok
/*    public String generateSaveQueryForProject(Project project){
37 41621 argiro.kok
        return queryGenerator.generateInsertProjectQuery(project.getOpenaireId(),project.getName(),project.getAcronym(),project.getFunderId(),project.getFunderName(),project.getFunderShortName());
38 41350 argiro.kok
    }
39
    public void saveProject(Project project) throws Exception {
40
        sqlDAO.executePreparedQuery(generateSaveQueryForProject(project));
41 41791 argiro.kok
    }*/
42 41350 argiro.kok
    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 47059 konstantin
65 47444 konstantin
    public void updateTokenByProjectId(String projectId, String newToken) throws SQLStoreException,Exception {
66 48012 tsampikos.
        ArrayList<Object> params = new ArrayList<>();
67
        String query = queryGenerator.generateUpdateTokenByProjectId(projectId, newToken, params);
68
        sqlDAO.executeUpdateQuery(query, params);
69 47059 konstantin
    }
70
71 47444 konstantin
    public void updateContactEmailsByProjectId(String projectId, List<String> contactEmails) throws SQLStoreException,Exception {
72 48012 tsampikos.
        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 47059 konstantin
    }
78 47265 katerina.i
79
    public SqlDAO getSqlDAO() {
80
        return sqlDAO;
81
    }
82
83
    public void setSqlDAO(SqlDAO sqlDAO) {
84
        this.sqlDAO = sqlDAO;
85
    }
86
87
88 41200 katerina.i
}