From d3496924c9dff8634dfdb26836575b4b6e63170d Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 20 Feb 2022 11:17:19 +0100 Subject: [PATCH] sort templates in template groups naturally --- .../templategroup/TemplateGroupService.java | 11 +++++++++-- .../budgetmaster/unit/TemplateGroupServiceTest.java | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/deadlocker8/budgetmaster/templategroup/TemplateGroupService.java b/src/main/java/de/deadlocker8/budgetmaster/templategroup/TemplateGroupService.java index df9db5a2e..951f99884 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/templategroup/TemplateGroupService.java +++ b/src/main/java/de/deadlocker8/budgetmaster/templategroup/TemplateGroupService.java @@ -118,11 +118,18 @@ public class TemplateGroupService implements Resettable, AccessAllEntities<Templ for(TemplateGroup templateGroup : templateGroups) { - templatesGrouped.put(templateGroup, templateGroup.getReferringTemplates()); + templatesGrouped.put(templateGroup, getReferringTemplatesSorted(templateGroup)); } - templatesGrouped.put(defaultGroup, defaultGroup.getReferringTemplates()); + templatesGrouped.put(defaultGroup, getReferringTemplatesSorted(defaultGroup)); return templatesGrouped; } + + private List<Template> getReferringTemplatesSorted(TemplateGroup templateGroup) + { + final List<Template> referringTemplates = new ArrayList<>(templateGroup.getReferringTemplates()); + referringTemplates.sort((t1, t2) -> new NaturalOrderComparator().compare(t1.getTemplateName(), t2.getTemplateName())); + return referringTemplates; + } } diff --git a/src/test/java/de/deadlocker8/budgetmaster/unit/TemplateGroupServiceTest.java b/src/test/java/de/deadlocker8/budgetmaster/unit/TemplateGroupServiceTest.java index 7329a7355..7d6abb5f9 100644 --- a/src/test/java/de/deadlocker8/budgetmaster/unit/TemplateGroupServiceTest.java +++ b/src/test/java/de/deadlocker8/budgetmaster/unit/TemplateGroupServiceTest.java @@ -74,7 +74,7 @@ class TemplateGroupServiceTest final Map<TemplateGroup, List<Template>> templatesGrouped = templateGroupService.getTemplatesByGroupedByTemplateGroup(); assertThat(templatesGrouped).hasSize(3) - .containsExactly(entry(templateGroup1, List.of(template1, template4)), + .containsExactly(entry(templateGroup1, List.of(template4, template1)), entry(templateGroup2, List.of(template3)), entry(templateGroupDefault, List.of(template2))); } -- GitLab