Project

General

Profile

1
package eu.dnetlib.openaire.user.utils;
2

    
3
import eu.dnetlib.openaire.user.UserVerification;
4
import eu.dnetlib.openaire.user.dao.UserVerificationDAO;
5
import eu.dnetlib.openaire.user.store.DataSourceConnector;
6
import org.apache.log4j.Logger;
7
import org.springframework.beans.factory.annotation.Autowired;
8
import org.springframework.stereotype.Component;
9

    
10
import java.sql.SQLException;
11
import java.sql.Timestamp;
12

    
13
/**
14
 * Created by kiatrop on 2/10/2017.
15
 */
16
@Component(value = "verificationActions")
17
public class VerificationActions {
18

    
19
    @Autowired
20
    private DataSourceConnector dataSourceConnector;
21

    
22
    private Logger logger = Logger.getLogger(VerificationActions.class);
23

    
24
    @Autowired
25
    private UserVerificationDAO userVerificationDAO;
26

    
27
    /**
28
     * Adds new row in the verification table
29
     */
30
    public void addVerificationEntry(String username, String verificationCode, Timestamp date) {
31

    
32
        try {
33
            UserVerification userVerification  = new UserVerification(username);
34
            logger.info("verificationCode: " + verificationCode);
35
            userVerification.setVerificationCode(verificationCode);
36
            userVerification.setDate(date);
37

    
38
            userVerificationDAO.insert(userVerification);
39

    
40
            logger.info("Insert user: " + username);
41

    
42
        } catch (SQLException e) {
43
            e.printStackTrace();
44
            logger.info("Fail to insert user.", e);
45
        }
46
    }
47

    
48
    /**
49
     * Updates the row of verification table with the new date for the given username
50
     */
51
    public void updateVerificationEntry(String username, String verificationCode, Timestamp date) {
52

    
53
        try {
54

    
55
            // Get userId to update user
56
            UserVerification userVerificationOld = userVerificationDAO.fetchByUsername(username);
57
            UserVerification userVerification  = new UserVerification(username);
58
            userVerification.setVerificationCode(verificationCode);
59
            userVerification.setDate(date);
60
            userVerification.setId(userVerificationOld.getId());
61

    
62
            userVerificationDAO.update(userVerification);
63

    
64
            logger.info("Update user: " + username + " with verification code " + verificationCode);
65

    
66
        } catch (SQLException e) {
67
            e.printStackTrace();
68
            logger.info("Fail to update user.", e);
69
        }
70
    }
71

    
72

    
73
    /**
74
     * Checks if the verification row exists for the given username
75
     */
76
    public boolean verificationEntryExists(String username) {
77

    
78
        try {
79
            UserVerification userVerification = userVerificationDAO.fetchByUsername(username);
80

    
81
            if (userVerification == null) {
82
                logger.info("There is no user with username: " + username);
83
                return false;
84
            }
85
            else {
86
                logger.info("User: " + username + " was found!");
87
                return true;
88
            }
89
        } catch (SQLException e) {
90
            e.printStackTrace();
91
            logger.info("Fail to search user.", e);
92
        }
93
        return true;
94
    }
95

    
96
    /**
97
     * Checks if the verification row exists for the given username
98
     */
99
    public boolean verificationEntryExists(String username, String verificationCode) {
100
        
101
            try {
102
                UserVerification userVerification = userVerificationDAO.fetchByUsername(username);
103

    
104
                if (userVerification == null) {
105
                    logger.info("There is no user with username: " + username);
106
                    return false;
107
                }
108
                else {
109
                    logger.info("User: " + username + " was found!");
110

    
111
                    if (userVerification.getVerificationCode() == verificationCode) {
112
                        logger.info("... and verification code: " + verificationCode + " is correct!");
113
                    }
114
                    return true;
115
                }
116
            } catch (SQLException e) {
117
                e.printStackTrace();
118
                logger.info("Fail to search user.", e);
119
            }
120
            return true;
121
    }
122

    
123
    public DataSourceConnector getDataSourceConnector() {
124
        return dataSourceConnector;
125
    }
126

    
127
    public void setDataSourceConnector(DataSourceConnector dataSourceConnector) {
128
        this.dataSourceConnector = dataSourceConnector;
129
    }
130
}
(4-4/4)