Skip to content

Commit 1a9f38f

Browse files
committed
JdbcUsersActivationDao.add(): change argument from UsersActivation to AddUsersActivationDbDto.
Addressed to #120 No functional changes.
1 parent 1347f56 commit 1a9f38f

File tree

7 files changed

+58
-16
lines changed

7 files changed

+58
-16
lines changed

src/main/java/ru/mystamps/web/dao/JdbcUsersActivationDao.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717
*/
1818
package ru.mystamps.web.dao;
1919

20+
import ru.mystamps.web.dao.dto.AddUsersActivationDbDto;
2021
import ru.mystamps.web.entity.UsersActivation;
2122

2223
public interface JdbcUsersActivationDao {
2324
long countByActivationKey(String activationKey);
2425
void removeByActivationKey(String activationKey);
25-
void add(UsersActivation activation);
26+
void add(AddUsersActivationDbDto activation);
2627
UsersActivation findByActivationKey(String activationKey);
2728
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* Copyright (C) 2009-2015 Slava Semushin <[email protected]>
3+
*
4+
* This program is free software; you can redistribute it and/or modify
5+
* it under the terms of the GNU General Public License as published by
6+
* the Free Software Foundation; either version 2 of the License, or
7+
* (at your option) any later version.
8+
*
9+
* This program is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
* GNU General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU General Public License
15+
* along with this program; if not, write to the Free Software
16+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17+
*/
18+
package ru.mystamps.web.dao.dto;
19+
20+
import java.util.Date;
21+
import java.util.Locale;
22+
23+
import lombok.Getter;
24+
import lombok.Setter;
25+
26+
@Getter
27+
@Setter
28+
public class AddUsersActivationDbDto {
29+
private String activationKey;
30+
private String email;
31+
private String lang;
32+
private Date createdAt;
33+
34+
public Locale getLocale() {
35+
return new Locale(lang);
36+
}
37+
38+
}

src/main/java/ru/mystamps/web/dao/impl/JdbcUsersActivationDaoImpl.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import lombok.RequiredArgsConstructor;
3030

3131
import ru.mystamps.web.dao.JdbcUsersActivationDao;
32+
import ru.mystamps.web.dao.dto.AddUsersActivationDbDto;
3233
import ru.mystamps.web.entity.UsersActivation;
3334

3435
@SuppressWarnings("PMD.AvoidDuplicateLiterals")
@@ -83,7 +84,7 @@ public void removeByActivationKey(String activationKey) {
8384
}
8485

8586
@Override
86-
public void add(UsersActivation activation) {
87+
public void add(AddUsersActivationDbDto activation) {
8788
Map<String, Object> params = new HashMap<>();
8889
params.put("activation_key", activation.getActivationKey());
8990
params.put("email", activation.getEmail());

src/main/java/ru/mystamps/web/service/MailService.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
*/
1818
package ru.mystamps.web.service;
1919

20-
import ru.mystamps.web.entity.UsersActivation;
20+
import ru.mystamps.web.dao.dto.AddUsersActivationDbDto;
2121

2222
public interface MailService {
23-
void sendActivationKeyToUser(UsersActivation activation);
23+
void sendActivationKeyToUser(AddUsersActivationDbDto activation);
2424
}

src/main/java/ru/mystamps/web/service/MailServiceImpl.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
import lombok.RequiredArgsConstructor;
3939

4040
import ru.mystamps.web.Url;
41-
import ru.mystamps.web.entity.UsersActivation;
41+
import ru.mystamps.web.dao.dto.AddUsersActivationDbDto;
4242
import ru.mystamps.web.service.exception.EmailSendingException;
4343

4444
@RequiredArgsConstructor
@@ -52,7 +52,7 @@ public class MailServiceImpl implements MailService {
5252

5353
@Override
5454
@Async
55-
public void sendActivationKeyToUser(UsersActivation activation) {
55+
public void sendActivationKeyToUser(AddUsersActivationDbDto activation) {
5656
Validate.isTrue(activation != null, "Activation must be non null");
5757
Validate.isTrue(activation.getEmail() != null, "E-mail must be non null");
5858
Validate.isTrue(activation.getLang() != null, "Language must be non null");
@@ -105,7 +105,7 @@ public void prepare(MimeMessage mimeMessage) throws Exception {
105105
}
106106
}
107107

108-
private String getTextOfActivationMail(UsersActivation activation) {
108+
private String getTextOfActivationMail(AddUsersActivationDbDto activation) {
109109
String template = messageSource.getMessage("activation.text", null, activation.getLocale());
110110

111111
String activationUrl =
@@ -120,7 +120,7 @@ private String getTextOfActivationMail(UsersActivation activation) {
120120
return substitutor.replace(template);
121121
}
122122

123-
private String getSubjectOfActivationMail(UsersActivation activation) {
123+
private String getSubjectOfActivationMail(AddUsersActivationDbDto activation) {
124124
return messageSource.getMessage("activation.subject", null, activation.getLocale());
125125
}
126126

src/main/java/ru/mystamps/web/service/UsersActivationServiceImpl.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import lombok.RequiredArgsConstructor;
3232

3333
import ru.mystamps.web.dao.JdbcUsersActivationDao;
34+
import ru.mystamps.web.dao.dto.AddUsersActivationDbDto;
3435
import ru.mystamps.web.entity.UsersActivation;
3536
import ru.mystamps.web.service.dto.RegisterAccountDto;
3637
import ru.mystamps.web.support.togglz.Features;
@@ -49,7 +50,7 @@ public void add(RegisterAccountDto dto, Locale lang) {
4950
Validate.isTrue(dto != null, "DTO should be non null");
5051
Validate.isTrue(dto.getEmail() != null, "Email should be non null");
5152

52-
UsersActivation activation = new UsersActivation();
53+
AddUsersActivationDbDto activation = new AddUsersActivationDbDto();
5354

5455
activation.setActivationKey(generateActivationKey());
5556
activation.setEmail(dto.getEmail());

src/test/groovy/ru/mystamps/web/service/UsersActivationServiceImplTest.groovy

+8-7
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import spock.lang.Specification
2121
import spock.lang.Unroll
2222

2323
import ru.mystamps.web.dao.JdbcUsersActivationDao
24+
import ru.mystamps.web.dao.dto.AddUsersActivationDbDto
2425
import ru.mystamps.web.entity.UsersActivation
2526
import ru.mystamps.web.model.RegisterAccountForm
2627
import ru.mystamps.web.tests.DateUtils
@@ -57,14 +58,14 @@ class UsersActivationServiceImplTest extends Specification {
5758
when:
5859
service.add(registrationForm, ANY_LOCALE)
5960
then:
60-
1 * usersActivationDao.add(_ as UsersActivation)
61+
1 * usersActivationDao.add(_ as AddUsersActivationDbDto)
6162
}
6263

6364
def "add() should generate activation key"() {
6465
when:
6566
service.add(registrationForm, ANY_LOCALE)
6667
then:
67-
1 * usersActivationDao.add({ UsersActivation activation ->
68+
1 * usersActivationDao.add({ AddUsersActivationDbDto activation ->
6869
assert activation?.activationKey?.length() == UsersActivation.ACTIVATION_KEY_LENGTH
6970
assert activation?.activationKey ==~ /^[\p{Lower}\p{Digit}]+$/
7071
return true
@@ -78,7 +79,7 @@ class UsersActivationServiceImplTest extends Specification {
7879
service.add(registrationForm, ANY_LOCALE)
7980
service.add(registrationForm, ANY_LOCALE)
8081
then:
81-
2 * usersActivationDao.add({ UsersActivation activation ->
82+
2 * usersActivationDao.add({ AddUsersActivationDbDto activation ->
8283
passedArguments.add(activation?.activationKey)
8384
return true
8485
})
@@ -110,7 +111,7 @@ class UsersActivationServiceImplTest extends Specification {
110111
when:
111112
service.add(registrationForm, ANY_LOCALE)
112113
then:
113-
1 * usersActivationDao.add({ UsersActivation activation ->
114+
1 * usersActivationDao.add({ AddUsersActivationDbDto activation ->
114115
assert activation?.email == expectedEmail
115116
return true
116117
})
@@ -121,7 +122,7 @@ class UsersActivationServiceImplTest extends Specification {
121122
when:
122123
service.add(registrationForm, lang)
123124
then:
124-
1 * usersActivationDao.add({ UsersActivation activation ->
125+
1 * usersActivationDao.add({ AddUsersActivationDbDto activation ->
125126
assert activation?.lang == expectedLang
126127
return true
127128
})
@@ -135,7 +136,7 @@ class UsersActivationServiceImplTest extends Specification {
135136
when:
136137
service.add(registrationForm, ANY_LOCALE)
137138
then:
138-
1 * usersActivationDao.add({ UsersActivation activation ->
139+
1 * usersActivationDao.add({ AddUsersActivationDbDto activation ->
139140
assert DateUtils.roughlyEqual(activation?.createdAt, new Date())
140141
return true
141142
})
@@ -145,7 +146,7 @@ class UsersActivationServiceImplTest extends Specification {
145146
when:
146147
service.add(registrationForm, Locale.FRANCE)
147148
then:
148-
1 * mailService.sendActivationKeyToUser({ UsersActivation activation ->
149+
1 * mailService.sendActivationKeyToUser({ AddUsersActivationDbDto activation ->
149150
assert activation != null
150151
assert activation.activationKey != null
151152
assert activation.email == registrationForm.email

0 commit comments

Comments
 (0)