Skip to content

Commit 38b85cb

Browse files
committed
SeriesImportController: reduce duplication by using existing methods from SeriesController.
Fix #717 No functional changes.
1 parent aa3fb57 commit 38b85cb

File tree

3 files changed

+11
-36
lines changed

3 files changed

+11
-36
lines changed

src/main/java/ru/mystamps/web/config/ControllersConfig.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,9 @@ public SeriesController getSeriesController() {
114114
@Bean
115115
public SeriesImportController getSeriesImportController() {
116116
return new SeriesImportController(
117-
servicesConfig.getCategoryService(),
118-
servicesConfig.getCountryService(),
119117
servicesConfig.getSeriesService(),
120118
servicesConfig.getSeriesImportService(),
119+
getSeriesController(),
121120
eventPublisher
122121
);
123122
}

src/main/java/ru/mystamps/web/controller/SeriesController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ public String searchSeriesByCatalog(
479479
return "series/search_result";
480480
}
481481

482-
private void addCategoriesToModel(Model model, String lang) {
482+
protected void addCategoriesToModel(Model model, String lang) {
483483
List<CategoryDto> categories = categoryService.findCategoriesWithParents(lang);
484484

485485
List<FirstLevelCategoryDto> groupedCategories =
@@ -488,12 +488,12 @@ private void addCategoriesToModel(Model model, String lang) {
488488
model.addAttribute("categories", groupedCategories);
489489
}
490490

491-
private void addCountriesToModel(Model model, String lang) {
491+
protected void addCountriesToModel(Model model, String lang) {
492492
List<LinkEntityDto> countries = countryService.findAllAsLinkEntities(lang);
493493
model.addAttribute("countries", countries);
494494
}
495495

496-
private void addYearToModel(Model model) {
496+
protected void addYearToModel(Model model) {
497497
model.addAttribute("years", YEARS);
498498
}
499499

src/main/java/ru/mystamps/web/controller/SeriesImportController.java

Lines changed: 7 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
package ru.mystamps.web.controller;
1919

2020
import java.io.IOException;
21-
import java.util.List;
2221
import java.util.Locale;
2322

2423
import javax.servlet.http.HttpServletResponse;
@@ -39,19 +38,13 @@
3938

4039
import ru.mystamps.web.Url;
4140
import ru.mystamps.web.controller.converter.annotation.CurrentUser;
42-
import ru.mystamps.web.controller.dto.FirstLevelCategoryDto;
4341
import ru.mystamps.web.controller.dto.ImportSeriesForm;
4442
import ru.mystamps.web.controller.dto.RequestImportForm;
4543
import ru.mystamps.web.controller.event.ImportRequestCreated;
46-
import ru.mystamps.web.dao.dto.CategoryDto;
4744
import ru.mystamps.web.dao.dto.ImportRequestDto;
48-
import ru.mystamps.web.dao.dto.LinkEntityDto;
4945
import ru.mystamps.web.dao.dto.ParsedDataDto;
50-
import ru.mystamps.web.service.CategoryService;
51-
import ru.mystamps.web.service.CountryService;
5246
import ru.mystamps.web.service.SeriesImportService;
5347
import ru.mystamps.web.service.SeriesService;
54-
import ru.mystamps.web.support.thymeleaf.GroupByParent;
5548
import ru.mystamps.web.util.LocaleUtils;
5649

5750
import static ru.mystamps.web.controller.ControllerUtils.redirectTo;
@@ -60,10 +53,9 @@
6053
@RequiredArgsConstructor
6154
public class SeriesImportController {
6255

63-
private final CategoryService categoryService;
64-
private final CountryService countryService;
6556
private final SeriesService seriesService;
6657
private final SeriesImportService seriesImportService;
58+
private final SeriesController seriesController;
6759
private final ApplicationEventPublisher eventPublisher;
6860

6961
@InitBinder("requestImportForm")
@@ -142,18 +134,9 @@ public String showRequestAndImportSeriesForm(
142134
model.addAttribute("importSeriesForm", form);
143135
model.addAttribute("showForm", hasParsedData);
144136

145-
// @todo #709 SeriesImportController.showRequestAndImportSeriesForm():
146-
// extract a method for adding shared attributes to the model
147-
List<CategoryDto> categories =
148-
categoryService.findCategoriesWithParents(lang);
149-
List<FirstLevelCategoryDto> groupedCategories =
150-
GroupByParent.transformCategories(categories);
151-
model.addAttribute("categories", groupedCategories);
152-
153-
List<LinkEntityDto> countries = countryService.findAllAsLinkEntities(lang);
154-
model.addAttribute("countries", countries);
155-
156-
model.addAttribute("years", SeriesController.YEARS);
137+
seriesController.addCategoriesToModel(model, lang);
138+
seriesController.addCountriesToModel(model, lang);
139+
seriesController.addYearToModel(model);
157140

158141
return "series/import/info";
159142
}
@@ -191,17 +174,10 @@ public String processImportSeriesForm(
191174
boolean hasParsedData = parsedData != null;
192175
model.addAttribute("showForm", hasParsedData);
193176

194-
List<CategoryDto> categories =
195-
categoryService.findCategoriesWithParents(lang);
196-
List<FirstLevelCategoryDto> groupedCategories =
197-
GroupByParent.transformCategories(categories);
198-
model.addAttribute("categories", groupedCategories);
177+
seriesController.addCategoriesToModel(model, lang);
178+
seriesController.addCountriesToModel(model, lang);
179+
seriesController.addYearToModel(model);
199180

200-
List<LinkEntityDto> countries = countryService.findAllAsLinkEntities(lang);
201-
model.addAttribute("countries", countries);
202-
203-
model.addAttribute("years", SeriesController.YEARS);
204-
205181
if (result.hasErrors()) {
206182
return "series/import/info";
207183
}

0 commit comments

Comments
 (0)