Skip to content

Commit 029ea8a

Browse files
committed
Jdbc{Category,Country}DaoImpl: simplify code by adding row mapper for SelectEntityDto.
No functional changes.
1 parent 0298f41 commit 029ea8a

File tree

3 files changed

+15
-24
lines changed

3 files changed

+15
-24
lines changed

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

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

2020
import java.util.Collections;
2121
import java.util.HashMap;
22-
import java.util.LinkedList;
2322
import java.util.List;
2423
import java.util.Map;
2524

@@ -116,21 +115,12 @@ public Map<String, Integer> getStatisticsOf(Integer collectionId, String lang) {
116115
}
117116

118117
@Override
119-
@SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops")
120118
public Iterable<SelectEntityDto> findAllAsSelectEntries(String lang) {
121-
// TODO: find a better way of extracting results
122-
List<Pair<String, Integer>> rawResult = jdbcTemplate.query(
119+
return jdbcTemplate.query(
123120
findCategoriesNamesWithIdsSql,
124121
Collections.singletonMap("lang", lang),
125-
RowMappers.forNameAndId()
122+
RowMappers::forSelectEntityDto
126123
);
127-
128-
List<SelectEntityDto> result = new LinkedList<>();
129-
for (Pair<String, Integer> pair : rawResult) {
130-
result.add(new SelectEntityDto(pair.getSecond(), pair.getFirst()));
131-
}
132-
133-
return result;
134124
}
135125

136126
@Override

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

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

2020
import java.util.Collections;
2121
import java.util.HashMap;
22-
import java.util.LinkedList;
2322
import java.util.List;
2423
import java.util.Map;
2524

@@ -116,21 +115,12 @@ public Map<String, Integer> getStatisticsOf(Integer collectionId, String lang) {
116115
}
117116

118117
@Override
119-
@SuppressWarnings("PMD.AvoidInstantiatingObjectsInLoops")
120118
public Iterable<SelectEntityDto> findAllAsSelectEntries(String lang) {
121-
// TODO: find a better way of extracting results
122-
List<Pair<String, Integer>> rawResult = jdbcTemplate.query(
119+
return jdbcTemplate.query(
123120
findCountriesNamesWithIdsSql,
124121
Collections.singletonMap("lang", lang),
125-
RowMappers.forNameAndId()
122+
RowMappers::forSelectEntityDto
126123
);
127-
128-
List<SelectEntityDto> result = new LinkedList<>();
129-
for (Pair<String, Integer> pair : rawResult) {
130-
result.add(new SelectEntityDto(pair.getSecond(), pair.getFirst()));
131-
}
132-
133-
return result;
134124
}
135125

136126
@Override

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,14 @@
1717
*/
1818
package ru.mystamps.web.dao.impl;
1919

20+
import java.sql.ResultSet;
21+
import java.sql.SQLException;
22+
2023
import org.springframework.jdbc.core.RowMapper;
2124

2225
import ru.mystamps.web.entity.UsersActivation;
2326
import ru.mystamps.web.service.dto.LinkEntityDto;
27+
import ru.mystamps.web.service.dto.SelectEntityDto;
2428
import ru.mystamps.web.service.dto.SeriesInfoDto;
2529
import ru.mystamps.web.service.dto.SitemapInfoDto;
2630

@@ -63,6 +67,13 @@ public static RowMapper<SitemapInfoDto> forSitemapInfoDto() {
6367
return SITEMAP_INFO_DTO_ROW_MAPPER;
6468
}
6569

70+
public static SelectEntityDto forSelectEntityDto(ResultSet rs, int i) throws SQLException {
71+
return new SelectEntityDto(
72+
rs.getInt("id"),
73+
rs.getString("name")
74+
);
75+
}
76+
6677
public static RowMapper<SeriesInfoDto> forSeriesInfoDto() {
6778
return SERIES_INFO_DTO_ROW_MAPPER;
6879
}

0 commit comments

Comments
 (0)