Skip to content

Commit 1bd2fa8

Browse files
committed
SeriesServiceImpl: simplify code.
No functional changes.
1 parent 96eefce commit 1bd2fa8

File tree

1 file changed

+13
-35
lines changed

1 file changed

+13
-35
lines changed

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

+13-35
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import ru.mystamps.web.entity.Price;
3939
import ru.mystamps.web.entity.ScottCatalog;
4040
import ru.mystamps.web.entity.Series;
41+
import ru.mystamps.web.entity.StampsCatalog;
4142
import ru.mystamps.web.entity.User;
4243
import ru.mystamps.web.entity.YvertCatalog;
4344
import ru.mystamps.web.service.dto.AddSeriesDto;
@@ -69,23 +70,23 @@ public Series add(AddSeriesDto dto, User user, boolean userCanAddComments) {
6970
if (dto.getCountry() != null) {
7071
series.setCountry(dto.getCountry());
7172
}
72-
73+
7374
setDateOfReleaseIfProvided(dto, series);
74-
75+
7576
series.setCategory(dto.getCategory());
7677
series.setQuantity(dto.getQuantity());
7778
series.setPerforated(dto.getPerforated());
7879

79-
setMichelNumbersIfProvided(dto, series);
80+
series.setMichel(getCatalogNumbersOrNull(dto.getMichelNumbers(), MichelCatalog.class));
8081
series.setMichelPrice(Price.valueOf(dto.getMichelPrice(), dto.getMichelCurrency()));
8182

82-
setScottNumbersIfProvided(dto, series);
83+
series.setScott(getCatalogNumbersOrNull(dto.getScottNumbers(), ScottCatalog.class));
8384
series.setScottPrice(Price.valueOf(dto.getScottPrice(), dto.getScottCurrency()));
8485

85-
setYvertNumbersIfProvided(dto, series);
86+
series.setYvert(getCatalogNumbersOrNull(dto.getYvertNumbers(), YvertCatalog.class));
8687
series.setYvertPrice(Price.valueOf(dto.getYvertPrice(), dto.getYvertCurrency()));
8788

88-
setGibbonsNumbersIfProvided(dto, series);
89+
series.setGibbons(getCatalogNumbersOrNull(dto.getGibbonsNumbers(), GibbonsCatalog.class));
8990
series.setGibbonsPrice(Price.valueOf(dto.getGibbonsPrice(), dto.getGibbonsCurrency()));
9091

9192
String imageUrl = imageService.save(dto.getImage());
@@ -196,36 +197,13 @@ private static void setDateOfReleaseIfProvided(AddSeriesDto dto, Series series)
196197
series.setReleaseDay(dto.getDay()); // even if day is null it won't change anything
197198
}
198199

199-
private static void setMichelNumbersIfProvided(AddSeriesDto dto, Series series) {
200-
Set<MichelCatalog> michelNumbers =
201-
CatalogUtils.fromString(dto.getMichelNumbers(), MichelCatalog.class);
202-
if (!michelNumbers.isEmpty()) {
203-
series.setMichel(michelNumbers);
204-
}
205-
}
206-
207-
private static void setScottNumbersIfProvided(AddSeriesDto dto, Series series) {
208-
Set<ScottCatalog> scottNumbers =
209-
CatalogUtils.fromString(dto.getScottNumbers(), ScottCatalog.class);
210-
if (!scottNumbers.isEmpty()) {
211-
series.setScott(scottNumbers);
212-
}
213-
}
214-
215-
private static void setYvertNumbersIfProvided(AddSeriesDto dto, Series series) {
216-
Set<YvertCatalog> yvertNumbers =
217-
CatalogUtils.fromString(dto.getYvertNumbers(), YvertCatalog.class);
218-
if (!yvertNumbers.isEmpty()) {
219-
series.setYvert(yvertNumbers);
220-
}
221-
}
222-
223-
private static void setGibbonsNumbersIfProvided(AddSeriesDto dto, Series series) {
224-
Set<GibbonsCatalog> gibbonsNumbers =
225-
CatalogUtils.fromString(dto.getGibbonsNumbers(), GibbonsCatalog.class);
226-
if (!gibbonsNumbers.isEmpty()) {
227-
series.setGibbons(gibbonsNumbers);
200+
private static <T extends StampsCatalog> Set<T> getCatalogNumbersOrNull(String catalogNumbers, Class<T> clazz) {
201+
Set<T> result = CatalogUtils.fromString(catalogNumbers, clazz);
202+
if (result.isEmpty()) {
203+
return null;
228204
}
205+
206+
return result;
229207
}
230208

231209
}

0 commit comments

Comments
 (0)