Project

General

Profile

1 49194 katerina.i
package eu.dnetlib.openaire.user.utils;
2
3 49251 sofia.balt
import eu.dnetlib.openaire.user.UserVerification;
4
import eu.dnetlib.openaire.user.dao.UserVerificationDAO;
5 49194 katerina.i
import eu.dnetlib.openaire.user.store.DataSourceConnector;
6 49251 sofia.balt
import org.apache.log4j.Logger;
7
import org.springframework.beans.factory.annotation.Autowired;
8
import org.springframework.stereotype.Component;
9 49194 katerina.i
10 49251 sofia.balt
import java.sql.SQLException;
11 49292 sofia.balt
import java.sql.Timestamp;
12 49194 katerina.i
13
/**
14
 * Created by kiatrop on 2/10/2017.
15
 */
16 49251 sofia.balt
@Component(value = "verificationActions")
17 49194 katerina.i
public class VerificationActions {
18
19 49251 sofia.balt
    @Autowired
20 49194 katerina.i
    private DataSourceConnector dataSourceConnector;
21
22 49251 sofia.balt
    private Logger logger = Logger.getLogger(VerificationActions.class);
23
24
    @Autowired
25
    private UserVerificationDAO userVerificationDAO;
26
27 49194 katerina.i
    /**
28
     * Adds new row in the verification table
29
     */
30 49292 sofia.balt
    public void addVerificationEntry(String username, String verificationCode, Timestamp date) {
31 49289 sofia.balt
32
        try {
33
            UserVerification userVerification  = new UserVerification(username);
34
            userVerification.setVerificationCode(verificationCode);
35
            userVerification.setDate(date);
36
37
            userVerificationDAO.insert(userVerification);
38
39
            logger.info("Insert user: " + username);
40
41
        } catch (SQLException e) {
42
            e.printStackTrace();
43
            logger.info("Fail to insert user.", e);
44
        }
45
46 49194 katerina.i
    }
47
48
49
    /**
50
     * Updates the row of verification table with the new date for the given username
51
     */
52 49292 sofia.balt
    public void updateVerificationEntry(String username, String verificationCode, Timestamp date) {
53
54
        try {
55
            UserVerification userVerification  = new UserVerification(username);
56
            userVerification.setVerificationCode(verificationCode);
57
            userVerification.setDate(date);
58
59
            userVerificationDAO.update(userVerification);
60
61
            logger.info("Update user: " + username + " with verification code " + verificationCode);
62
63
        } catch (SQLException e) {
64
            e.printStackTrace();
65
            logger.info("Fail to update user.", e);
66
        }
67 49194 katerina.i
    }
68
69
70
    /**
71
     * Checks if the verification row exists for the given username
72
     */
73
    public boolean verificationEntryExists(String username) {
74 49251 sofia.balt
75
        try {
76
            UserVerification userVerification = userVerificationDAO.fetchByUsername(username);
77 49252 sofia.balt
78 49289 sofia.balt
            if (userVerification == null) {
79
                logger.info("There is no user with username: " + username);
80
                return false;
81
            }
82
            else {
83 49292 sofia.balt
                logger.info("User: " + username + " was found!");
84 49289 sofia.balt
                return true;
85
            }
86 49251 sofia.balt
        } catch (SQLException e) {
87
            e.printStackTrace();
88 49289 sofia.balt
            logger.info("Fail to search user.", e);
89 49251 sofia.balt
        }
90
91 49252 sofia.balt
        return true;
92 49194 katerina.i
        //TODO
93
        //return false;
94 49252 sofia.balt
        //throw new UnsupportedOperationException();
95 49194 katerina.i
    }
96
97
    /**
98
     * Checks if the verification row exists for the given username
99
     */
100
    public boolean verificationEntryExists(String username, String verificationCode) {
101
        //TODO
102
        //return false;
103
        throw new UnsupportedOperationException();
104
    }
105
106
    public DataSourceConnector getDataSourceConnector() {
107
        return dataSourceConnector;
108
    }
109
110
    public void setDataSourceConnector(DataSourceConnector dataSourceConnector) {
111
        this.dataSourceConnector = dataSourceConnector;
112
    }
113
}