Skip to content

Commit c0cd6de

Browse files
committed
Series import: recognize category/country with trailing dot.
Fix #829
1 parent 5d95a73 commit c0cd6de

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ protected List<Integer> extractCategory(String fragment) {
9393

9494
log.debug("Determining category from a fragment: '{}'", fragment);
9595

96-
String[] names = StringUtils.split(fragment, "\n\t ,");
96+
String[] names = StringUtils.split(fragment, "\n\t ,.");
9797
List<String> candidates = Arrays.stream(names)
9898
.filter(SeriesInfoExtractorServiceImpl::validCategoryName)
9999
.distinct()
@@ -131,7 +131,7 @@ protected List<Integer> extractCountry(String fragment) {
131131

132132
log.debug("Determining country from a fragment: '{}'", fragment);
133133

134-
String[] names = StringUtils.split(fragment, "\n\t ,");
134+
String[] names = StringUtils.split(fragment, "\n\t ,.");
135135
List<String> candidates = Arrays.stream(names)
136136
.filter(SeriesInfoExtractorServiceImpl::validCountryName)
137137
.distinct()

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ class SeriesInfoExtractorServiceImplTest extends Specification {
5959

6060
def 'extractCategory() should try to search by category names'() {
6161
given:
62-
String fragment = 'Lorem ipsum dolor\tsit\namet,'
63-
List<String> expectedCandidates = [ 'Lorem', 'ipsum', 'dolor', 'sit', 'amet' ]
62+
String fragment = 'Lorem ipsum dolor\tsit\namet, consectetur.'
63+
List<String> expectedCandidates = [ 'Lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur' ]
6464
and:
6565
List<Integer> expectedResult = Random.listOfIntegers()
6666
when:
@@ -125,8 +125,8 @@ class SeriesInfoExtractorServiceImplTest extends Specification {
125125

126126
def 'extractCountry() should try to search by country names'() {
127127
given:
128-
String fragment = 'Lorem ipsum dolor\tsit\namet,'
129-
List<String> expectedCandidates = [ 'Lorem', 'ipsum', 'dolor', 'sit', 'amet' ]
128+
String fragment = 'Lorem ipsum dolor\tsit\namet, consectetur.'
129+
List<String> expectedCandidates = [ 'Lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur' ]
130130
and:
131131
List<Integer> expectedResult = Random.listOfIntegers()
132132
when:

0 commit comments

Comments
 (0)