Skip to content

Commit c6872b9

Browse files
committed
CategoryService.findIdsByNames(): change argument type.
Follow-up to 1c0d64f commit. No functional changes.
1 parent 1fb1a78 commit c6872b9

File tree

8 files changed

+19
-16
lines changed

8 files changed

+19
-16
lines changed

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import java.util.Date;
2121
import java.util.List;
22-
import java.util.Set;
2322

2423
import ru.mystamps.web.dao.dto.AddCategoryDbDto;
2524
import ru.mystamps.web.dao.dto.EntityWithParentDto;
@@ -36,7 +35,7 @@ public interface CategoryDao {
3635
long countAddedSince(Date date);
3736
long countUntranslatedNamesSince(Date date);
3837
List<Object[]> getStatisticsOf(Integer collectionId, String lang);
39-
List<Integer> findIdsByNames(Set<String> names);
38+
List<Integer> findIdsByNames(List<String> names);
4039
List<Integer> findIdsByNamePattern(String pattern);
4140
List<LinkEntityDto> findAllAsLinkEntities(String lang);
4241
LinkEntityDto findOneAsLinkEntity(String slug, String lang);

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.HashMap;
2323
import java.util.List;
2424
import java.util.Map;
25-
import java.util.Set;
2625

2726
import org.apache.commons.lang3.Validate;
2827

@@ -190,7 +189,7 @@ public List<Object[]> getStatisticsOf(Integer collectionId, String lang) {
190189
}
191190

192191
@Override
193-
public List<Integer> findIdsByNames(Set<String> names) {
192+
public List<Integer> findIdsByNames(List<String> names) {
194193
return jdbcTemplate.query(
195194
findIdsByNamesSql,
196195
Collections.singletonMap("names", names),

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
import java.util.Date;
2121
import java.util.List;
22-
import java.util.Set;
2322

2423
import ru.mystamps.web.dao.dto.EntityWithParentDto;
2524
import ru.mystamps.web.dao.dto.LinkEntityDto;
@@ -28,7 +27,7 @@
2827
@SuppressWarnings("PMD.TooManyMethods")
2928
public interface CategoryService {
3029
String add(AddCategoryDto dto, Integer userId);
31-
List<Integer> findIdsByNames(Set<String> names);
30+
List<Integer> findIdsByNames(List<String> names);
3231
List<Integer> findIdsWhenNameStartsWith(String name);
3332
List<LinkEntityDto> findAllAsLinkEntities(String lang);
3433
List<EntityWithParentDto> findCategoriesWithParents(String lang);

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import java.util.Date;
2222
import java.util.List;
2323
import java.util.Locale;
24-
import java.util.Set;
2524

2625
import org.apache.commons.lang3.StringUtils;
2726
import org.apache.commons.lang3.Validate;
@@ -84,7 +83,7 @@ public String add(AddCategoryDto dto, Integer userId) {
8483

8584
@Override
8685
@Transactional(readOnly = true)
87-
public List<Integer> findIdsByNames(Set<String> names) {
86+
public List<Integer> findIdsByNames(List<String> names) {
8887
if (names == null || names.isEmpty()) {
8988
return Collections.emptyList();
9089
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,9 @@ protected List<Integer> extractCategory(String fragment) {
8383
log.debug("Determining category from a fragment: '{}'", fragment);
8484

8585
String[] candidates = StringUtils.split(fragment, "\n\t ,");
86-
Set<String> uniqueCandidates = Arrays.stream(candidates)
86+
List<String> uniqueCandidates = Arrays.stream(candidates)
8787
.distinct()
88-
.collect(Collectors.toSet());
88+
.collect(Collectors.toList());
8989

9090
log.debug("Possible candidates: {}", uniqueCandidates);
9191

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,14 +147,14 @@ class CategoryServiceImplTest extends Specification {
147147

148148
def 'findIdsByNames() should return empty result when no names are specified'() {
149149
given:
150-
Set<String> names = nullOr(Collections.emptySet())
150+
List<String> names = nullOr(Collections.emptyList())
151151
expect:
152152
service.findIdsByNames(names) == []
153153
}
154154

155155
def 'findIdsByNames() should invoke dao, pass argument and return result from dao'() {
156156
given:
157-
Set<String> expectedNames = Random.setOfStrings()
157+
List<String> expectedNames = Random.listOfStrings()
158158
List<Integer> expectedResult = Random.listOfIntegers()
159159
when:
160160
List<Integer> result = service.findIdsByNames(expectedNames)

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class SeriesInfoExtractorServiceImplTest extends Specification {
6060
def 'extractCategory() should try to search by category names'() {
6161
given:
6262
String fragment = 'Lorem ipsum dolor\tsit\namet,'
63-
Set<String> expectedCandidates = [ 'Lorem', 'ipsum', 'dolor', 'sit', 'amet' ]
63+
List<String> expectedCandidates = [ 'Lorem', 'ipsum', 'dolor', 'sit', 'amet' ]
6464
and:
6565
List<Integer> expectedResult = Random.listOfIntegers()
6666
when:
@@ -74,7 +74,7 @@ class SeriesInfoExtractorServiceImplTest extends Specification {
7474
def 'extractCategory() should deduplicate candidates'() {
7575
given:
7676
String fragment = 'foo bar foo'
77-
Set<String> expectedCandidates = [ 'foo', 'bar' ]
77+
List<String> expectedCandidates = [ 'foo', 'bar' ]
7878
when:
7979
service.extractCategory(fragment)
8080
then:
@@ -88,7 +88,7 @@ class SeriesInfoExtractorServiceImplTest extends Specification {
8888
List<Integer> result = service.extractCategory('foo1 foo2')
8989
then:
9090
// in order to search by prefix, we shouldn't find anything by name
91-
1 * categoryService.findIdsByNames(_ as Set<String>) >> Collections.emptyList()
91+
1 * categoryService.findIdsByNames(_ as List<String>) >> Collections.emptyList()
9292
and:
9393
// the first lookup will find nothing
9494
1 * categoryService.findIdsWhenNameStartsWith('foo1') >> Collections.emptyList()
@@ -103,7 +103,7 @@ class SeriesInfoExtractorServiceImplTest extends Specification {
103103
when:
104104
List<Integer> result = service.extractCategory('foo')
105105
then:
106-
1 * categoryService.findIdsByNames(_ as Set<String>) >> Collections.emptyList()
106+
1 * categoryService.findIdsByNames(_ as List<String>) >> Collections.emptyList()
107107
and:
108108
1 * categoryService.findIdsWhenNameStartsWith(_ as String) >> Collections.emptyList()
109109
and:

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,13 @@ public static String catalogNumber() {
177177
return String.valueOf(between(1, maxCatalogNumber).integer());
178178
}
179179

180+
public static List<String> listOfStrings() {
181+
final int minSize = 1;
182+
final int maxSize = 3;
183+
int size = integer(minSize, maxSize);
184+
return sampleMultiple(size, "foo", "bar", "baz");
185+
}
186+
180187
public static Set<String> setOfStrings() {
181188
final int minSize = 1;
182189
final int maxSize = 3;

0 commit comments

Comments
 (0)