Skip to content

Commit 9993b1e

Browse files
committed
refactor(CountryValidation): omit COUNTRY_ prefix from the constants.
Fix #1036 No functional changes.
1 parent ac1365f commit 9993b1e

File tree

5 files changed

+29
-31
lines changed

5 files changed

+29
-31
lines changed

src/main/java/ru/mystamps/web/feature/country/AddCountryForm.java

+16-17
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,12 @@
2828
import javax.validation.constraints.Pattern;
2929
import javax.validation.constraints.Size;
3030

31-
import static ru.mystamps.web.feature.country.CountryValidation.COUNTRY_NAME_EN_REGEXP;
32-
import static ru.mystamps.web.feature.country.CountryValidation.COUNTRY_NAME_MAX_LENGTH;
33-
import static ru.mystamps.web.feature.country.CountryValidation.COUNTRY_NAME_MIN_LENGTH;
34-
import static ru.mystamps.web.feature.country.CountryValidation.COUNTRY_NAME_NO_HYPHEN_REGEXP;
35-
// CheckStyle: ignore LineLength for next 1 line
36-
import static ru.mystamps.web.feature.country.CountryValidation.COUNTRY_NAME_NO_REPEATING_HYPHENS_REGEXP;
37-
import static ru.mystamps.web.feature.country.CountryValidation.COUNTRY_NAME_RU_REGEXP;
31+
import static ru.mystamps.web.feature.country.CountryValidation.NAME_EN_REGEXP;
32+
import static ru.mystamps.web.feature.country.CountryValidation.NAME_MAX_LENGTH;
33+
import static ru.mystamps.web.feature.country.CountryValidation.NAME_MIN_LENGTH;
34+
import static ru.mystamps.web.feature.country.CountryValidation.NAME_NO_HYPHEN_REGEXP;
35+
import static ru.mystamps.web.feature.country.CountryValidation.NAME_NO_REPEATING_HYPHENS_REGEXP;
36+
import static ru.mystamps.web.feature.country.CountryValidation.NAME_RU_REGEXP;
3837

3938
@Getter
4039
@Setter
@@ -54,29 +53,29 @@ public class AddCountryForm implements AddCountryDto {
5453
@NotEmpty(groups = Group.Level1.class)
5554
@Size.List({
5655
@Size(
57-
min = COUNTRY_NAME_MIN_LENGTH,
56+
min = NAME_MIN_LENGTH,
5857
message = "{value.too-short}",
5958
groups = Group.Level2.class
6059
),
6160
@Size(
62-
max = COUNTRY_NAME_MAX_LENGTH,
61+
max = NAME_MAX_LENGTH,
6362
message = "{value.too-long}",
6463
groups = Group.Level2.class
6564
)
6665
})
6766
@Pattern.List({
6867
@Pattern(
69-
regexp = COUNTRY_NAME_EN_REGEXP,
68+
regexp = NAME_EN_REGEXP,
7069
message = "{value.invalid-en-chars}",
7170
groups = Group.Level3.class
7271
),
7372
@Pattern(
74-
regexp = COUNTRY_NAME_NO_REPEATING_HYPHENS_REGEXP,
73+
regexp = NAME_NO_REPEATING_HYPHENS_REGEXP,
7574
message = "{value.repeating-hyphen}",
7675
groups = Group.Level4.class
7776
),
7877
@Pattern(
79-
regexp = COUNTRY_NAME_NO_HYPHEN_REGEXP,
78+
regexp = NAME_NO_HYPHEN_REGEXP,
8079
message = "{value.hyphen}",
8180
groups = Group.Level5.class
8281
)
@@ -88,29 +87,29 @@ public class AddCountryForm implements AddCountryDto {
8887

8988
@Size.List({
9089
@Size(
91-
min = COUNTRY_NAME_MIN_LENGTH,
90+
min = NAME_MIN_LENGTH,
9291
message = "{value.too-short}",
9392
groups = Group.Level2.class
9493
),
9594
@Size(
96-
max = COUNTRY_NAME_MAX_LENGTH,
95+
max = NAME_MAX_LENGTH,
9796
message = "{value.too-long}",
9897
groups = Group.Level2.class
9998
)
10099
})
101100
@Pattern.List({
102101
@Pattern(
103-
regexp = COUNTRY_NAME_RU_REGEXP,
102+
regexp = NAME_RU_REGEXP,
104103
message = "{value.invalid-ru-chars}",
105104
groups = Group.Level3.class
106105
),
107106
@Pattern(
108-
regexp = COUNTRY_NAME_NO_REPEATING_HYPHENS_REGEXP,
107+
regexp = NAME_NO_REPEATING_HYPHENS_REGEXP,
109108
message = "{value.repeating-hyphen}",
110109
groups = Group.Level4.class
111110
),
112111
@Pattern(
113-
regexp = COUNTRY_NAME_NO_HYPHEN_REGEXP,
112+
regexp = NAME_NO_HYPHEN_REGEXP,
114113
message = "{value.hyphen}",
115114
groups = Group.Level5.class
116115
)

src/main/java/ru/mystamps/web/feature/country/CountryValidation.java

+6-7
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,16 @@
1919

2020
import ru.mystamps.web.feature.country.CountryDb.Country;
2121

22-
// @todo #927 CountryValidation: remove COUNTRY_ prefix from the constants
2322
@SuppressWarnings("PMD.CommentDefaultAccessModifier")
2423
public final class CountryValidation {
2524

26-
public static final int COUNTRY_NAME_MIN_LENGTH = 3;
27-
public static final int COUNTRY_NAME_MAX_LENGTH = Country.NAME_LENGTH;
28-
public static final String COUNTRY_NAME_EN_REGEXP = "[- a-zA-Z]+";
29-
public static final String COUNTRY_NAME_RU_REGEXP = "[- а-яёА-ЯЁ]+";
30-
static final String COUNTRY_NAME_NO_HYPHEN_REGEXP = "[ \\p{L}]([- \\p{L}]+[ \\p{L}])*";
25+
public static final int NAME_MIN_LENGTH = 3;
26+
public static final int NAME_MAX_LENGTH = Country.NAME_LENGTH;
27+
public static final String NAME_EN_REGEXP = "[- a-zA-Z]+";
28+
public static final String NAME_RU_REGEXP = "[- а-яёА-ЯЁ]+";
29+
static final String NAME_NO_HYPHEN_REGEXP = "[ \\p{L}]([- \\p{L}]+[ \\p{L}])*";
3130
@SuppressWarnings("PMD.LongVariable")
32-
static final String COUNTRY_NAME_NO_REPEATING_HYPHENS_REGEXP = "(?!.+[-]{2,}).+";
31+
static final String NAME_NO_REPEATING_HYPHENS_REGEXP = "(?!.+[-]{2,}).+";
3332

3433
private CountryValidation() {
3534
}

src/main/java/ru/mystamps/web/feature/series/importing/SeriesInfoExtractorServiceImpl.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ public class SeriesInfoExtractorServiceImpl implements SeriesInfoExtractorServic
6767
// CheckStyle: ignore LineLength for next 4 lines
6868
private static final Pattern VALID_CATEGORY_NAME_EN = Pattern.compile(CategoryValidation.CATEGORY_NAME_EN_REGEXP);
6969
private static final Pattern VALID_CATEGORY_NAME_RU = Pattern.compile(CategoryValidation.CATEGORY_NAME_RU_REGEXP);
70-
private static final Pattern VALID_COUNTRY_NAME_EN = Pattern.compile(CountryValidation.COUNTRY_NAME_EN_REGEXP);
71-
private static final Pattern VALID_COUNTRY_NAME_RU = Pattern.compile(CountryValidation.COUNTRY_NAME_RU_REGEXP);
70+
private static final Pattern VALID_COUNTRY_NAME_EN = Pattern.compile(CountryValidation.NAME_EN_REGEXP);
71+
private static final Pattern VALID_COUNTRY_NAME_RU = Pattern.compile(CountryValidation.NAME_RU_REGEXP);
7272

7373
// Max number of candidates that will be used in the SQL query within IN() statement.
7474
private static final long MAX_CANDIDATES_FOR_LOOKUP = 50;
@@ -438,10 +438,10 @@ private static boolean validCategoryName(String name) {
438438
}
439439

440440
private static boolean validCountryName(String name) {
441-
if (name.length() < CountryValidation.COUNTRY_NAME_MIN_LENGTH) {
441+
if (name.length() < CountryValidation.NAME_MIN_LENGTH) {
442442
return false;
443443
}
444-
if (name.length() > CountryValidation.COUNTRY_NAME_MAX_LENGTH) {
444+
if (name.length() > CountryValidation.NAME_MAX_LENGTH) {
445445
return false;
446446
}
447447
return VALID_COUNTRY_NAME_EN.matcher(name).matches()

src/test/groovy/ru/mystamps/web/feature/series/importing/SeriesInfoExtractorServiceImplTest.groovy

+1-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ class SeriesInfoExtractorServiceImplTest extends Specification {
167167
def 'extractCountry() should filter out invalid candidates'() {
168168
given:
169169
String shortName = 'ok'
170-
String longName = 'x' * (CountryValidation.COUNTRY_NAME_MAX_LENGTH + 1)
170+
String longName = 'x' * (CountryValidation.NAME_MAX_LENGTH + 1)
171171
String invalidEnName = 't3st_'
172172
String invalidRuName = 'т_е_с_т'
173173
String validEnName = 'valid'

src/test/java/ru/mystamps/web/tests/Random.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@ public static String categorySlug() {
156156

157157
public static String countryName() {
158158
String name = between(
159-
CountryValidation.COUNTRY_NAME_MIN_LENGTH,
160-
CountryValidation.COUNTRY_NAME_MAX_LENGTH
159+
CountryValidation.NAME_MIN_LENGTH,
160+
CountryValidation.NAME_MAX_LENGTH
161161
)
162162
.with(oneOf(" -"))
163163
.english();

0 commit comments

Comments
 (0)